From 30e0bebcb19486a363e42af072f271ee36248e70 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Sep 2024 04:59:31 +0000 Subject: [PATCH 001/151] Update dependency com.google.accompanist:accompanist-permissions to v0.36.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index dac2dea103..4b82fe5dda 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -31,7 +31,7 @@ composecompiler = "1.5.15" coroutines = "1.8.1" # Accompanist -accompanist = "0.34.0" +accompanist = "0.36.0" # Test test_core = "1.6.1" From 88189647f7c6332bf888d53cb1686b63e40741bc Mon Sep 17 00:00:00 2001 From: Joe Groocock Date: Wed, 28 Aug 2024 13:03:19 +0000 Subject: [PATCH 002/151] Remove redundant dependency-analysis autoapply option Fixes the warning: > Configure project : dependency.analysis.autoapply is set to false, but this is now the only behavior, and the flag has no effect. You should remove it from your build scripts. Signed-off-by: Joe Groocock --- gradle.properties | 3 --- 1 file changed, 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1e150e2eeb..e787539483 100644 --- a/gradle.properties +++ b/gradle.properties @@ -46,6 +46,3 @@ android.experimental.enableTestFixtures=true # Create BuildConfig files as bytecode to avoid Java compilation phase android.enableBuildConfigAsBytecode=true - -# By default, the plugin applies itself to all subprojects, but we don't want that as it would cause issues with builds using local AARs -dependency.analysis.autoapply=false From bac14dd019638233f84c653e58ee6654ba949202 Mon Sep 17 00:00:00 2001 From: Joe Groocock Date: Wed, 28 Aug 2024 13:06:36 +0000 Subject: [PATCH 003/151] Fix deprecation warning in KoverExtension > Task :plugins:compileKotlin w: file:///.../plugins/src/main/kotlin/extension/KoverExtension.kt:70:109 'capitalized(): String' is deprecated. This was never intended as a public API. Signed-off-by: Joe Groocock --- plugins/src/main/kotlin/extension/KoverExtension.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/src/main/kotlin/extension/KoverExtension.kt b/plugins/src/main/kotlin/extension/KoverExtension.kt index cac5cec137..ba84fe37c2 100644 --- a/plugins/src/main/kotlin/extension/KoverExtension.kt +++ b/plugins/src/main/kotlin/extension/KoverExtension.kt @@ -58,7 +58,7 @@ fun Project.setupKover() { task("koverVerifyAll") { group = "verification" description = "Verifies the code coverage of all subprojects." - val dependencies = listOf(":app:koverVerifyGplayDebug") + koverVariants.map { ":app:koverVerify${it.capitalized()}" } + val dependencies = listOf(":app:koverVerifyGplayDebug") + koverVariants.map { ":app:koverVerify${it.replaceFirstChar(Char::titlecase)}" } dependsOn(dependencies) } From 032a89f7a56f8cf13658af7a660e811fbea2811e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:34:24 +0000 Subject: [PATCH 004/151] Update android.gradle.plugin to v8.6.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f33fa0275a..290bbae1d3 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ [versions] # Project -android_gradle_plugin = "8.6.0" +android_gradle_plugin = "8.6.1" kotlin = "1.9.25" ksp = "1.9.25-1.0.20" firebaseAppDistribution = "5.0.0" From 854557b42295d45d5a7ff033bd11ed845957b9a2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 10:56:04 +0000 Subject: [PATCH 005/151] Update dependency org.maplibre.gl:android-plugin-annotation-v9 to v3.0.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bd55ab1a0e..8d791633ec 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -178,7 +178,7 @@ telephoto_flick = { module = "me.saket.telephoto:flick-android", version.ref = " statemachine = "com.freeletics.flowredux:compose:1.2.2" maplibre = "org.maplibre.gl:android-sdk:11.4.0" maplibre_ktx = "org.maplibre.gl:android-sdk-ktx-v7:3.0.1" -maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.0" +maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.1" mapbox_android_gestures = "com.mapbox.mapboxsdk:mapbox-android-gestures:0.7.0" opusencoder = "io.element.android:opusencoder:1.1.0" kotlinpoet = "com.squareup:kotlinpoet:1.18.1" From 6c98a2537737caa8b78a4beec602a81fd92ad9e7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 23 Sep 2024 10:56:09 +0000 Subject: [PATCH 006/151] Update dependency androidx.webkit:webkit to v1.12.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bd55ab1a0e..3c0667adbc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -98,7 +98,7 @@ androidx_activity_activity = { module = "androidx.activity:activity", version.re androidx_activity_compose = { module = "androidx.activity:activity-compose", version.ref = "activity" } androidx_startup = "androidx.startup:startup-runtime:1.1.1" androidx_preference = "androidx.preference:preference:1.2.1" -androidx_webkit = "androidx.webkit:webkit:1.11.0" +androidx_webkit = "androidx.webkit:webkit:1.12.0" androidx_compose_bom = { module = "androidx.compose:compose-bom", version.ref = "compose_bom" } androidx_compose_material3 = { module = "androidx.compose.material3:material3" } From 4ea9e91a3af5f3378ddec152e318f44feb565ee0 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 20 Sep 2024 17:26:27 +0200 Subject: [PATCH 007/151] Handle no network error when starting Element Call. --- .../features/call/impl/ui/CallScreenEvents.kt | 4 +- .../call/impl/ui/CallScreenPresenter.kt | 20 ++++++++++ .../features/call/impl/ui/CallScreenState.kt | 1 + .../call/impl/ui/CallScreenStateProvider.kt | 2 + .../features/call/impl/ui/CallScreenView.kt | 37 +++++++++++-------- .../utils/WebViewWidgetMessageInterceptor.kt | 30 ++++++++++++++- 6 files changed, 74 insertions(+), 20 deletions(-) diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenEvents.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenEvents.kt index 675e1e27e0..4785efe650 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenEvents.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenEvents.kt @@ -11,6 +11,6 @@ import io.element.android.features.call.impl.utils.WidgetMessageInterceptor sealed interface CallScreenEvents { data object Hangup : CallScreenEvents - data class SetupMessageChannels(val widgetMessageInterceptor: WidgetMessageInterceptor) : - CallScreenEvents + data class SetupMessageChannels(val widgetMessageInterceptor: WidgetMessageInterceptor) : CallScreenEvents + data class OnWebViewError(val description: String?) : CallScreenEvents } diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenPresenter.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenPresenter.kt index 4a6ec60e90..12a803bbcc 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenPresenter.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenPresenter.kt @@ -17,6 +17,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue +import androidx.compose.ui.res.stringResource import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject @@ -38,6 +39,7 @@ import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.sync.SyncState import io.element.android.libraries.matrix.api.widget.MatrixWidgetDriver import io.element.android.libraries.network.useragent.UserAgentProvider +import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.services.analytics.api.ScreenTracker import io.element.android.services.toolbox.api.systemclock.SystemClock import kotlinx.coroutines.CoroutineScope @@ -78,8 +80,10 @@ class CallScreenPresenter @AssistedInject constructor( val callWidgetDriver = remember { mutableStateOf(null) } val messageInterceptor = remember { mutableStateOf(null) } var isJoinedCall by rememberSaveable { mutableStateOf(false) } + var canRenderWebViewInCaseOfError by rememberSaveable { mutableStateOf(false) } val languageTag = languageTagProvider.provideLanguageTag() val theme = if (ElementTheme.isLightTheme) "light" else "dark" + val errorMessage = stringResource(id = CommonStrings.error_unknown) DisposableEffect(Unit) { coroutineScope.launch { // Sets the call as joined @@ -125,6 +129,8 @@ class CallScreenPresenter @AssistedInject constructor( LaunchedEffect(Unit) { interceptor.interceptedMessages .onEach { + // We are receiving messages from the WebView, consider that the application is loaded + canRenderWebViewInCaseOfError = true // Relay message to Widget Driver callWidgetDriver.value?.send(it) @@ -163,11 +169,25 @@ class CallScreenPresenter @AssistedInject constructor( is CallScreenEvents.SetupMessageChannels -> { messageInterceptor.value = event.widgetMessageInterceptor } + is CallScreenEvents.OnWebViewError -> { + if (!canRenderWebViewInCaseOfError) { + urlState.value = AsyncData.Failure( + Exception( + buildString { + append(errorMessage) + event.description?.let { append("\n\n").append(it) } + } + ) + ) + } + // Else ignore the error, give a chance the Element Call to recover by itself. + } } } return CallScreenState( urlState = urlState.value, + canRenderWebViewInCaseOfError = canRenderWebViewInCaseOfError, userAgent = userAgent, isInWidgetMode = isInWidgetMode, eventSink = { handleEvents(it) }, diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenState.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenState.kt index 09fabfd0b0..9ceb89d45b 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenState.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenState.kt @@ -11,6 +11,7 @@ import io.element.android.libraries.architecture.AsyncData data class CallScreenState( val urlState: AsyncData, + val canRenderWebViewInCaseOfError: Boolean, val userAgent: String, val isInWidgetMode: Boolean, val eventSink: (CallScreenEvents) -> Unit, diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStateProvider.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStateProvider.kt index fc39c71c23..3486a1fb98 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStateProvider.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStateProvider.kt @@ -21,12 +21,14 @@ open class CallScreenStateProvider : PreviewParameterProvider { internal fun aCallScreenState( urlState: AsyncData = AsyncData.Success("https://call.element.io/some-actual-call?with=parameters"), + canRenderWebViewInCaseOfError: Boolean = true, userAgent: String = "", isInWidgetMode: Boolean = false, eventSink: (CallScreenEvents) -> Unit = {}, ): CallScreenState { return CallScreenState( urlState = urlState, + canRenderWebViewInCaseOfError = canRenderWebViewInCaseOfError, userAgent = userAgent, isInWidgetMode = isInWidgetMode, eventSink = eventSink, diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt index 4641e4e7bc..64f06d28f9 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt @@ -85,25 +85,30 @@ internal fun CallScreenView( BackHandler { handleBack() } - CallWebView( - modifier = Modifier + if (state.urlState !is AsyncData.Failure || state.canRenderWebViewInCaseOfError) { + CallWebView( + modifier = Modifier .padding(padding) .consumeWindowInsets(padding) .fillMaxSize(), - url = state.urlState, - userAgent = state.userAgent, - onPermissionsRequest = { request -> - val androidPermissions = mapWebkitPermissions(request.resources) - val callback: RequestPermissionCallback = { request.grant(it) } - requestPermissions(androidPermissions.toTypedArray(), callback) - }, - onWebViewCreate = { webView -> - val interceptor = WebViewWidgetMessageInterceptor(webView) - state.eventSink(CallScreenEvents.SetupMessageChannels(interceptor)) - val pipController = WebViewPipController(webView) - pipState.eventSink(PictureInPictureEvents.SetPipController(pipController)) - } - ) + url = state.urlState, + userAgent = state.userAgent, + onPermissionsRequest = { request -> + val androidPermissions = mapWebkitPermissions(request.resources) + val callback: RequestPermissionCallback = { request.grant(it) } + requestPermissions(androidPermissions.toTypedArray(), callback) + }, + onWebViewCreate = { webView -> + val interceptor = WebViewWidgetMessageInterceptor( + webView = webView, + onError = { state.eventSink(CallScreenEvents.OnWebViewError(it)) }, + ) + state.eventSink(CallScreenEvents.SetupMessageChannels(interceptor)) + val pipController = WebViewPipController(webView) + pipState.eventSink(PictureInPictureEvents.SetPipController(pipController)) + } + ) + } when (state.urlState) { AsyncData.Uninitialized, is AsyncData.Loading -> diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/utils/WebViewWidgetMessageInterceptor.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/utils/WebViewWidgetMessageInterceptor.kt index 6f200e550a..609c04a0e6 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/utils/WebViewWidgetMessageInterceptor.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/utils/WebViewWidgetMessageInterceptor.kt @@ -8,16 +8,23 @@ package io.element.android.features.call.impl.utils import android.graphics.Bitmap +import android.net.http.SslError import android.webkit.JavascriptInterface +import android.webkit.SslErrorHandler +import android.webkit.WebResourceError +import android.webkit.WebResourceRequest +import android.webkit.WebResourceResponse import android.webkit.WebView import android.webkit.WebViewClient import androidx.webkit.WebViewCompat import androidx.webkit.WebViewFeature import io.element.android.features.call.impl.BuildConfig import kotlinx.coroutines.flow.MutableSharedFlow +import timber.log.Timber class WebViewWidgetMessageInterceptor( private val webView: WebView, + private val onError: (String?) -> Unit, ) : WidgetMessageInterceptor { companion object { // We call both the WebMessageListener and the JavascriptInterface objects in JS with this @@ -45,16 +52,35 @@ class WebViewWidgetMessageInterceptor( if (message.data.response && message.data.api == "toWidget" || !message.data.response && message.data.api == "fromWidget") { let json = JSON.stringify(event.data) - ${"console.log('message sent: ' + json);".takeIf { BuildConfig.DEBUG } } + ${"console.log('message sent: ' + json);".takeIf { BuildConfig.DEBUG }} $LISTENER_NAME.postMessage(json); } else { - ${"console.log('message received (ignored): ' + JSON.stringify(event.data));".takeIf { BuildConfig.DEBUG } } + ${"console.log('message received (ignored): ' + JSON.stringify(event.data));".takeIf { BuildConfig.DEBUG }} } }); """.trimIndent(), null ) } + + override fun onReceivedError(view: WebView?, request: WebResourceRequest?, error: WebResourceError?) { + // No network for instance, transmit the error + Timber.e("onReceivedError error: ${error?.errorCode} ${error?.description}") + onError(error?.description?.toString()) + super.onReceivedError(view, request, error) + } + + override fun onReceivedHttpError(view: WebView?, request: WebResourceRequest?, errorResponse: WebResourceResponse?) { + Timber.e("onReceivedHttpError error: ${errorResponse?.statusCode} ${errorResponse?.reasonPhrase}") + onError(errorResponse?.statusCode.toString()) + super.onReceivedHttpError(view, request, errorResponse) + } + + override fun onReceivedSslError(view: WebView?, handler: SslErrorHandler?, error: SslError?) { + Timber.e("onReceivedSslError error: ${error?.primaryError}") + onError(error?.primaryError?.toString()) + super.onReceivedSslError(view, handler, error) + } } // Create a WebMessageListener, which will receive messages from the WebView and reply to them From 41adc7b4269b680f839efa8d7917796a4173fe32 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 24 Sep 2024 10:01:34 +0200 Subject: [PATCH 008/151] Fix tests --- .../call/impl/ui/CallScreenPresenter.kt | 21 +++------ .../features/call/impl/ui/CallScreenState.kt | 2 +- .../call/impl/ui/CallScreenStateProvider.kt | 5 ++- .../features/call/impl/ui/CallScreenView.kt | 32 ++++++++------ .../call/ui/CallScreenPresenterTest.kt | 43 +++++++++++++++++++ 5 files changed, 73 insertions(+), 30 deletions(-) diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenPresenter.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenPresenter.kt index 12a803bbcc..3a4a31f190 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenPresenter.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenPresenter.kt @@ -17,7 +17,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue -import androidx.compose.ui.res.stringResource import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject @@ -39,7 +38,6 @@ import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.sync.SyncState import io.element.android.libraries.matrix.api.widget.MatrixWidgetDriver import io.element.android.libraries.network.useragent.UserAgentProvider -import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.services.analytics.api.ScreenTracker import io.element.android.services.toolbox.api.systemclock.SystemClock import kotlinx.coroutines.CoroutineScope @@ -80,10 +78,10 @@ class CallScreenPresenter @AssistedInject constructor( val callWidgetDriver = remember { mutableStateOf(null) } val messageInterceptor = remember { mutableStateOf(null) } var isJoinedCall by rememberSaveable { mutableStateOf(false) } - var canRenderWebViewInCaseOfError by rememberSaveable { mutableStateOf(false) } + var ignoreWebViewError by rememberSaveable { mutableStateOf(false) } + var webViewError by remember { mutableStateOf(null) } val languageTag = languageTagProvider.provideLanguageTag() val theme = if (ElementTheme.isLightTheme) "light" else "dark" - val errorMessage = stringResource(id = CommonStrings.error_unknown) DisposableEffect(Unit) { coroutineScope.launch { // Sets the call as joined @@ -130,7 +128,7 @@ class CallScreenPresenter @AssistedInject constructor( interceptor.interceptedMessages .onEach { // We are receiving messages from the WebView, consider that the application is loaded - canRenderWebViewInCaseOfError = true + ignoreWebViewError = true // Relay message to Widget Driver callWidgetDriver.value?.send(it) @@ -170,15 +168,8 @@ class CallScreenPresenter @AssistedInject constructor( messageInterceptor.value = event.widgetMessageInterceptor } is CallScreenEvents.OnWebViewError -> { - if (!canRenderWebViewInCaseOfError) { - urlState.value = AsyncData.Failure( - Exception( - buildString { - append(errorMessage) - event.description?.let { append("\n\n").append(it) } - } - ) - ) + if (!ignoreWebViewError) { + webViewError = event.description.orEmpty() } // Else ignore the error, give a chance the Element Call to recover by itself. } @@ -187,7 +178,7 @@ class CallScreenPresenter @AssistedInject constructor( return CallScreenState( urlState = urlState.value, - canRenderWebViewInCaseOfError = canRenderWebViewInCaseOfError, + webViewError = webViewError, userAgent = userAgent, isInWidgetMode = isInWidgetMode, eventSink = { handleEvents(it) }, diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenState.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenState.kt index 9ceb89d45b..48a4672e1a 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenState.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenState.kt @@ -11,7 +11,7 @@ import io.element.android.libraries.architecture.AsyncData data class CallScreenState( val urlState: AsyncData, - val canRenderWebViewInCaseOfError: Boolean, + val webViewError: String?, val userAgent: String, val isInWidgetMode: Boolean, val eventSink: (CallScreenEvents) -> Unit, diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStateProvider.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStateProvider.kt index 3486a1fb98..bb4794749d 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStateProvider.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenStateProvider.kt @@ -16,19 +16,20 @@ open class CallScreenStateProvider : PreviewParameterProvider { aCallScreenState(), aCallScreenState(urlState = AsyncData.Loading()), aCallScreenState(urlState = AsyncData.Failure(Exception("An error occurred"))), + aCallScreenState(webViewError = "Error details from WebView"), ) } internal fun aCallScreenState( urlState: AsyncData = AsyncData.Success("https://call.element.io/some-actual-call?with=parameters"), - canRenderWebViewInCaseOfError: Boolean = true, + webViewError: String? = null, userAgent: String = "", isInWidgetMode: Boolean = false, eventSink: (CallScreenEvents) -> Unit = {}, ): CallScreenState { return CallScreenState( urlState = urlState, - canRenderWebViewInCaseOfError = canRenderWebViewInCaseOfError, + webViewError = webViewError, userAgent = userAgent, isInWidgetMode = isInWidgetMode, eventSink = eventSink, diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt index 64f06d28f9..5fa4856476 100644 --- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt +++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt @@ -85,7 +85,15 @@ internal fun CallScreenView( BackHandler { handleBack() } - if (state.urlState !is AsyncData.Failure || state.canRenderWebViewInCaseOfError) { + if (state.webViewError != null) { + ErrorDialog( + content = buildString { + append(stringResource(CommonStrings.error_unknown)) + state.webViewError.takeIf { it.isNotEmpty() }?.let { append("\n\n").append(it) } + }, + onSubmit = { state.eventSink(CallScreenEvents.Hangup) }, + ) + } else { CallWebView( modifier = Modifier .padding(padding) @@ -108,17 +116,17 @@ internal fun CallScreenView( pipState.eventSink(PictureInPictureEvents.SetPipController(pipController)) } ) - } - when (state.urlState) { - AsyncData.Uninitialized, - is AsyncData.Loading -> - ProgressDialog(text = stringResource(id = CommonStrings.common_please_wait)) - is AsyncData.Failure -> - ErrorDialog( - content = state.urlState.error.message.orEmpty(), - onSubmit = { state.eventSink(CallScreenEvents.Hangup) }, - ) - is AsyncData.Success -> Unit + when (state.urlState) { + AsyncData.Uninitialized, + is AsyncData.Loading -> + ProgressDialog(text = stringResource(id = CommonStrings.common_please_wait)) + is AsyncData.Failure -> + ErrorDialog( + content = state.urlState.error.message.orEmpty(), + onSubmit = { state.eventSink(CallScreenEvents.Hangup) }, + ) + is AsyncData.Success -> Unit + } } } } diff --git a/features/call/impl/src/test/kotlin/io/element/android/features/call/ui/CallScreenPresenterTest.kt b/features/call/impl/src/test/kotlin/io/element/android/features/call/ui/CallScreenPresenterTest.kt index 77326b0d7d..7390b5fde9 100644 --- a/features/call/impl/src/test/kotlin/io/element/android/features/call/ui/CallScreenPresenterTest.kt +++ b/features/call/impl/src/test/kotlin/io/element/android/features/call/ui/CallScreenPresenterTest.kt @@ -71,6 +71,7 @@ class CallScreenPresenterTest { skipItems(1) val initialState = awaitItem() assertThat(initialState.urlState).isEqualTo(AsyncData.Success("https://call.element.io")) + assertThat(initialState.webViewError).isNull() assertThat(initialState.isInWidgetMode).isFalse() analyticsLambda.assertions().isNeverCalled() joinedCallLambda.assertions().isCalledOnce() @@ -270,6 +271,48 @@ class CallScreenPresenterTest { assert(stopSyncLambda).isCalledOnce() } + @Test + fun `present - error from WebView are updating the state`() = runTest { + val presenter = createCallScreenPresenter( + callType = CallType.ExternalUrl("https://call.element.io"), + activeCallManager = FakeActiveCallManager(), + ) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + // Wait until the URL is loaded + skipItems(1) + val initialState = awaitItem() + initialState.eventSink(CallScreenEvents.OnWebViewError("A Webview error")) + val finalState = awaitItem() + assertThat(finalState.webViewError).isEqualTo("A Webview error") + } + } + + @Test + fun `present - error from WebView are ignored if Element Call is loaded`() = runTest { + val presenter = createCallScreenPresenter( + callType = CallType.ExternalUrl("https://call.element.io"), + activeCallManager = FakeActiveCallManager(), + ) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + // Wait until the URL is loaded + skipItems(1) + val initialState = awaitItem() + + val messageInterceptor = FakeWidgetMessageInterceptor() + initialState.eventSink(CallScreenEvents.SetupMessageChannels(messageInterceptor)) + // Emit a message + messageInterceptor.givenInterceptedMessage("A message") + // WebView emits an error, but it will be ignored + initialState.eventSink(CallScreenEvents.OnWebViewError("A Webview error")) + val finalState = awaitItem() + assertThat(finalState.webViewError).isNull() + } + } + private fun TestScope.createCallScreenPresenter( callType: CallType, navigator: CallScreenNavigator = FakeCallScreenNavigator(), From 6ce19f8342f3d85e684575057d9aa8cec8daecf6 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Tue, 24 Sep 2024 08:23:43 +0000 Subject: [PATCH 009/151] Update screenshots --- .../images/features.call.impl.ui_CallScreenView_Day_3_en.png | 3 +++ .../images/features.call.impl.ui_CallScreenView_Night_3_en.png | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_3_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_3_en.png new file mode 100644 index 0000000000..6ed4f78a66 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1067d901572528e98cb735ffd5a4c8d340ab62718fb41b1c14b9d8c8019d34c4 +size 19192 diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_3_en.png new file mode 100644 index 0000000000..d8ca8ea365 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b4e900d1e69e56e6b0d1e2a18e23a087051b3452a173678494217326399e0948 +size 17340 From d57e3b7ec9a3a67c1d14c0405b2c92b80d870e4a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 24 Sep 2024 12:26:48 +0200 Subject: [PATCH 010/151] Introduce ModulesConfig for easier configurations of modules. --- plugins/src/main/kotlin/ModulesConfig.kt | 15 +++++++++++ .../src/main/kotlin/config/AnalyticsConfig.kt | 23 ++++++++++++++++ .../kotlin/extension/DependencyHandleScope.kt | 26 ++++++++++++------- 3 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 plugins/src/main/kotlin/ModulesConfig.kt create mode 100644 plugins/src/main/kotlin/config/AnalyticsConfig.kt diff --git a/plugins/src/main/kotlin/ModulesConfig.kt b/plugins/src/main/kotlin/ModulesConfig.kt new file mode 100644 index 0000000000..649c948e26 --- /dev/null +++ b/plugins/src/main/kotlin/ModulesConfig.kt @@ -0,0 +1,15 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +import config.AnalyticsConfig + +object ModulesConfig { + val analyticsConfig: AnalyticsConfig = AnalyticsConfig.Enabled( + withPosthog = true, + withSentry = true + ) +} diff --git a/plugins/src/main/kotlin/config/AnalyticsConfig.kt b/plugins/src/main/kotlin/config/AnalyticsConfig.kt new file mode 100644 index 0000000000..5bc92da723 --- /dev/null +++ b/plugins/src/main/kotlin/config/AnalyticsConfig.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package config + +sealed interface AnalyticsConfig { + data class Enabled( + val withPosthog: Boolean, + val withSentry: Boolean, + ) : AnalyticsConfig { + init { + require(withPosthog || withSentry) { + "At least one analytics provider must be enabled" + } + } + } + + object Disabled : AnalyticsConfig +} diff --git a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt index 5a8df0694d..fef1ea147a 100644 --- a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt +++ b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt @@ -7,14 +7,14 @@ package extension +import config.AnalyticsConfig +import ModulesConfig import org.gradle.accessors.dm.LibrariesForLibs import org.gradle.api.Action import org.gradle.api.artifacts.ExternalModuleDependency import org.gradle.api.logging.Logger -import org.gradle.api.provider.Provider import org.gradle.kotlin.dsl.DependencyHandlerScope import org.gradle.kotlin.dsl.closureOf -import org.gradle.kotlin.dsl.exclude import org.gradle.kotlin.dsl.project import java.io.File @@ -24,7 +24,7 @@ private fun DependencyHandlerScope.implementation(dependency: Any) = dependencie private fun DependencyHandlerScope.implementation( dependency: Any, config: Action -) = dependencies.add("implementation", dependency, closureOf { config.execute(this) }) +) = dependencies.add("implementation", dependency, closureOf { config.execute(this) }) private fun DependencyHandlerScope.androidTestImplementation(dependency: Any) = dependencies.add("androidTestImplementation", dependency) @@ -111,13 +111,21 @@ fun DependencyHandlerScope.allLibrariesImpl() { } fun DependencyHandlerScope.allServicesImpl() { - // For analytics configuration, either use noop, or use the impl, with at least one analyticsproviders implementation - // implementation(project(":services:analytics:noop")) - implementation(project(":services:analytics:impl")) implementation(project(":services:analytics:compose")) - implementation(project(":services:analyticsproviders:posthog")) - implementation(project(":services:analyticsproviders:sentry")) - + when (ModulesConfig.analyticsConfig) { + AnalyticsConfig.Disabled -> { + implementation(project(":services:analytics:noop")) + } + is AnalyticsConfig.Enabled -> { + implementation(project(":services:analytics:impl")) + if (ModulesConfig.analyticsConfig.withPosthog) { + implementation(project(":services:analyticsproviders:posthog")) + } + if (ModulesConfig.analyticsConfig.withSentry) { + implementation(project(":services:analyticsproviders:sentry")) + } + } + } implementation(project(":services:apperror:impl")) implementation(project(":services:appnavstate:impl")) implementation(project(":services:toolbox:impl")) From 1a979cd14208405412e529b08a8d338a2c462d73 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 24 Sep 2024 12:31:18 +0200 Subject: [PATCH 011/151] Use ModulesConfig for push provider modules. --- app/build.gradle.kts | 10 ++++++---- plugins/src/main/kotlin/ModulesConfig.kt | 8 +++++++- .../main/kotlin/config/PushProvidersConfig.kt | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 plugins/src/main/kotlin/config/PushProvidersConfig.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7f814a814a..1cc4de2eeb 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -250,10 +250,12 @@ dependencies { implementation(projects.libraries.uiStrings) anvil(projects.anvilcodegen) - // Comment to not include firebase in the project - "gplayImplementation"(projects.libraries.pushproviders.firebase) - // Comment to not include unified push in the project - implementation(projects.libraries.pushproviders.unifiedpush) + if (ModulesConfig.pushProvidersConfig.includeFirebase) { + "gplayImplementation"(projects.libraries.pushproviders.firebase) + } + if (ModulesConfig.pushProvidersConfig.includeFirebase) { + implementation(projects.libraries.pushproviders.unifiedpush) + } implementation(libs.appyx.core) implementation(libs.androidx.splash) diff --git a/plugins/src/main/kotlin/ModulesConfig.kt b/plugins/src/main/kotlin/ModulesConfig.kt index 649c948e26..f24d4f56b4 100644 --- a/plugins/src/main/kotlin/ModulesConfig.kt +++ b/plugins/src/main/kotlin/ModulesConfig.kt @@ -6,10 +6,16 @@ */ import config.AnalyticsConfig +import config.PushProvidersConfig object ModulesConfig { + val pushProvidersConfig = PushProvidersConfig( + includeFirebase = true, + includeUnifiedPush = true, + ) + val analyticsConfig: AnalyticsConfig = AnalyticsConfig.Enabled( withPosthog = true, - withSentry = true + withSentry = true, ) } diff --git a/plugins/src/main/kotlin/config/PushProvidersConfig.kt b/plugins/src/main/kotlin/config/PushProvidersConfig.kt new file mode 100644 index 0000000000..1e7e43b1ae --- /dev/null +++ b/plugins/src/main/kotlin/config/PushProvidersConfig.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package config + +data class PushProvidersConfig( + val includeFirebase: Boolean, + val includeUnifiedPush: Boolean, +) { + init { + require(includeFirebase || includeUnifiedPush) { + "At least one push provider must be included" + } + } +} From 4fc187896a32b7969c095d8656b8cf1b320a0249 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 24 Sep 2024 13:40:29 +0200 Subject: [PATCH 012/151] Fix copy paste error --- app/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 1cc4de2eeb..c2c38ae219 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -253,7 +253,7 @@ dependencies { if (ModulesConfig.pushProvidersConfig.includeFirebase) { "gplayImplementation"(projects.libraries.pushproviders.firebase) } - if (ModulesConfig.pushProvidersConfig.includeFirebase) { + if (ModulesConfig.pushProvidersConfig.includeUnifiedPush) { implementation(projects.libraries.pushproviders.unifiedpush) } From f1be7ea0a792444dfd67ffb3ad81d31f1f0adc56 Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 24 Sep 2024 16:13:16 +0200 Subject: [PATCH 013/151] media view : use overlay from room details --- .../features/roomdetails/impl/RoomDetailsFlowNode.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsFlowNode.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsFlowNode.kt index e7daca66a5..c501c6cf38 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsFlowNode.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsFlowNode.kt @@ -33,9 +33,10 @@ import io.element.android.features.roomdetails.impl.notificationsettings.RoomNot import io.element.android.features.roomdetails.impl.rolesandpermissions.RolesAndPermissionsFlowNode import io.element.android.features.userprofile.shared.UserProfileNodeHelper import io.element.android.features.userprofile.shared.avatar.AvatarPreviewNode -import io.element.android.libraries.architecture.BackstackView +import io.element.android.libraries.architecture.BackstackWithOverlayBox import io.element.android.libraries.architecture.BaseFlowNode import io.element.android.libraries.architecture.createNode +import io.element.android.libraries.architecture.overlay.operation.show import io.element.android.libraries.core.mimetype.MimeTypes import io.element.android.libraries.di.RoomScope import io.element.android.libraries.matrix.api.core.RoomId @@ -125,7 +126,7 @@ class RoomDetailsFlowNode @AssistedInject constructor( } override fun openAvatarPreview(name: String, url: String) { - backstack.push(NavTarget.AvatarPreview(name, url)) + overlay.show(NavTarget.AvatarPreview(name, url)) } override fun openPollHistory() { @@ -186,7 +187,7 @@ class RoomDetailsFlowNode @AssistedInject constructor( is NavTarget.RoomMemberDetails -> { val callback = object : UserProfileNodeHelper.Callback { override fun openAvatarPreview(username: String, avatarUrl: String) { - backstack.push(NavTarget.AvatarPreview(username, avatarUrl)) + overlay.show(NavTarget.AvatarPreview(username, avatarUrl)) } override fun onStartDM(roomId: RoomId) { @@ -252,6 +253,6 @@ class RoomDetailsFlowNode @AssistedInject constructor( @Composable override fun View(modifier: Modifier) { - BackstackView() + BackstackWithOverlayBox(modifier) } } From 8102aa4744069599ac8d01777c4b7e429dc8119d Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 24 Sep 2024 16:31:47 +0200 Subject: [PATCH 014/151] media viewer: fix glitch when transition from thumbnail to fullview --- .../mediaviewer/api/viewer/MediaViewerView.kt | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/viewer/MediaViewerView.kt b/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/viewer/MediaViewerView.kt index 82ae4b8007..f76bf51073 100644 --- a/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/viewer/MediaViewerView.kt +++ b/libraries/mediaviewer/api/src/main/kotlin/io/element/android/libraries/mediaviewer/api/viewer/MediaViewerView.kt @@ -40,6 +40,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp +import coil.compose.AsyncImage import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.core.mimetype.MimeTypes @@ -66,9 +67,6 @@ import me.saket.telephoto.flick.FlickToDismiss import me.saket.telephoto.flick.FlickToDismissState import me.saket.telephoto.flick.rememberFlickToDismissState import me.saket.telephoto.zoomable.ZoomSpec -import me.saket.telephoto.zoomable.ZoomableState -import me.saket.telephoto.zoomable.coil.ZoomableAsyncImage -import me.saket.telephoto.zoomable.rememberZoomableImageState import me.saket.telephoto.zoomable.rememberZoomableState import kotlin.time.Duration @@ -181,7 +179,6 @@ private fun MediaViewerPage( mediaInfo = state.mediaInfo, thumbnailSource = state.thumbnailSource, isVisible = showThumbnail, - zoomableState = zoomableState ) if (showError) { ErrorView( @@ -316,24 +313,18 @@ private fun ThumbnailView( thumbnailSource: MediaSource?, isVisible: Boolean, mediaInfo: MediaInfo, - zoomableState: ZoomableState, modifier: Modifier = Modifier, ) { - AnimatedVisibility( - visible = isVisible, - enter = fadeIn(), - exit = fadeOut() + Box( + modifier = modifier.fillMaxSize(), + contentAlignment = Alignment.Center ) { - Box( - modifier = modifier.fillMaxSize(), - contentAlignment = Alignment.Center - ) { + if (isVisible) { val mediaRequestData = MediaRequestData( source = thumbnailSource, kind = MediaRequestData.Kind.File(mediaInfo.name, mediaInfo.mimeType) ) - ZoomableAsyncImage( - state = rememberZoomableImageState(zoomableState), + AsyncImage( modifier = Modifier.fillMaxSize(), model = mediaRequestData, contentScale = ContentScale.Fit, From acae30b1f9f138f1283f79bbac47aa251b4a2268 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 25 Sep 2024 18:32:43 +0200 Subject: [PATCH 015/151] Stop ignoring 2 tests and fix them. --- .../api/viewer/MediaViewerViewTest.kt | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/libraries/mediaviewer/api/src/test/kotlin/io/element/android/libraries/mediaviewer/api/viewer/MediaViewerViewTest.kt b/libraries/mediaviewer/api/src/test/kotlin/io/element/android/libraries/mediaviewer/api/viewer/MediaViewerViewTest.kt index bec9afe2b2..ee5aef8e2e 100644 --- a/libraries/mediaviewer/api/src/test/kotlin/io/element/android/libraries/mediaviewer/api/viewer/MediaViewerViewTest.kt +++ b/libraries/mediaviewer/api/src/test/kotlin/io/element/android/libraries/mediaviewer/api/viewer/MediaViewerViewTest.kt @@ -26,7 +26,6 @@ import io.element.android.tests.testutils.EventsRecorder import io.element.android.tests.testutils.clickOn import io.element.android.tests.testutils.ensureCalledOnce import io.element.android.tests.testutils.pressBack -import org.junit.Ignore import org.junit.Rule import org.junit.Test import org.junit.rules.TestRule @@ -81,7 +80,6 @@ class MediaViewerViewTest { eventsRecorder.assertSingle(expectedEvent) } - @Ignore("This test is not passing yet, maybe due to interaction with ZoomableAsyncImage?") @Test fun `clicking on image hides the overlay`() { val eventsRecorder = EventsRecorder(expectEvents = false) @@ -96,16 +94,17 @@ class MediaViewerViewTest { ) // Ensure that the action are visible val contentDescription = rule.activity.getString(CommonStrings.action_open_with) - rule.onNodeWithContentDescription(contentDescription).assertHasClickAction() + rule.onNodeWithContentDescription(contentDescription) + .assertExists() + .assertHasClickAction() val imageContentDescription = rule.activity.getString(CommonStrings.common_image) rule.onNodeWithContentDescription(imageContentDescription).performClick() - // assertHasNoClickAction does not work as expected (?) - // rule.onNodeWithContentDescription(contentDescription).assertHasNoClickAction() - rule.onNodeWithContentDescription(contentDescription).performClick() - // No emitted event + // Give time for the animation (? since even by removing AnimatedVisibility it still fails) + rule.mainClock.advanceTimeBy(1_000) + rule.onNodeWithContentDescription(contentDescription) + .assertDoesNotExist() } - @Ignore("This test is not passing yet, maybe due to interaction with ZoomableAsyncImage?") @Test fun `clicking swipe on the image invokes the expected callback`() { val eventsRecorder = EventsRecorder(expectEvents = false) @@ -121,7 +120,7 @@ class MediaViewerViewTest { onBackClick = callback, ) val imageContentDescription = rule.activity.getString(CommonStrings.common_image) - rule.onNodeWithContentDescription(imageContentDescription).performTouchInput { swipeDown() } + rule.onNodeWithContentDescription(imageContentDescription).performTouchInput { swipeDown(startY = centerY) } rule.mainClock.advanceTimeBy(1_000) } } From bd7b1293c6e9f44359fbee90afc208c35200b438 Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 25 Sep 2024 17:48:52 +0200 Subject: [PATCH 016/151] Adding fastlane file for version 0.6.4 --- fastlane/metadata/android/en-US/changelogs/40006040.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/40006040.txt diff --git a/fastlane/metadata/android/en-US/changelogs/40006040.txt b/fastlane/metadata/android/en-US/changelogs/40006040.txt new file mode 100644 index 0000000000..2508042545 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40006040.txt @@ -0,0 +1,2 @@ +Main changes in this version: mainly bug fixes. +Full changelog: https://github.com/element-hq/element-x-android/releases \ No newline at end of file From ff0722978dd8ec7e0b7f02a3a43ec78dca56e49a Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 25 Sep 2024 17:50:27 +0200 Subject: [PATCH 017/151] version++ --- plugins/src/main/kotlin/Versions.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/src/main/kotlin/Versions.kt b/plugins/src/main/kotlin/Versions.kt index 0137a81d71..4f1d15ee71 100644 --- a/plugins/src/main/kotlin/Versions.kt +++ b/plugins/src/main/kotlin/Versions.kt @@ -47,7 +47,7 @@ private const val versionMinor = 6 // Note: even values are reserved for regular release, odd values for hotfix release. // When creating a hotfix, you should decrease the value, since the current value // is the value for the next regular release. -private const val versionPatch = 4 +private const val versionPatch = 5 object Versions { val versionCode = 4_000_000 + versionMajor * 1_00_00 + versionMinor * 1_00 + versionPatch From 135cc02cad0396930743cf6669f0089bcf9fd8b9 Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 25 Sep 2024 18:32:46 +0200 Subject: [PATCH 018/151] Changelog for version 0.6.4 --- CHANGES.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 3d59d72f67..c3d343b303 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,39 @@ +Changes in Element X v0.6.4 (2024-09-25) +======================================== + +### 🙌 Improvements +* Pinned messages : add pin icon in timeline for pinned events. by @ganfra in https://github.com/element-hq/element-x-android/pull/3500 +* Include inviter in the notification for invitation by @bmarty in https://github.com/element-hq/element-x-android/pull/3503 + +### 🐛 Bugfixes +* Fix crash when session is deleted on another client by @bmarty in https://github.com/element-hq/element-x-android/pull/3515 +* Fix pinned events banner reappearing when loading by @jmartinesp in https://github.com/element-hq/element-x-android/pull/3519 +* Fix various crashes by @bmarty in https://github.com/element-hq/element-x-android/pull/3533 +* Perform the migration, even if the current version is not known. by @bmarty in https://github.com/element-hq/element-x-android/pull/3535 +* timeline : makes sure to emit empty list if initial reset has no item. by @ganfra in https://github.com/element-hq/element-x-android/pull/3538 + +### 🗣 Translations +* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/3513 +* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/3517 + +### Dependency upgrades +* Update dependency io.nlopez.compose.rules:detekt to v0.4.12 by @renovate in https://github.com/element-hq/element-x-android/pull/3436 +* Update dependency com.posthog:posthog-android to v3.7.3 by @renovate in https://github.com/element-hq/element-x-android/pull/3443 +* Update dependency com.otaliastudios:transcoder to v0.11.1 by @renovate in https://github.com/element-hq/element-x-android/pull/3440 +* Update dependency org.maplibre.gl:android-sdk to v11.4.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3408 +* Update dependencyAnalysis to v2.0.2 by @renovate in https://github.com/element-hq/element-x-android/pull/3508 +* Update dependency org.maplibre.gl:android-sdk-ktx-v7 to v3.0.1 by @renovate in https://github.com/element-hq/element-x-android/pull/3507 +* Update dependencyAnalysis to v2.1.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3526 +* Update dependency net.java.dev.jna:jna to v5.15.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3525 +* Update dependency androidx.startup:startup-runtime to v1.2.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3516 +* dependencies : update rust sdk to 0.2.48 by @ganfra in https://github.com/element-hq/element-x-android/pull/3532 + +### Others +* Change ElementBot mail to android@element.io by @bmarty in https://github.com/element-hq/element-x-android/pull/3497 +* Test RustMatrixClient and other classes in the matrix module by @bmarty in https://github.com/element-hq/element-x-android/pull/3501 +* Pinned messages analytics by @ganfra in https://github.com/element-hq/element-x-android/pull/3523 +* Remove ability to configure default log level by @bmarty in https://github.com/element-hq/element-x-android/pull/3531 + Changes in Element X v0.6.3 (2024-09-19) ======================================== From 10014d39365ef7d91247d2b380febf9f31e55fc0 Mon Sep 17 00:00:00 2001 From: Valere Date: Wed, 25 Sep 2024 23:02:01 +0200 Subject: [PATCH 019/151] rename invisible flag to onlySignedDeviceIsolation --- .../android/libraries/featureflag/api/FeatureFlags.kt | 6 +++--- .../libraries/matrix/impl/RustMatrixClientFactory.kt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt index d71c0de360..e1507044ae 100644 --- a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt +++ b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt @@ -123,9 +123,9 @@ enum class FeatureFlags( defaultValue = { true }, isFinished = false, ), - InvisibleCrypto( - key = "feature.invisibleCrypto", - title = "Invisible Crypto", + OnlySignedDeviceIsolationMode( + key = "feature.onlySignedDeviceIsolationMode", + title = "Exclude not secure devices when sending/receiving messages", description = "This setting controls how end-to-end encryption (E2E) keys are shared." + " Enabling it will prevent the inclusion of devices that have not been explicitly verified by their owners." + " You'll have to stop and re-open the app manually for that setting to take effect.", diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt index e8c5f3dec3..4d320ed810 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt @@ -101,7 +101,7 @@ class RustMatrixClientFactory @Inject constructor( .autoEnableBackups(true) .autoEnableCrossSigning(true) .roomKeyRecipientStrategy( - strategy = if (featureFlagService.isFeatureEnabled(FeatureFlags.InvisibleCrypto)) { + strategy = if (featureFlagService.isFeatureEnabled(FeatureFlags.OnlySignedDeviceIsolationMode)) { CollectStrategy.IdentityBasedStrategy } else { CollectStrategy.DeviceBasedStrategy(onlyAllowTrustedDevices = false, errorOnVerifiedUserProblem = true) From 9756afc5d1d2859ca1dbc94827736130ea0120f6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 09:30:20 +0200 Subject: [PATCH 020/151] Update dependency androidx.compose:compose-bom to v2024.09.00 (#3399) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update dependency androidx.compose:compose-bom to v2024.09.00 * Adapt code for changes. * Workaround crash when closing the RTE * Fix broken bottom sheet colors and shape * Fix tons of warnings and deprecations * Fix lint issues * Fix more M3 update changes * Update screenshots --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jorge Martín Co-authored-by: ElementBot Co-authored-by: ganfra Co-authored-by: ElementBot --- .../analytics/impl/AnalyticsOptInView.kt | 13 +- .../DefaultBiometricUnlockManager.kt | 2 +- .../impl/actionlist/ActionListView.kt | 6 +- .../messages/impl/timeline/TimelineView.kt | 1 + .../timeline/components/MessageEventBubble.kt | 4 +- .../components/MessageStateEventContainer.kt | 4 +- .../components/customreaction/EmojiItem.kt | 4 +- .../impl/developer/DeveloperSettingsView.kt | 2 +- .../RoomNotificationSettingsView.kt | 6 +- .../impl/components/RoomSummaryRow.kt | 4 +- .../impl/filters/RoomListFiltersView.kt | 2 +- gradle/libs.versions.toml | 2 +- .../atomic/atoms/ElementLogoAtom.kt | 4 +- .../components/ClickableLinkText.kt | 17 ++- .../button/GradientFloatingActionButton.kt | 4 +- .../components/button/MainActionButton.kt | 4 +- .../components/button/SuperButton.kt | 4 +- .../components/keyboard/Keyboard.kt | 2 +- .../components/tooltip/PlainTooltip.kt | 4 +- .../components/tooltip/TooltipBox.kt | 4 +- .../designsystem/modifiers/ApplyIf.kt | 17 +-- .../libraries/designsystem/modifiers/Blur.kt | 6 +- .../designsystem/modifiers/ClearFocusOnTap.kt | 12 +- .../theme/components/BottomSheetDragHandle.kt | 4 +- .../theme/components/BottomSheetScaffold.kt | 2 +- .../components/CircularProgressIndicator.kt | 17 ++- .../theme/components/ModalBottomSheet.kt | 7 +- .../theme/components/SearchBar.kt | 132 ++++++++++-------- .../theme/components/TextField.kt | 8 +- .../bottomsheet/CustomBottomSheetScaffold.kt | 12 +- .../bottomsheet/CustomSheetState.kt | 16 ++- .../designsystem/utils/OnLifecycleEvent.kt | 2 +- .../libraries/maplibre/compose/MapLibreMap.kt | 2 +- .../ui/components/EditableAvatarView.kt | 4 +- .../matrix/ui/components/SelectedRoom.kt | 4 +- .../matrix/ui/components/SelectedUser.kt | 4 +- .../libraries/qrcode/QrCodeCameraView.kt | 2 +- .../textcomposer/ComposerModeView.kt | 6 +- .../components/FormattingOption.kt | 4 +- .../components/markdown/MarkdownEditText.kt | 5 + .../tests/testutils/WithFakeLifecycleOwner.kt | 2 +- .../appnav.loggedin_LoggedInView_Day_1_en.png | 4 +- ...ppnav.loggedin_LoggedInView_Night_1_en.png | 4 +- ...appnav.loggedin_SyncStateView_Day_0_en.png | 4 +- ...pnav.loggedin_SyncStateView_Night_0_en.png | 4 +- ...om.joined_LoadingRoomNodeView_Day_0_en.png | 4 +- ....joined_LoadingRoomNodeView_Night_0_en.png | 4 +- ...s.call.impl.ui_CallScreenView_Day_1_en.png | 4 +- ...call.impl.ui_CallScreenView_Night_1_en.png | 4 +- ....impl.root_CreateRoomRootView_Day_1_en.png | 4 +- ...mpl.root_CreateRoomRootView_Night_1_en.png | 4 +- ...ations_NotificationsOptInView_Day_0_en.png | 4 +- ...ions_NotificationsOptInView_Night_0_en.png | 4 +- ...ftue.impl.welcome_WelcomeView_Day_0_en.png | 4 +- ...ue.impl.welcome_WelcomeView_Night_0_en.png | 4 +- ...s.leaveroom.api_LeaveRoomView_Day_4_en.png | 4 +- ...leaveroom.api_LeaveRoomView_Night_4_en.png | 4 +- ...st_DependencyLicensesListView_Day_0_en.png | 4 +- ..._DependencyLicensesListView_Night_0_en.png | 4 +- ...internal_StaticMapPlaceholder_Day_0_en.png | 4 +- ...ternal_StaticMapPlaceholder_Night_0_en.png | 4 +- ...es.location.api_StaticMapView_Day_0_en.png | 4 +- ....location.api_StaticMapView_Night_0_en.png | 4 +- ...on.impl.send_SendLocationView_Day_0_en.png | 4 +- ...on.impl.send_SendLocationView_Day_1_en.png | 4 +- ...on.impl.send_SendLocationView_Day_2_en.png | 4 +- ...on.impl.send_SendLocationView_Day_3_en.png | 4 +- ...on.impl.send_SendLocationView_Day_4_en.png | 4 +- ....impl.send_SendLocationView_Night_0_en.png | 4 +- ....impl.send_SendLocationView_Night_1_en.png | 4 +- ....impl.send_SendLocationView_Night_2_en.png | 4 +- ....impl.send_SendLocationView_Night_3_en.png | 4 +- ....impl.send_SendLocationView_Night_4_en.png | 4 +- ...on.impl.show_ShowLocationView_Day_0_en.png | 4 +- ...on.impl.show_ShowLocationView_Day_1_en.png | 4 +- ...on.impl.show_ShowLocationView_Day_2_en.png | 4 +- ...on.impl.show_ShowLocationView_Day_3_en.png | 4 +- ...on.impl.show_ShowLocationView_Day_4_en.png | 4 +- ...on.impl.show_ShowLocationView_Day_5_en.png | 4 +- ...on.impl.show_ShowLocationView_Day_6_en.png | 4 +- ...on.impl.show_ShowLocationView_Day_7_en.png | 4 +- ....impl.show_ShowLocationView_Night_0_en.png | 4 +- ....impl.show_ShowLocationView_Night_1_en.png | 4 +- ....impl.show_ShowLocationView_Night_2_en.png | 4 +- ....impl.show_ShowLocationView_Night_3_en.png | 4 +- ....impl.show_ShowLocationView_Night_4_en.png | 4 +- ....impl.show_ShowLocationView_Night_5_en.png | 4 +- ....impl.show_ShowLocationView_Night_6_en.png | 4 +- ....impl.show_ShowLocationView_Night_7_en.png | 4 +- ...mpl.unlock_PinUnlockViewInApp_Day_6_en.png | 4 +- ...l.unlock_PinUnlockViewInApp_Night_6_en.png | 4 +- ...een.impl.unlock_PinUnlockView_Day_6_en.png | 4 +- ...n.impl.unlock_PinUnlockView_Night_6_en.png | 4 +- ...tprovider_AccountProviderView_Day_0_en.png | 4 +- ...tprovider_AccountProviderView_Day_1_en.png | 4 +- ...tprovider_AccountProviderView_Day_2_en.png | 4 +- ...tprovider_AccountProviderView_Day_3_en.png | 4 +- ...rovider_AccountProviderView_Night_0_en.png | 4 +- ...rovider_AccountProviderView_Night_1_en.png | 4 +- ...rovider_AccountProviderView_Night_2_en.png | 4 +- ...rovider_AccountProviderView_Night_3_en.png | 4 +- ...der_ChangeAccountProviderView_Day_0_en.png | 4 +- ...r_ChangeAccountProviderView_Night_0_en.png | 4 +- ...eateaccount_CreateAccountView_Day_1_en.png | 4 +- ...eateaccount_CreateAccountView_Day_2_en.png | 4 +- ...teaccount_CreateAccountView_Night_1_en.png | 4 +- ...teaccount_CreateAccountView_Night_2_en.png | 4 +- ...ginpassword_LoginPasswordView_Day_1_en.png | 4 +- ...npassword_LoginPasswordView_Night_1_en.png | 4 +- ...mation_QrCodeConfirmationView_Day_0_en.png | 4 +- ...mation_QrCodeConfirmationView_Day_1_en.png | 4 +- ...mation_QrCodeConfirmationView_Day_2_en.png | 4 +- ...tion_QrCodeConfirmationView_Night_0_en.png | 4 +- ...tion_QrCodeConfirmationView_Night_1_en.png | 4 +- ...tion_QrCodeConfirmationView_Night_2_en.png | 4 +- ...ns.qrcode.scan_QrCodeScanView_Day_1_en.png | 4 +- ....qrcode.scan_QrCodeScanView_Night_1_en.png | 4 +- ...der_SearchAccountProviderView_Day_1_en.png | 4 +- ...r_SearchAccountProviderView_Night_1_en.png | 4 +- ...irect_DefaultDirectLogoutView_Day_2_en.png | 4 +- ...ect_DefaultDirectLogoutView_Night_2_en.png | 4 +- ....impl_AccountDeactivationView_Day_3_en.png | 4 +- ...mpl_AccountDeactivationView_Night_3_en.png | 4 +- ...atures.logout.impl_LogoutView_Day_2_en.png | 4 +- ...atures.logout.impl_LogoutView_Day_5_en.png | 4 +- ...ures.logout.impl_LogoutView_Night_2_en.png | 4 +- ...ures.logout.impl_LogoutView_Night_5_en.png | 4 +- ...tachments.preview_AttachmentsView_2_en.png | 4 +- ...veVerifiedUserSendFailureView_Day_1_en.png | 4 +- ...veVerifiedUserSendFailureView_Day_2_en.png | 2 +- ...VerifiedUserSendFailureView_Night_1_en.png | 4 +- ...VerifiedUserSendFailureView_Night_2_en.png | 4 +- ...l.forward_ForwardMessagesView_Day_1_en.png | 4 +- ...forward_ForwardMessagesView_Night_1_en.png | 4 +- ...nner_PinnedMessagesBannerView_Day_1_en.png | 4 +- ...nner_PinnedMessagesBannerView_Day_2_en.png | 4 +- ...er_PinnedMessagesBannerView_Night_1_en.png | 4 +- ...er_PinnedMessagesBannerView_Night_2_en.png | 4 +- ...d.list_PinnedMessagesListView_Day_1_en.png | 4 +- ...list_PinnedMessagesListView_Night_1_en.png | 4 +- ...impl.report_ReportMessageView_Day_0_en.png | 4 +- ...impl.report_ReportMessageView_Day_1_en.png | 4 +- ...impl.report_ReportMessageView_Day_3_en.png | 4 +- ...pl.report_ReportMessageView_Night_0_en.png | 4 +- ...pl.report_ReportMessageView_Night_1_en.png | 4 +- ...pl.report_ReportMessageView_Night_3_en.png | 4 +- ...mponents.event_ProgressButton_Day_0_en.png | 4 +- ...onents.event_ProgressButton_Night_0_en.png | 4 +- ...vent_TimelineItemLocationView_Day_0_en.png | 4 +- ...vent_TimelineItemLocationView_Day_1_en.png | 4 +- ...nt_TimelineItemLocationView_Night_0_en.png | 4 +- ...nt_TimelineItemLocationView_Night_1_en.png | 4 +- ...ts.event_TimelineItemPollView_Day_0_en.png | 4 +- ...ts.event_TimelineItemPollView_Day_1_en.png | 4 +- ...ts.event_TimelineItemPollView_Day_2_en.png | 4 +- ...ts.event_TimelineItemPollView_Day_3_en.png | 4 +- ....event_TimelineItemPollView_Night_0_en.png | 4 +- ....event_TimelineItemPollView_Night_1_en.png | 4 +- ....event_TimelineItemPollView_Night_2_en.png | 4 +- ....event_TimelineItemPollView_Night_3_en.png | 4 +- ..._TimelineLoadingMoreIndicator_Day_0_en.png | 4 +- ...imelineLoadingMoreIndicator_Night_0_en.png | 4 +- ...nts_TimelineItemEventTimestampBelow_en.png | 4 +- ...e.focus_FocusRequestStateView_Day_0_en.png | 4 +- ...focus_FocusRequestStateView_Night_0_en.png | 4 +- ...ine_TimelineViewMessageShield_Day_0_en.png | 4 +- ...e_TimelineViewMessageShield_Night_0_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_0_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_10_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_11_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_12_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_13_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_14_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_15_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_16_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_17_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_1_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_2_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_3_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_4_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_5_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_6_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_7_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_8_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_9_en.png | 4 +- ....impl.timeline_TimelineView_Night_0_en.png | 4 +- ...impl.timeline_TimelineView_Night_10_en.png | 4 +- ...impl.timeline_TimelineView_Night_11_en.png | 4 +- ...impl.timeline_TimelineView_Night_12_en.png | 4 +- ...impl.timeline_TimelineView_Night_13_en.png | 2 +- ...impl.timeline_TimelineView_Night_14_en.png | 4 +- ...impl.timeline_TimelineView_Night_15_en.png | 4 +- ...impl.timeline_TimelineView_Night_16_en.png | 4 +- ...impl.timeline_TimelineView_Night_17_en.png | 4 +- ....impl.timeline_TimelineView_Night_1_en.png | 4 +- ....impl.timeline_TimelineView_Night_2_en.png | 4 +- ....impl.timeline_TimelineView_Night_3_en.png | 4 +- ....impl.timeline_TimelineView_Night_4_en.png | 4 +- ....impl.timeline_TimelineView_Night_5_en.png | 4 +- ....impl.timeline_TimelineView_Night_6_en.png | 4 +- ....impl.timeline_TimelineView_Night_7_en.png | 4 +- ....impl.timeline_TimelineView_Night_8_en.png | 4 +- ....impl.timeline_TimelineView_Night_9_en.png | 4 +- ...es.messages.impl_MessagesView_Day_0_en.png | 4 +- ...s.messages.impl_MessagesView_Day_10_en.png | 4 +- ...s.messages.impl_MessagesView_Day_11_en.png | 4 +- ...s.messages.impl_MessagesView_Day_12_en.png | 4 +- ...s.messages.impl_MessagesView_Day_13_en.png | 4 +- ...es.messages.impl_MessagesView_Day_1_en.png | 4 +- ...es.messages.impl_MessagesView_Day_2_en.png | 4 +- ...es.messages.impl_MessagesView_Day_3_en.png | 4 +- ...es.messages.impl_MessagesView_Day_4_en.png | 4 +- ...es.messages.impl_MessagesView_Day_5_en.png | 4 +- ...es.messages.impl_MessagesView_Day_6_en.png | 4 +- ...es.messages.impl_MessagesView_Day_7_en.png | 4 +- ...es.messages.impl_MessagesView_Day_8_en.png | 4 +- ...es.messages.impl_MessagesView_Day_9_en.png | 4 +- ....messages.impl_MessagesView_Night_0_en.png | 4 +- ...messages.impl_MessagesView_Night_10_en.png | 4 +- ...messages.impl_MessagesView_Night_11_en.png | 4 +- ...messages.impl_MessagesView_Night_12_en.png | 2 +- ...messages.impl_MessagesView_Night_13_en.png | 4 +- ....messages.impl_MessagesView_Night_1_en.png | 4 +- ....messages.impl_MessagesView_Night_2_en.png | 4 +- ....messages.impl_MessagesView_Night_3_en.png | 4 +- ....messages.impl_MessagesView_Night_4_en.png | 4 +- ....messages.impl_MessagesView_Night_5_en.png | 4 +- ....messages.impl_MessagesView_Night_6_en.png | 4 +- ....messages.impl_MessagesView_Night_7_en.png | 4 +- ....messages.impl_MessagesView_Night_8_en.png | 4 +- ....messages.impl_MessagesView_Night_9_en.png | 4 +- ....migration.impl_MigrationView_Day_0_en.png | 4 +- ....migration.impl_MigrationView_Day_1_en.png | 4 +- ...igration.impl_MigrationView_Night_0_en.png | 4 +- ...igration.impl_MigrationView_Night_1_en.png | 4 +- ...nboarding.impl_OnBoardingView_Day_0_en.png | 4 +- ...nboarding.impl_OnBoardingView_Day_1_en.png | 4 +- ...nboarding.impl_OnBoardingView_Day_2_en.png | 4 +- ...nboarding.impl_OnBoardingView_Day_3_en.png | 4 +- ...nboarding.impl_OnBoardingView_Day_4_en.png | 4 +- ...oarding.impl_OnBoardingView_Night_0_en.png | 4 +- ...oarding.impl_OnBoardingView_Night_1_en.png | 4 +- ...oarding.impl_OnBoardingView_Night_2_en.png | 4 +- ...oarding.impl_OnBoardingView_Night_3_en.png | 4 +- ...oarding.impl_OnBoardingView_Night_4_en.png | 4 +- ...nswerViewDisclosedNotSelected_Day_0_en.png | 4 +- ...werViewDisclosedNotSelected_Night_0_en.png | 4 +- ...llAnswerViewDisclosedSelected_Day_0_en.png | 4 +- ...AnswerViewDisclosedSelected_Night_0_en.png | 4 +- ...t_PollAnswerViewEndedSelected_Day_0_en.png | 4 +- ...PollAnswerViewEndedSelected_Night_0_en.png | 4 +- ...werViewEndedWinnerNotSelected_Day_0_en.png | 4 +- ...rViewEndedWinnerNotSelected_Night_0_en.png | 4 +- ...AnswerViewEndedWinnerSelected_Day_0_en.png | 4 +- ...swerViewEndedWinnerSelected_Night_0_en.png | 4 +- ...werViewUndisclosedNotSelected_Day_0_en.png | 4 +- ...rViewUndisclosedNotSelected_Night_0_en.png | 4 +- ...AnswerViewUndisclosedSelected_Day_0_en.png | 4 +- ...swerViewUndisclosedSelected_Night_0_en.png | 4 +- ...ollContentViewCreatorEditable_Day_0_en.png | 4 +- ...lContentViewCreatorEditable_Night_0_en.png | 4 +- ...t_PollContentViewCreatorEnded_Day_0_en.png | 4 +- ...PollContentViewCreatorEnded_Night_0_en.png | 4 +- ...ontent_PollContentViewCreator_Day_0_en.png | 4 +- ...tent_PollContentViewCreator_Night_0_en.png | 4 +- ...tent_PollContentViewDisclosed_Day_0_en.png | 4 +- ...nt_PollContentViewDisclosed_Night_0_en.png | 4 +- ...lcontent_PollContentViewEnded_Day_0_en.png | 4 +- ...ontent_PollContentViewEnded_Night_0_en.png | 4 +- ...nt_PollContentViewUndisclosed_Day_0_en.png | 4 +- ..._PollContentViewUndisclosed_Night_0_en.png | 4 +- ....impl.history_PollHistoryView_Day_0_en.png | 4 +- ....impl.history_PollHistoryView_Day_1_en.png | 4 +- ...mpl.history_PollHistoryView_Night_0_en.png | 4 +- ...mpl.history_PollHistoryView_Night_1_en.png | 4 +- ...blockedusers_BlockedUsersView_Day_4_en.png | 4 +- ...blockedusers_BlockedUsersView_Day_5_en.png | 4 +- ...ockedusers_BlockedUsersView_Night_4_en.png | 4 +- ...ockedusers_BlockedUsersView_Night_5_en.png | 4 +- ...efaultNotificationSettingView_Day_2_en.png | 4 +- ...aultNotificationSettingView_Night_2_en.png | 4 +- ...ions_NotificationSettingsView_Day_2_en.png | 4 +- ...ns_NotificationSettingsView_Night_2_en.png | 4 +- ...nces_RageshakePreferencesView_Day_0_en.png | 4 +- ...es_RageshakePreferencesView_Night_0_en.png | 4 +- ....impl.bugreport_BugReportView_Day_1_en.png | 4 +- ....impl.bugreport_BugReportView_Day_2_en.png | 4 +- ...mpl.bugreport_BugReportView_Night_1_en.png | 4 +- ...mpl.bugreport_BugReportView_Night_2_en.png | 4 +- ...er.impl_RoomAliasResolverView_Day_1_en.png | 4 +- ....impl_RoomAliasResolverView_Night_1_en.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_6_en.png | 4 +- ...pl.edit_RoomDetailsEditView_Night_6_en.png | 4 +- ....invite_RoomInviteMembersView_Day_7_en.png | 4 +- ...nvite_RoomInviteMembersView_Night_7_en.png | 4 +- ...ion_RoomMembersModerationView_Day_0_en.png | 4 +- ...ion_RoomMembersModerationView_Day_1_en.png | 4 +- ...ion_RoomMembersModerationView_Day_2_en.png | 4 +- ...ion_RoomMembersModerationView_Day_3_en.png | 4 +- ...ion_RoomMembersModerationView_Day_4_en.png | 4 +- ...ion_RoomMembersModerationView_Day_5_en.png | 4 +- ...ion_RoomMembersModerationView_Day_6_en.png | 4 +- ...n_RoomMembersModerationView_Night_0_en.png | 4 +- ...n_RoomMembersModerationView_Night_1_en.png | 4 +- ...n_RoomMembersModerationView_Night_2_en.png | 4 +- ...n_RoomMembersModerationView_Night_3_en.png | 4 +- ...n_RoomMembersModerationView_Night_4_en.png | 4 +- ...n_RoomMembersModerationView_Night_5_en.png | 4 +- ...n_RoomMembersModerationView_Night_6_en.png | 4 +- ...bers_RoomMemberListViewBanned_Day_1_en.png | 4 +- ...rs_RoomMemberListViewBanned_Night_1_en.png | 4 +- ...pl.members_RoomMemberListView_Day_1_en.png | 4 +- ...pl.members_RoomMemberListView_Day_2_en.png | 4 +- ...pl.members_RoomMemberListView_Day_3_en.png | 4 +- ....members_RoomMemberListView_Night_1_en.png | 4 +- ....members_RoomMemberListView_Night_2_en.png | 4 +- ....members_RoomMemberListView_Night_3_en.png | 4 +- ..._RoomNotificationSettingsView_Day_2_en.png | 4 +- ..._RoomNotificationSettingsView_Day_4_en.png | 4 +- ...oomNotificationSettingsView_Night_2_en.png | 4 +- ...oomNotificationSettingsView_Night_4_en.png | 4 +- ...s.changeroles_ChangeRolesView_Day_8_en.png | 4 +- ...s.changeroles_ChangeRolesView_Day_9_en.png | 4 +- ...changeroles_ChangeRolesView_Night_8_en.png | 4 +- ...changeroles_ChangeRolesView_Night_9_en.png | 4 +- ...ons_ChangeRoomPermissionsView_Day_4_en.png | 4 +- ...s_ChangeRoomPermissionsView_Night_4_en.png | 4 +- ...sions_RolesAndPermissionsView_Day_2_en.png | 4 +- ...sions_RolesAndPermissionsView_Day_3_en.png | 4 +- ...sions_RolesAndPermissionsView_Day_6_en.png | 4 +- ...ons_RolesAndPermissionsView_Night_2_en.png | 4 +- ...ons_RolesAndPermissionsView_Night_3_en.png | 4 +- ...ons_RolesAndPermissionsView_Night_6_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_0_en.png | 4 +- ...roomdetails.impl_RoomDetailsDark_10_en.png | 4 +- ...roomdetails.impl_RoomDetailsDark_11_en.png | 4 +- ...roomdetails.impl_RoomDetailsDark_12_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_1_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_2_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_3_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_4_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_5_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_6_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_7_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_8_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_9_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_0_en.png | 4 +- ...res.roomdetails.impl_RoomDetails_10_en.png | 4 +- ...res.roomdetails.impl_RoomDetails_11_en.png | 4 +- ...res.roomdetails.impl_RoomDetails_12_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_1_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_2_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_3_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_4_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_5_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_6_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_7_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_8_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_9_en.png | 4 +- ...y.impl.root_RoomDirectoryView_Day_2_en.png | 4 +- ...impl.root_RoomDirectoryView_Night_2_en.png | 4 +- ...ltRoomListTopBarWithIndicator_Day_0_en.png | 4 +- ...RoomListTopBarWithIndicator_Night_0_en.png | 4 +- ...ponents_DefaultRoomListTopBar_Day_0_en.png | 4 +- ...nents_DefaultRoomListTopBar_Night_0_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_0_en.png | 4 +- ...s.roomlist.impl_RoomListView_Day_10_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_1_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_2_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_3_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_4_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_5_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_6_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_7_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_8_en.png | 4 +- ....roomlist.impl_RoomListView_Night_0_en.png | 4 +- ...roomlist.impl_RoomListView_Night_10_en.png | 4 +- ....roomlist.impl_RoomListView_Night_1_en.png | 4 +- ....roomlist.impl_RoomListView_Night_2_en.png | 4 +- ....roomlist.impl_RoomListView_Night_3_en.png | 4 +- ....roomlist.impl_RoomListView_Night_4_en.png | 4 +- ....roomlist.impl_RoomListView_Night_5_en.png | 4 +- ....roomlist.impl_RoomListView_Night_6_en.png | 4 +- ....roomlist.impl_RoomListView_Night_7_en.png | 4 +- ....roomlist.impl_RoomListView_Night_8_en.png | 4 +- ...sable_SecureBackupDisableView_Day_2_en.png | 4 +- ...ble_SecureBackupDisableView_Night_2_en.png | 4 +- ...enable_SecureBackupEnableView_Day_1_en.png | 4 +- ...able_SecureBackupEnableView_Night_1_en.png | 4 +- ...ureBackupEnterRecoveryKeyView_Day_1_en.png | 4 +- ...ureBackupEnterRecoveryKeyView_Day_2_en.png | 4 +- ...eBackupEnterRecoveryKeyView_Night_1_en.png | 4 +- ...eBackupEnterRecoveryKeyView_Night_2_en.png | 4 +- ...ord_ResetIdentityPasswordView_Day_1_en.png | 4 +- ...ord_ResetIdentityPasswordView_Day_2_en.png | 4 +- ...d_ResetIdentityPasswordView_Night_1_en.png | 4 +- ...d_ResetIdentityPasswordView_Night_2_en.png | 4 +- ...mpl.root_SecureBackupRootView_Day_0_en.png | 4 +- ...mpl.root_SecureBackupRootView_Day_5_en.png | 4 +- ...mpl.root_SecureBackupRootView_Day_6_en.png | 4 +- ...mpl.root_SecureBackupRootView_Day_7_en.png | 4 +- ...mpl.root_SecureBackupRootView_Day_8_en.png | 4 +- ...l.root_SecureBackupRootView_Night_0_en.png | 4 +- ...l.root_SecureBackupRootView_Night_5_en.png | 4 +- ...l.root_SecureBackupRootView_Night_6_en.png | 4 +- ...l.root_SecureBackupRootView_Night_7_en.png | 4 +- ...l.root_SecureBackupRootView_Night_8_en.png | 4 +- ....setup.views_RecoveryKeyView_Day_10_en.png | 4 +- ....setup.views_RecoveryKeyView_Day_11_en.png | 4 +- ....setup.views_RecoveryKeyView_Day_12_en.png | 4 +- ....setup.views_RecoveryKeyView_Day_13_en.png | 4 +- ...l.setup.views_RecoveryKeyView_Day_1_en.png | 4 +- ...l.setup.views_RecoveryKeyView_Day_5_en.png | 4 +- ...etup.views_RecoveryKeyView_Night_10_en.png | 4 +- ...etup.views_RecoveryKeyView_Night_11_en.png | 4 +- ...etup.views_RecoveryKeyView_Night_12_en.png | 4 +- ...etup.views_RecoveryKeyView_Night_13_en.png | 4 +- ...setup.views_RecoveryKeyView_Night_1_en.png | 4 +- ...setup.views_RecoveryKeyView_Night_5_en.png | 4 +- ...p_SecureBackupSetupViewChange_Day_1_en.png | 4 +- ...SecureBackupSetupViewChange_Night_1_en.png | 4 +- ...l.setup_SecureBackupSetupView_Day_1_en.png | 4 +- ...setup_SecureBackupSetupView_Night_1_en.png | 4 +- ...features.share.impl_ShareView_Day_1_en.png | 4 +- ...atures.share.impl_ShareView_Night_1_en.png | 4 +- ...rofile.shared_UserProfileView_Day_5_en.png | 4 +- ...rofile.shared_UserProfileView_Day_6_en.png | 4 +- ...file.shared_UserProfileView_Night_5_en.png | 4 +- ...file.shared_UserProfileView_Night_6_en.png | 4 +- ...ysession.impl.emoji_SasEmojis_Day_0_en.png | 4 +- ...ession.impl.emoji_SasEmojis_Night_0_en.png | 4 +- ...n.impl_VerifySelfSessionView_Day_10_en.png | 4 +- ...n.impl_VerifySelfSessionView_Day_11_en.png | 4 +- ...n.impl_VerifySelfSessionView_Day_12_en.png | 4 +- ...on.impl_VerifySelfSessionView_Day_1_en.png | 4 +- ...on.impl_VerifySelfSessionView_Day_3_en.png | 4 +- ...impl_VerifySelfSessionView_Night_10_en.png | 4 +- ...impl_VerifySelfSessionView_Night_11_en.png | 4 +- ...impl_VerifySelfSessionView_Night_12_en.png | 4 +- ....impl_VerifySelfSessionView_Night_1_en.png | 4 +- ....impl_VerifySelfSessionView_Night_3_en.png | 4 +- ...folder.impl.file_ViewFileView_Day_0_en.png | 4 +- ...folder.impl.file_ViewFileView_Day_1_en.png | 4 +- ...lder.impl.file_ViewFileView_Night_0_en.png | 4 +- ...lder.impl.file_ViewFileView_Night_1_en.png | 4 +- ...mentLogoAtomLargeNoBlurShadow_Day_0_en.png | 4 +- ...ntLogoAtomLargeNoBlurShadow_Night_0_en.png | 4 +- ...ic.atoms_ElementLogoAtomLarge_Day_0_en.png | 4 +- ....atoms_ElementLogoAtomLarge_Night_0_en.png | 4 +- ...entLogoAtomMediumNoBlurShadow_Day_0_en.png | 4 +- ...tLogoAtomMediumNoBlurShadow_Night_0_en.png | 4 +- ...c.atoms_ElementLogoAtomMedium_Day_0_en.png | 4 +- ...atoms_ElementLogoAtomMedium_Night_0_en.png | 4 +- ...ystem.atomic.pages_SunsetPage_Day_0_en.png | 4 +- ...tem.atomic.pages_SunsetPage_Night_0_en.png | 4 +- ...ponents.async_AsyncActionView_Day_2_en.png | 4 +- ...nents.async_AsyncActionView_Night_2_en.png | 4 +- ...s.async_AsyncIndicatorFailure_Day_0_en.png | 4 +- ...async_AsyncIndicatorFailure_Night_0_en.png | 4 +- ...s.async_AsyncIndicatorLoading_Day_0_en.png | 4 +- ...async_AsyncIndicatorLoading_Night_0_en.png | 4 +- ...components.async_AsyncLoading_Day_0_en.png | 4 +- ...mponents.async_AsyncLoading_Night_0_en.png | 4 +- ...components.avatar_Avatar_Avatars_11_en.png | 4 +- ...components.avatar_Avatar_Avatars_50_en.png | 4 +- ...components.avatar_Avatar_Avatars_56_en.png | 4 +- ...components.avatar_Avatar_Avatars_59_en.png | 4 +- ....components.avatar_Avatar_Avatars_5_en.png | 4 +- ...nces_PreferenceCategory_Preferences_en.png | 4 +- ...ts.preferences_PreferencePage_Day_0_en.png | 4 +- ....preferences_PreferencePage_Night_0_en.png | 4 +- ...erences_PreferenceSlide_Preferences_en.png | 4 +- ...nces_PreferenceTextDark_Preferences_en.png | 4 +- ...ces_PreferenceTextLight_Preferences_en.png | 4 +- ...nceTextWithEndBadgeDark_Preferences_en.png | 4 +- ...ceTextWithEndBadgeLight_Preferences_en.png | 4 +- ...ystem.components_BigCheckmark_Day_0_en.png | 4 +- ...tem.components_BigCheckmark_Night_0_en.png | 4 +- ...nents_ProgressDialogContent_Dialogs_en.png | 4 +- ...tem.components_ProgressDialog_Day_0_en.png | 4 +- ...m.components_ProgressDialog_Night_0_en.png | 4 +- ...ews_DatePickerDark_DateTime pickers_en.png | 4 +- ...ws_DatePickerLight_DateTime pickers_en.png | 4 +- ...mePickerHorizontal_DateTime pickers_en.png | 4 +- ...PickerVerticalDark_DateTime pickers_en.png | 4 +- ...ickerVerticalLight_DateTime pickers_en.png | 4 +- ...ponents_BottomSheetDragHandle_Day_0_en.png | 4 +- ...nents_BottomSheetDragHandle_Night_0_en.png | 4 +- ...ogressIndicator_Progress Indicators_en.png | 4 +- ...FilledButtonLargeLowPadding_Buttons_en.png | 4 +- ...omponents_FilledButtonLarge_Buttons_en.png | 4 +- ...illedButtonMediumLowPadding_Buttons_en.png | 4 +- ...mponents_FilledButtonMedium_Buttons_en.png | 4 +- ...omponents_FilledButtonSmall_Buttons_en.png | 4 +- ...ctionButton_Floating Action Buttons_en.png | 4 +- ...ogressIndicator_Progress Indicators_en.png | 4 +- ..._ModalBottomSheetDark_Bottom Sheets_en.png | 4 +- ...ModalBottomSheetLight_Bottom Sheets_en.png | 4 +- ...tlinedButtonLargeLowPadding_Buttons_en.png | 4 +- ...ponents_OutlinedButtonLarge_Buttons_en.png | 4 +- ...linedButtonMediumLowPadding_Buttons_en.png | 4 +- ...onents_OutlinedButtonMedium_Buttons_en.png | 4 +- ...ponents_OutlinedButtonSmall_Buttons_en.png | 4 +- ...s_OutlinedTextFieldsDark_TextFields_en.png | 4 +- ...nents_OutlinedTextFields_TextFields_en.png | 4 +- ...em.theme.components_Sliders_Sliders_en.png | 4 +- ...h action and close button_Snackbars_en.png | 4 +- ... close button on new line_Snackbars_en.png | 4 +- ...r with action on new line_Snackbars_en.png | 4 +- ...tion_Snackbar with action_Snackbars_en.png | 4 +- ...ponents_Snackbar_Snackbar_Snackbars_en.png | 4 +- ...tem.theme.components_Switch_Toggles_en.png | 4 +- ...s_TextButtonLargeLowPadding_Buttons_en.png | 4 +- ....components_TextButtonLarge_Buttons_en.png | 4 +- ..._TextButtonMediumLowPadding_Buttons_en.png | 4 +- ...components_TextButtonMedium_Buttons_en.png | 4 +- ....components_TextButtonSmall_Buttons_en.png | 4 +- ...ents_TextFieldValueLight_TextFields_en.png | 4 +- ...tFieldValueTextFieldDark_TextFields_en.png | 4 +- ...nents_AvatarActionBottomSheet_Day_0_en.png | 4 +- ...nts_AvatarActionBottomSheet_Night_0_en.png | 4 +- ...components_EditableAvatarView_Day_1_en.png | 4 +- ...mponents_EditableAvatarView_Night_1_en.png | 4 +- ...viewer.api.viewer_MediaViewerView_1_en.png | 4 +- ...viewer.api.viewer_MediaViewerView_6_en.png | 4 +- ...viewer.api.viewer_MediaViewerView_8_en.png | 4 +- ...es.oidc.impl.webview_OidcView_Day_1_en.png | 4 +- ....oidc.impl.webview_OidcView_Night_1_en.png | 4 +- ...extcomposer_TextComposerVoice_Day_0_en.png | 4 +- ...tcomposer_TextComposerVoice_Night_0_en.png | 4 +- ...TroubleshootNotificationsView_Day_1_en.png | 4 +- ...TroubleshootNotificationsView_Day_2_en.png | 4 +- ...TroubleshootNotificationsView_Day_4_en.png | 4 +- ...oubleshootNotificationsView_Night_1_en.png | 4 +- ...oubleshootNotificationsView_Night_2_en.png | 4 +- ...oubleshootNotificationsView_Night_4_en.png | 4 +- 536 files changed, 1187 insertions(+), 1148 deletions(-) diff --git a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt index d0966cb2e8..676f5fcd38 100644 --- a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt +++ b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/AnalyticsOptInView.kt @@ -15,7 +15,6 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.systemBarsPadding -import androidx.compose.foundation.text.ClickableText import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment @@ -36,6 +35,7 @@ import io.element.android.libraries.designsystem.atomic.organisms.InfoListOrgani import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage import io.element.android.libraries.designsystem.background.OnboardingBackground import io.element.android.libraries.designsystem.components.BigIcon +import io.element.android.libraries.designsystem.components.ClickableLinkText import io.element.android.libraries.designsystem.components.PageTitle import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight @@ -104,14 +104,9 @@ private fun AnalyticsOptInHeader( bold = true, tagAndLink = LINK_TAG to AnalyticsConfig.POLICY_LINK, ) - ClickableText( - text = text, - onClick = { - text - .getStringAnnotations(LINK_TAG, it, it) - .firstOrNull() - ?.let { _ -> onClickTerms() } - }, + ClickableLinkText( + annotatedString = text, + onClick = { onClickTerms() }, modifier = Modifier .padding(8.dp), style = ElementTheme.typography.fontBodyMdRegular diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/biometric/DefaultBiometricUnlockManager.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/biometric/DefaultBiometricUnlockManager.kt index 7c2f668970..4d74574beb 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/biometric/DefaultBiometricUnlockManager.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/biometric/DefaultBiometricUnlockManager.kt @@ -18,10 +18,10 @@ import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext -import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.compose.ui.res.stringResource import androidx.core.content.getSystemService import androidx.fragment.app.FragmentActivity +import androidx.lifecycle.compose.LocalLifecycleOwner import com.squareup.anvil.annotations.ContributesBinding import io.element.android.features.lockscreen.impl.LockScreenConfig import io.element.android.features.lockscreen.impl.R diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt index a81975bf46..cccfe89409 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/ActionListView.kt @@ -25,11 +25,11 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.ripple.rememberRipple import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ListItemDefaults import androidx.compose.material3.MaterialTheme import androidx.compose.material3.rememberModalBottomSheetState +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope @@ -356,7 +356,7 @@ private fun EmojiReactionsRow( .clickable( enabled = true, onClick = onCustomReactionClick, - indication = rememberRipple(bounded = false, radius = emojiRippleRadius), + indication = ripple(bounded = false, radius = emojiRippleRadius), interactionSource = remember { MutableInteractionSource() } ) ) @@ -433,7 +433,7 @@ private fun EmojiButton( .clickable( enabled = true, onClick = { onClick(emoji) }, - indication = rememberRipple(bounded = false, radius = emojiRippleRadius), + indication = ripple(bounded = false, radius = emojiRippleRadius), interactionSource = remember { MutableInteractionSource() } ) ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt index 83ede60323..30cb2b6344 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt @@ -145,6 +145,7 @@ fun TimelineView( key = { timelineItem -> timelineItem.identifier() }, ) { timelineItem -> TimelineItemRow( + modifier = Modifier.animateItem(), timelineItem = timelineItem, timelineRoomInfo = state.timelineRoomInfo, renderReadReceipts = state.renderReadReceipts, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageEventBubble.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageEventBubble.kt index dde26659a8..f080bc58dd 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageEventBubble.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageEventBubble.kt @@ -16,7 +16,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.ripple.rememberRipple +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -135,7 +135,7 @@ fun MessageEventBubble( .combinedClickable( onClick = onClick, onLongClick = onLongClick, - indication = rememberRipple(), + indication = ripple(), interactionSource = interactionSource ), color = backgroundBubbleColor, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageStateEventContainer.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageStateEventContainer.kt index ae25b49ace..c42fb5d20a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageStateEventContainer.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageStateEventContainer.kt @@ -15,7 +15,7 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.ripple.rememberRipple +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier @@ -48,7 +48,7 @@ fun MessageStateEventContainer( .combinedClickable( onClick = onClick, onLongClick = onLongClick, - indication = rememberRipple(), + indication = ripple(), interactionSource = interactionSource ), color = backgroundColor, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/EmojiItem.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/EmojiItem.kt index eae91efc8b..a4ca74d850 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/EmojiItem.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/customreaction/EmojiItem.kt @@ -15,8 +15,8 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.sizeIn import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.ripple.rememberRipple import androidx.compose.material3.LocalTextStyle +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -61,7 +61,7 @@ fun EmojiItem( .clickable( enabled = true, onClick = { onSelectEmoji(item) }, - indication = rememberRipple(bounded = false, radius = emojiSize.toDp() / 2 + 10.dp), + indication = ripple(bounded = false, radius = emojiSize.toDp() / 2 + 10.dp), interactionSource = remember { MutableInteractionSource() } ) .clearAndSetSemantics { diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt index fe9990d01a..f2e427e3be 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt @@ -114,7 +114,7 @@ private fun ElementCallCategory( validation = callUrlState.validator, onValidationErrorMessage = stringResource(R.string.screen_advanced_settings_element_call_base_url_validation_error), displayValue = { value -> !isUsingDefaultUrl(value) }, - keyboardOptions = KeyboardOptions.Default.copy(autoCorrect = false, keyboardType = KeyboardType.Uri), + keyboardOptions = KeyboardOptions.Default.copy(autoCorrectEnabled = false, keyboardType = KeyboardType.Uri), onChange = { state.eventSink(DeveloperSettingsEvents.SetCustomElementCallBaseUrl(it)) } ) } diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt index 834c6d3517..5b2fcfdc48 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/notificationsettings/RoomNotificationSettingsView.kt @@ -12,7 +12,6 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.consumeWindowInsets import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.text.ClickableText import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable @@ -24,6 +23,7 @@ import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.features.roomdetails.impl.R import io.element.android.libraries.core.bool.orTrue +import io.element.android.libraries.designsystem.components.ClickableLinkText import io.element.android.libraries.designsystem.components.async.AsyncActionView import io.element.android.libraries.designsystem.components.button.BackButton import io.element.android.libraries.designsystem.components.preferences.PreferenceCategory @@ -102,8 +102,8 @@ private fun RoomSpecificNotificationSettingsView( underline = false, bold = true, ) - ClickableText( - text = text, + ClickableLinkText( + annotatedString = text, onClick = { onShowGlobalNotifications() }, diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt index ebb66b18e2..460871c62b 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt @@ -23,8 +23,8 @@ import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width -import androidx.compose.material.ripple.rememberRipple import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -137,7 +137,7 @@ private fun RoomSummaryScaffoldRow( val clickModifier = Modifier.combinedClickable( onClick = { onClick(room) }, onLongClick = { onLongClick(room) }, - indication = rememberRipple(), + indication = ripple(), interactionSource = remember { MutableInteractionSource() } ) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersView.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersView.kt index a876d397a8..bde7490a79 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersView.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersView.kt @@ -116,7 +116,7 @@ fun RoomListFiltersView( val zIndex = (if (previousFilters.value.contains(filterWithSelection.filter)) state.filterSelectionStates.size else 0) - i.toFloat() RoomListFilterView( modifier = Modifier - .animateItemPlacement() + .animateItem() .zIndex(zIndex), roomListFilter = filterWithSelection.filter, selected = filterWithSelection.isSelected, diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0d97c8bcef..61348a301c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -24,7 +24,7 @@ media3 = "1.4.1" camera = "1.3.4" # Compose -compose_bom = "2024.08.00" +compose_bom = "2024.09.00" composecompiler = "1.5.15" # Coroutines diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/ElementLogoAtom.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/ElementLogoAtom.kt index 8fe7859fff..cc7ab7c1fa 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/ElementLogoAtom.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/ElementLogoAtom.kt @@ -86,13 +86,13 @@ fun ElementLogoAtom( .size(size.logoSize) // Do the same double shadow than on Figma... .shadow( - elevation = 25.dp, + elevation = 35.dp, clip = false, shape = CircleShape, ambientColor = logoShadowColor, ) .shadow( - elevation = 25.dp, + elevation = 35.dp, clip = false, shape = CircleShape, ambientColor = Color(0x80000000), diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ClickableLinkText.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ClickableLinkText.kt index e0732869b4..ed73f8cb6e 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ClickableLinkText.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ClickableLinkText.kt @@ -23,7 +23,7 @@ import androidx.compose.ui.geometry.Offset import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.text.AnnotatedString -import androidx.compose.ui.text.ExperimentalTextApi +import androidx.compose.ui.text.LinkAnnotation import androidx.compose.ui.text.ParagraphStyle import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.TextLayoutResult @@ -37,6 +37,7 @@ import io.element.android.libraries.designsystem.preview.PreviewGroup import io.element.android.libraries.designsystem.theme.components.Text import kotlinx.collections.immutable.ImmutableMap import kotlinx.collections.immutable.persistentMapOf +import timber.log.Timber const val LINK_TAG = "URL" @@ -65,7 +66,6 @@ fun ClickableLinkText( ) } -@OptIn(ExperimentalTextApi::class) @Composable fun ClickableLinkText( annotatedString: AnnotatedString, @@ -106,14 +106,18 @@ fun ClickableLinkText( ) { offset -> layoutResult.value?.let { layoutResult -> val position = layoutResult.getOffsetForPosition(offset) - val linkUrlAnnotations = annotatedString.getUrlAnnotations(position, position) - .map { AnnotatedString.Range(it.item.url, it.start, it.end, linkAnnotationTag) } + val linkUrlAnnotations = annotatedString.getLinkAnnotations(position, position) + .map { AnnotatedString.Range(it.item, it.start, it.end, linkAnnotationTag) } val linkStringAnnotations = linkUrlAnnotations + annotatedString.getStringAnnotations(linkAnnotationTag, position, position) if (linkStringAnnotations.isEmpty()) { onClick() } else { - uriHandler.openUri(linkStringAnnotations.first().item) + when (val annotation = linkStringAnnotations.first().item) { + is LinkAnnotation.Url -> uriHandler.openUri(annotation.url) + is String -> uriHandler.openUri(annotation) + else -> Timber.e("Unknown link annotation: $annotation") + } } } } @@ -129,7 +133,6 @@ fun ClickableLinkText( ) } -@OptIn(ExperimentalTextApi::class) fun AnnotatedString.linkify(linkStyle: SpanStyle): AnnotatedString { val original = this val spannable = SpannableString(this.text) @@ -141,7 +144,7 @@ fun AnnotatedString.linkify(linkStyle: SpanStyle): AnnotatedString { for (span in spans) { val start = spannable.getSpanStart(span) val end = spannable.getSpanEnd(span) - if (original.getUrlAnnotations(start, end).isEmpty() && original.getStringAnnotations("URL", start, end).isEmpty()) { + if (original.getLinkAnnotations(start, end).isEmpty() && original.getStringAnnotations("URL", start, end).isEmpty()) { // Prevent linkifying domains in user or room handles (@user:domain.com, #room:domain.com) if (start > 0 && !spannable[start - 1].isWhitespace()) continue addStyle( diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/GradientFloatingActionButton.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/GradientFloatingActionButton.kt index 675658c356..bd2cee90e5 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/GradientFloatingActionButton.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/GradientFloatingActionButton.kt @@ -14,9 +14,9 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.ripple.rememberRipple import androidx.compose.material3.LocalContentColor import androidx.compose.material3.minimumInteractiveComponentSize +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.remember @@ -92,7 +92,7 @@ fun GradientFloatingActionButton( enabled = true, onClick = onClick, interactionSource = remember { MutableInteractionSource() }, - indication = rememberRipple(color = Color.White) + indication = ripple(color = Color.White) ), contentAlignment = Alignment.Center ) { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/MainActionButton.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/MainActionButton.kt index 1f19f795c4..8b1afd2912 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/MainActionButton.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/MainActionButton.kt @@ -16,9 +16,9 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.widthIn -import androidx.compose.material.ripple.rememberRipple import androidx.compose.material3.LocalContentColor import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -45,7 +45,7 @@ fun MainActionButton( enabled: Boolean = true, contentDescription: String = title, ) { - val ripple = rememberRipple(bounded = false) + val ripple = ripple(bounded = false) val interactionSource = remember { MutableInteractionSource() } Column( modifier diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/SuperButton.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/SuperButton.kt index cca81a6b58..84b5fe4be5 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/SuperButton.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/button/SuperButton.kt @@ -16,11 +16,11 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.ripple.rememberRipple import androidx.compose.material3.LocalContentColor import androidx.compose.material3.LocalTextStyle import androidx.compose.material3.Text import androidx.compose.material3.minimumInteractiveComponentSize +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.remember @@ -111,7 +111,7 @@ fun SuperButton( enabled = enabled, onClick = onClick, interactionSource = remember { MutableInteractionSource() }, - indication = rememberRipple() + indication = ripple() ) .padding(contentPadding), contentAlignment = Alignment.Center diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/keyboard/Keyboard.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/keyboard/Keyboard.kt index 14893f6737..0d4e702191 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/keyboard/Keyboard.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/keyboard/Keyboard.kt @@ -13,8 +13,8 @@ import androidx.compose.foundation.layout.isImeVisible import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.rememberUpdatedState -import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.lifecycle.Lifecycle +import androidx.lifecycle.compose.LocalLifecycleOwner /** * Inspired from https://stackoverflow.com/questions/68847559/how-can-i-detect-keyboard-opening-and-closing-in-jetpack-compose diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/tooltip/PlainTooltip.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/tooltip/PlainTooltip.kt index f446bf71dd..ba09e3dffd 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/tooltip/PlainTooltip.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/tooltip/PlainTooltip.kt @@ -7,9 +7,9 @@ package io.element.android.libraries.designsystem.components.tooltip -import androidx.compose.material3.CaretScope import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.TooltipDefaults +import androidx.compose.material3.TooltipScope import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -19,7 +19,7 @@ import androidx.compose.material3.PlainTooltip as M3PlainTooltip @OptIn(ExperimentalMaterial3Api::class) @Composable -fun CaretScope.PlainTooltip( +fun TooltipScope.PlainTooltip( modifier: Modifier = Modifier, contentColor: Color = ElementTheme.colors.textOnSolidPrimary, containerColor: Color = ElementTheme.colors.bgActionPrimaryRest, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/tooltip/TooltipBox.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/tooltip/TooltipBox.kt index 72536b6b38..0ceddee159 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/tooltip/TooltipBox.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/tooltip/TooltipBox.kt @@ -7,8 +7,8 @@ package io.element.android.libraries.designsystem.components.tooltip -import androidx.compose.material3.CaretScope import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.TooltipScope import androidx.compose.material3.TooltipState import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier @@ -19,7 +19,7 @@ import androidx.compose.material3.TooltipBox as M3TooltipBox @Composable fun TooltipBox( positionProvider: PopupPositionProvider, - tooltip: @Composable CaretScope.() -> Unit, + tooltip: @Composable TooltipScope.() -> Unit, state: TooltipState, modifier: Modifier = Modifier, focusable: Boolean = true, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/ApplyIf.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/ApplyIf.kt index 5080106028..cfce0ce4f3 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/ApplyIf.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/ApplyIf.kt @@ -8,8 +8,6 @@ package io.element.android.libraries.designsystem.modifiers import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.debugInspectorInfo -import androidx.compose.ui.platform.inspectable /** * Applies the [ifTrue] modifier when the [condition] is true, [ifFalse] otherwise. @@ -18,15 +16,8 @@ fun Modifier.applyIf( condition: Boolean, ifTrue: Modifier.() -> Modifier, ifFalse: (Modifier.() -> Modifier)? = null -): Modifier = this then inspectable( - inspectorInfo = debugInspectorInfo { - name = "applyIf" - value = condition - } -) { - this then when { - condition -> ifTrue(Modifier) - ifFalse != null -> ifFalse(Modifier) - else -> Modifier - } +): Modifier = this then when { + condition -> ifTrue(Modifier) + ifFalse != null -> ifFalse(Modifier) + else -> Modifier } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/Blur.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/Blur.kt index 8cefb43aa9..02db133080 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/Blur.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/Blur.kt @@ -48,8 +48,7 @@ fun Modifier.blurredShapeShadow( offsetX: Dp = 0.dp, offsetY: Dp = 0.dp, blurRadius: Dp = 0.dp, -) = then( - drawBehind { +) = drawBehind { drawIntoCanvas { canvas -> val path = Path().apply { addRoundRect(RoundRect(Rect(Offset.Zero, size), CornerRadius(cornerRadius.toPx()))) @@ -78,8 +77,7 @@ fun Modifier.blurredShapeShadow( ) } } - } -) +} fun Modifier.blurCompat( radius: Dp, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/ClearFocusOnTap.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/ClearFocusOnTap.kt index d07d1ce6b0..d4ffcf9f84 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/ClearFocusOnTap.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/ClearFocusOnTap.kt @@ -12,10 +12,8 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusManager import androidx.compose.ui.input.pointer.pointerInput -fun Modifier.clearFocusOnTap(focusManager: FocusManager): Modifier = then( - pointerInput(Unit) { - detectTapGestures(onTap = { - focusManager.clearFocus() - }) - } -) +fun Modifier.clearFocusOnTap(focusManager: FocusManager): Modifier = pointerInput(Unit) { + detectTapGestures(onTap = { + focusManager.clearFocus() + }) +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BottomSheetDragHandle.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BottomSheetDragHandle.kt index 9bcb218c01..586421ed3f 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BottomSheetDragHandle.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BottomSheetDragHandle.kt @@ -45,8 +45,8 @@ fun BottomSheetDragHandle( .fillMaxWidth() .requiredHeight(72.dp) .offset(y = 18.dp) - .clip(MaterialTheme.shapes.extraLarge) - .background(MaterialTheme.colorScheme.background) + .clip(MaterialTheme.shapes.large) + .background(MaterialTheme.colorScheme.surface) .border(0.5.dp, ElementTheme.colors.borderDisabled, MaterialTheme.shapes.extraLarge) ) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BottomSheetScaffold.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BottomSheetScaffold.kt index 6cd9bfbfa2..6d2be2aa38 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BottomSheetScaffold.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/BottomSheetScaffold.kt @@ -32,7 +32,7 @@ fun BottomSheetScaffold( scaffoldState: BottomSheetScaffoldState = rememberBottomSheetScaffoldState(), sheetPeekHeight: Dp = BottomSheetDefaults.SheetPeekHeight, sheetShape: Shape = BottomSheetDefaults.ExpandedShape, - sheetContainerColor: Color = BottomSheetDefaults.ContainerColor, + sheetContainerColor: Color = MaterialTheme.colorScheme.surface, sheetContentColor: Color = contentColorFor(sheetContainerColor), sheetTonalElevation: Dp = BottomSheetDefaults.Elevation, sheetShadowElevation: Dp = BottomSheetDefaults.Elevation, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/CircularProgressIndicator.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/CircularProgressIndicator.kt index 7b10767e6e..3f4ce512f5 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/CircularProgressIndicator.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/CircularProgressIndicator.kt @@ -9,8 +9,10 @@ package io.element.android.libraries.designsystem.theme.components import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.padding import androidx.compose.material3.ProgressIndicatorDefaults import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalInspectionMode @@ -25,12 +27,14 @@ fun CircularProgressIndicator( progress: () -> Float, modifier: Modifier = Modifier, color: Color = ProgressIndicatorDefaults.circularColor, + trackColor: Color = ProgressIndicatorDefaults.circularDeterminateTrackColor, strokeWidth: Dp = ProgressIndicatorDefaults.CircularStrokeWidth ) { androidx.compose.material3.CircularProgressIndicator( modifier = modifier, progress = progress, color = color, + trackColor = trackColor, strokeWidth = strokeWidth, ) } @@ -39,6 +43,7 @@ fun CircularProgressIndicator( fun CircularProgressIndicator( modifier: Modifier = Modifier, color: Color = ProgressIndicatorDefaults.circularColor, + trackColor: Color = ProgressIndicatorDefaults.circularIndeterminateTrackColor, strokeWidth: Dp = ProgressIndicatorDefaults.CircularStrokeWidth, ) { if (LocalInspectionMode.current) { @@ -47,12 +52,14 @@ fun CircularProgressIndicator( modifier = modifier, progress = { 0.75F }, color = color, + trackColor = trackColor, strokeWidth = strokeWidth, ) } else { androidx.compose.material3.CircularProgressIndicator( modifier = modifier, color = color, + trackColor = trackColor, strokeWidth = strokeWidth, ) } @@ -61,12 +68,18 @@ fun CircularProgressIndicator( @Preview(group = PreviewGroup.Progress) @Composable internal fun CircularProgressIndicatorPreview() = ElementThemedPreview(vertical = false) { - Column(verticalArrangement = Arrangement.spacedBy(4.dp)) { + Column( + modifier = Modifier.padding(6.dp), + verticalArrangement = Arrangement.spacedBy(4.dp), + horizontalAlignment = Alignment.CenterHorizontally + ) { // Indeterminate progress + Text("Indeterminate") CircularProgressIndicator() // Fixed progress + Text("Fixed progress") CircularProgressIndicator( - progress = { 0.90F } + progress = { 0.50F } ) } } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheet.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheet.kt index 0a684710ba..2bad64747f 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheet.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheet.kt @@ -15,6 +15,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material3.BottomSheetDefaults import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.MaterialTheme import androidx.compose.material3.SheetState import androidx.compose.material3.contentColorFor import androidx.compose.material3.rememberModalBottomSheetState @@ -42,12 +43,12 @@ fun ModalBottomSheet( modifier: Modifier = Modifier, sheetState: SheetState = rememberModalBottomSheetState(), shape: Shape = BottomSheetDefaults.ExpandedShape, - containerColor: Color = BottomSheetDefaults.ContainerColor, + containerColor: Color = MaterialTheme.colorScheme.surface, contentColor: Color = contentColorFor(containerColor), tonalElevation: Dp = if (ElementTheme.isLightTheme) 0.dp else BottomSheetDefaults.Elevation, scrimColor: Color = BottomSheetDefaults.ScrimColor, dragHandle: @Composable (() -> Unit)? = { BottomSheetDefaults.DragHandle() }, - windowInsets: WindowInsets = BottomSheetDefaults.windowInsets, + contentWindowInsets: @Composable () -> WindowInsets = { BottomSheetDefaults.windowInsets }, content: @Composable ColumnScope.() -> Unit, ) { val safeSheetState = if (LocalInspectionMode.current) sheetStateForPreview() else sheetState @@ -61,7 +62,7 @@ fun ModalBottomSheet( tonalElevation = tonalElevation, scrimColor = scrimColor, dragHandle = dragHandle, - windowInsets = windowInsets, + contentWindowInsets = contentWindowInsets, content = content, ) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/SearchBar.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/SearchBar.kt index ba7ac22405..d47a99f29f 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/SearchBar.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/SearchBar.kt @@ -16,9 +16,10 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.SearchBar import androidx.compose.material3.SearchBarColors import androidx.compose.material3.SearchBarDefaults +import androidx.compose.material3.TextFieldColors import androidx.compose.material3.TextFieldDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.Immutable @@ -56,8 +57,10 @@ fun SearchBar( tonalElevation: Dp = SearchBarDefaults.TonalElevation, windowInsets: WindowInsets = SearchBarDefaults.windowInsets, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, - inactiveColors: SearchBarColors = ElementSearchBarDefaults.inactiveColors(), - activeColors: SearchBarColors = ElementSearchBarDefaults.activeColors(), + inactiveBarColors: SearchBarColors = ElementSearchBarDefaults.inactiveColors(), + activeBarColors: SearchBarColors = ElementSearchBarDefaults.activeColors(), + inactiveTextInputColors: TextFieldColors = ElementSearchBarDefaults.inactiveInputFieldColors(), + activeTextInputColors: TextFieldColors = ElementSearchBarDefaults.activeInputFieldColors(), contentPrefix: @Composable ColumnScope.() -> Unit = {}, contentSuffix: @Composable ColumnScope.() -> Unit = {}, resultHandler: @Composable ColumnScope.(T) -> Unit = {}, @@ -69,51 +72,58 @@ fun SearchBar( focusManager.clearFocus() } - androidx.compose.material3.SearchBar( - query = query, - onQueryChange = onQueryChange, - onSearch = { focusManager.clearFocus() }, - active = active, - onActiveChange = onActiveChange, - modifier = modifier.padding(horizontal = if (!active) 16.dp else 0.dp), - enabled = enabled, - placeholder = { - Text(text = placeHolderTitle) - }, - leadingIcon = if (showBackButton && active) { - { BackButton(onClick = { onActiveChange(false) }) } - } else { - null - }, - trailingIcon = when { - active && query.isNotEmpty() -> { - { - IconButton(onClick = { onQueryChange("") }) { - Icon( - imageVector = CompoundIcons.Close(), - contentDescription = stringResource(CommonStrings.action_clear), - ) + SearchBar( + inputField = { + SearchBarDefaults.InputField( + query = query, + onQueryChange = onQueryChange, + onSearch = { focusManager.clearFocus() }, + expanded = active, + onExpandedChange = onActiveChange, + enabled = enabled, + placeholder = { + Text(text = placeHolderTitle) + }, + leadingIcon = if (showBackButton && active) { + { BackButton(onClick = { onActiveChange(false) }) } + } else { + null + }, + trailingIcon = when { + active && query.isNotEmpty() -> { + { + IconButton(onClick = { onQueryChange("") }) { + Icon( + imageVector = CompoundIcons.Close(), + contentDescription = stringResource(CommonStrings.action_clear), + ) + } + } } - } - } - !active -> { - { - Icon( - imageVector = CompoundIcons.Search(), - contentDescription = stringResource(CommonStrings.action_search), - tint = MaterialTheme.colorScheme.tertiary, - ) - } - } + !active -> { + { + Icon( + imageVector = CompoundIcons.Search(), + contentDescription = stringResource(CommonStrings.action_search), + tint = ElementTheme.materialColors.tertiary, + ) + } + } - else -> null + else -> null + }, + interactionSource = interactionSource, + colors = if (active) activeTextInputColors else inactiveTextInputColors, + ) }, + expanded = active, + onExpandedChange = onActiveChange, + modifier = modifier.padding(horizontal = if (!active) 16.dp else 0.dp), shape = shape, - colors = if (active) activeColors else inactiveColors, + colors = if (active) activeBarColors else inactiveBarColors, tonalElevation = tonalElevation, windowInsets = windowInsets, - interactionSource = interactionSource, content = { contentPrefix() when (resultState) { @@ -128,7 +138,7 @@ fun SearchBar( Text( text = stringResource(CommonStrings.common_no_results), textAlign = TextAlign.Center, - color = MaterialTheme.colorScheme.tertiary, + color = ElementTheme.materialColors.tertiary, modifier = Modifier.fillMaxWidth() ) } @@ -147,28 +157,34 @@ object ElementSearchBarDefaults { @Composable fun inactiveColors() = SearchBarDefaults.colors( containerColor = ElementTheme.materialColors.surfaceVariant, - inputFieldColors = TextFieldDefaults.colors( - unfocusedPlaceholderColor = ElementTheme.colors.textDisabled, - focusedPlaceholderColor = ElementTheme.colors.textDisabled, - unfocusedLeadingIconColor = MaterialTheme.colorScheme.primary, - focusedLeadingIconColor = MaterialTheme.colorScheme.primary, - unfocusedTrailingIconColor = MaterialTheme.colorScheme.primary, - focusedTrailingIconColor = MaterialTheme.colorScheme.primary, - ) + dividerColor = ElementTheme.materialColors.outline, + ) + + @Composable + fun inactiveInputFieldColors() = TextFieldDefaults.colors( + unfocusedPlaceholderColor = ElementTheme.colors.textDisabled, + focusedPlaceholderColor = ElementTheme.colors.textDisabled, + unfocusedLeadingIconColor = ElementTheme.materialColors.primary, + focusedLeadingIconColor = ElementTheme.materialColors.primary, + unfocusedTrailingIconColor = ElementTheme.materialColors.primary, + focusedTrailingIconColor = ElementTheme.materialColors.primary, ) @OptIn(ExperimentalMaterial3Api::class) @Composable fun activeColors() = SearchBarDefaults.colors( containerColor = Color.Transparent, - inputFieldColors = TextFieldDefaults.colors( - unfocusedPlaceholderColor = ElementTheme.colors.textDisabled, - focusedPlaceholderColor = ElementTheme.colors.textDisabled, - unfocusedLeadingIconColor = MaterialTheme.colorScheme.primary, - focusedLeadingIconColor = MaterialTheme.colorScheme.primary, - unfocusedTrailingIconColor = MaterialTheme.colorScheme.primary, - focusedTrailingIconColor = MaterialTheme.colorScheme.primary, - ) + dividerColor = ElementTheme.materialColors.outline, + ) + + @Composable + fun activeInputFieldColors() = TextFieldDefaults.colors( + unfocusedPlaceholderColor = ElementTheme.colors.textDisabled, + focusedPlaceholderColor = ElementTheme.colors.textDisabled, + unfocusedLeadingIconColor = ElementTheme.materialColors.primary, + focusedLeadingIconColor = ElementTheme.materialColors.primary, + unfocusedTrailingIconColor = ElementTheme.materialColors.primary, + focusedTrailingIconColor = ElementTheme.materialColors.primary, ) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TextField.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TextField.kt index 960dabf088..0a3e4c74c2 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TextField.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TextField.kt @@ -36,6 +36,7 @@ import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp +import io.element.android.compound.theme.ElementTheme import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight @@ -64,7 +65,12 @@ fun TextField( maxLines: Int = if (singleLine) 1 else Int.MAX_VALUE, interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, shape: Shape = TextFieldDefaults.shape, - colors: TextFieldColors = TextFieldDefaults.colors() + colors: TextFieldColors = TextFieldDefaults.colors( + unfocusedContainerColor = ElementTheme.colors.bgSubtleSecondary, + focusedContainerColor = ElementTheme.colors.bgSubtleSecondary, + disabledContainerColor = ElementTheme.colors.bgSubtleSecondary, + errorContainerColor = ElementTheme.colors.bgSubtleSecondary, + ) ) { androidx.compose.material3.TextField( value = value, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/bottomsheet/CustomBottomSheetScaffold.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/bottomsheet/CustomBottomSheetScaffold.kt index 32e6740c8e..4f39a8aa59 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/bottomsheet/CustomBottomSheetScaffold.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/bottomsheet/CustomBottomSheetScaffold.kt @@ -70,7 +70,7 @@ fun CustomBottomSheetScaffold( sheetPeekHeight: Dp = BottomSheetDefaults.SheetPeekHeight, sheetMaxWidth: Dp = BottomSheetDefaults.SheetMaxWidth, sheetShape: Shape = BottomSheetDefaults.ExpandedShape, - sheetContainerColor: Color = BottomSheetDefaults.ContainerColor, + sheetContainerColor: Color = Color.White, sheetContentColor: Color = contentColorFor(sheetContainerColor), sheetTonalElevation: Dp = BottomSheetDefaults.Elevation, sheetShadowElevation: Dp = BottomSheetDefaults.Elevation, @@ -367,6 +367,12 @@ private class MapDraggableAnchors(private val anchors: Map) : Dragg return anchors == other.anchors } + override fun forEach(block: (anchor: T, position: Float) -> Unit) { + for (anchor in anchors) { + block(anchor.key, anchor.value) + } + } + override fun hashCode() = 31 * anchors.hashCode() override fun toString() = "MapDraggableAnchors($anchors)" @@ -381,7 +387,7 @@ internal fun ConsumeSwipeWithinBottomSheetBoundsNestedScrollConnection( ): NestedScrollConnection = object : NestedScrollConnection { override fun onPreScroll(available: Offset, source: NestedScrollSource): Offset { val delta = available.toFloat() - return if (delta < 0 && source == NestedScrollSource.Drag) { + return if (delta < 0 && source == NestedScrollSource.UserInput) { sheetState.anchoredDraggableState.dispatchRawDelta(delta).toOffset() } else { Offset.Zero @@ -393,7 +399,7 @@ internal fun ConsumeSwipeWithinBottomSheetBoundsNestedScrollConnection( available: Offset, source: NestedScrollSource ): Offset { - return if (source == NestedScrollSource.Drag) { + return if (source == NestedScrollSource.UserInput) { sheetState.anchoredDraggableState.dispatchRawDelta(available.toFloat()).toOffset() } else { Offset.Zero diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/bottomsheet/CustomSheetState.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/bottomsheet/CustomSheetState.kt index cef7ede2fb..ac02787c3f 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/bottomsheet/CustomSheetState.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/bottomsheet/CustomSheetState.kt @@ -7,7 +7,9 @@ package io.element.android.libraries.designsystem.theme.components.bottomsheet +import androidx.compose.animation.core.DecayAnimationSpec import androidx.compose.animation.core.SpringSpec +import androidx.compose.animation.core.exponentialDecay import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.gestures.animateTo import androidx.compose.foundation.gestures.snapTo @@ -201,14 +203,12 @@ constructor( * gesture interaction or another programmatic interaction like a [animateTo] or [snapTo] call. * * @param targetValue The target value of the animation - * @param velocity The velocity of the animation */ @OptIn(ExperimentalFoundationApi::class) internal suspend fun animateTo( targetValue: SheetValue, - velocity: Float = anchoredDraggableState.lastVelocity ) { - anchoredDraggableState.animateTo(targetValue, velocity) + anchoredDraggableState.animateTo(targetValue) } /** @@ -235,7 +235,8 @@ constructor( @OptIn(ExperimentalFoundationApi::class) internal var anchoredDraggableState = androidx.compose.foundation.gestures.AnchoredDraggableState( initialValue = initialValue, - animationSpec = AnchoredDraggableDefaults.AnimationSpec, + snapAnimationSpec = AnchoredDraggableDefaults.SnapAnimationSpec, + decayAnimationSpec = AnchoredDraggableDefaults.DecayAnimationSpec, confirmValueChange = confirmValueChange, positionalThreshold = { with(requireDensity()) { 56.dp.toPx() } }, velocityThreshold = { with(requireDensity()) { 125.dp.toPx() } } @@ -298,5 +299,10 @@ internal object AnchoredDraggableDefaults { @get:ExperimentalMaterial3Api @Suppress("OPT_IN_MARKER_ON_WRONG_TARGET") @ExperimentalMaterial3Api - val AnimationSpec = SpringSpec() + val SnapAnimationSpec = SpringSpec() + + @get:ExperimentalMaterial3Api + @Suppress("OPT_IN_MARKER_ON_WRONG_TARGET") + @ExperimentalMaterial3Api + val DecayAnimationSpec = exponentialDecay() } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/OnLifecycleEvent.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/OnLifecycleEvent.kt index 25cf765bcc..11303a2287 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/OnLifecycleEvent.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/OnLifecycleEvent.kt @@ -10,10 +10,10 @@ package io.element.android.libraries.designsystem.utils import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.rememberUpdatedState -import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.compose.LocalLifecycleOwner @Composable fun OnLifecycleEvent(onEvent: (owner: LifecycleOwner, event: Lifecycle.Event) -> Unit) { diff --git a/libraries/maplibre-compose/src/main/kotlin/io/element/android/libraries/maplibre/compose/MapLibreMap.kt b/libraries/maplibre-compose/src/main/kotlin/io/element/android/libraries/maplibre/compose/MapLibreMap.kt index f1fe4b5abb..8a7ca2a90a 100644 --- a/libraries/maplibre-compose/src/main/kotlin/io/element/android/libraries/maplibre/compose/MapLibreMap.kt +++ b/libraries/maplibre-compose/src/main/kotlin/io/element/android/libraries/maplibre/compose/MapLibreMap.kt @@ -32,10 +32,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalInspectionMode -import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.compose.ui.viewinterop.AndroidView import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver +import androidx.lifecycle.compose.LocalLifecycleOwner import kotlinx.collections.immutable.ImmutableMap import kotlinx.collections.immutable.persistentMapOf import kotlinx.coroutines.awaitCancellation diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/EditableAvatarView.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/EditableAvatarView.kt index 41ae0f92d3..1750a88985 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/EditableAvatarView.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/EditableAvatarView.kt @@ -17,8 +17,8 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.ripple.rememberRipple import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -56,7 +56,7 @@ fun EditableAvatarView( .clickable( interactionSource = remember { MutableInteractionSource() }, onClick = onAvatarClick, - indication = rememberRipple(bounded = false), + indication = ripple(bounded = false), ) .testTag(TestTags.editAvatar) ) { diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt index 2a5a12b64d..eecefd2a45 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedRoom.kt @@ -15,8 +15,8 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.ripple.rememberRipple import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -73,7 +73,7 @@ fun SelectedRoom( .size(20.dp) .align(Alignment.TopEnd) .clickable( - indication = rememberRipple(), + indication = ripple(), interactionSource = remember { MutableInteractionSource() }, onClick = { onRemoveRoom(roomSummary) } ), diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt index 101707e59f..801dd4bd22 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/SelectedUser.kt @@ -15,7 +15,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.ripple.rememberRipple +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -72,7 +72,7 @@ fun SelectedUser( .size(20.dp) .align(Alignment.TopEnd) .clickable( - indication = rememberRipple(), + indication = ripple(), interactionSource = remember { MutableInteractionSource() }, onClick = { onUserRemove(matrixUser) } ), diff --git a/libraries/qrcode/src/main/kotlin/io/element/android/libraries/qrcode/QrCodeCameraView.kt b/libraries/qrcode/src/main/kotlin/io/element/android/libraries/qrcode/QrCodeCameraView.kt index a7b5561116..bc66bea781 100644 --- a/libraries/qrcode/src/main/kotlin/io/element/android/libraries/qrcode/QrCodeCameraView.kt +++ b/libraries/qrcode/src/main/kotlin/io/element/android/libraries/qrcode/QrCodeCameraView.kt @@ -30,9 +30,9 @@ import androidx.compose.ui.draw.clipToBounds import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalInspectionMode -import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.compose.ui.viewinterop.AndroidView import androidx.core.content.ContextCompat +import androidx.lifecycle.compose.LocalLifecycleOwner import io.element.android.compound.theme.ElementTheme import io.element.android.libraries.designsystem.theme.components.Text import kotlinx.coroutines.delay diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt index 76abbaf49f..a8d22330d3 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt @@ -16,8 +16,8 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.ripple.rememberRipple import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -94,7 +94,7 @@ private fun EditingModeView( enabled = true, onClick = onResetComposerMode, interactionSource = remember { MutableInteractionSource() }, - indication = rememberRipple(bounded = false) + indication = ripple(bounded = false) ), ) } @@ -124,7 +124,7 @@ private fun ReplyToModeView( enabled = true, onClick = onResetComposerMode, interactionSource = remember { MutableInteractionSource() }, - indication = rememberRipple(bounded = false) + indication = ripple(bounded = false) ), ) } diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/FormattingOption.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/FormattingOption.kt index 4a0ab253d2..95aa20918e 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/FormattingOption.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/FormattingOption.kt @@ -14,7 +14,7 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.ripple.rememberRipple +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -53,7 +53,7 @@ internal fun FormattingOption( .clickable( onClick = onClick, interactionSource = remember { MutableInteractionSource() }, - indication = rememberRipple( + indication = ripple( bounded = false, radius = 20.dp, ), diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownEditText.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownEditText.kt index dbbca5f709..a4abc470ba 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownEditText.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/components/markdown/MarkdownEditText.kt @@ -8,6 +8,7 @@ package io.element.android.libraries.textcomposer.components.markdown import android.content.Context +import android.view.View import androidx.appcompat.widget.AppCompatEditText internal class MarkdownEditText( @@ -36,4 +37,8 @@ internal class MarkdownEditText( onSelectionChangeListener?.invoke(selStart, selEnd) } } + + override fun focusSearch(direction: Int): View? { + return null + } } diff --git a/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/WithFakeLifecycleOwner.kt b/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/WithFakeLifecycleOwner.kt index 8627e7890b..a40af6fa17 100644 --- a/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/WithFakeLifecycleOwner.kt +++ b/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/WithFakeLifecycleOwner.kt @@ -15,10 +15,10 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LifecycleRegistry +import androidx.lifecycle.compose.LocalLifecycleOwner @Stable @Composable diff --git a/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_1_en.png index ad9370b757..06c8c0ce2d 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:25428c6db7cc00dc9ac1133d56e4f30f6970a1a0f0e14a551a44eff1f6afde5f -size 8336 +oid sha256:d8321503209048b152d1ed52cf2339c8c96276b4f40d71660a92b9a8b919efcf +size 8386 diff --git a/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_1_en.png index 48e1cf09e1..ff4dcfc525 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69649cb5813f8fccdb60c72d2c5df002419a6bc45cab754f2a300fe907b7cf93 -size 6969 +oid sha256:3fcde8c552b5080a87e1339d6f23fd9f0b291161525563197bffbdca2e6802e0 +size 6994 diff --git a/tests/uitests/src/test/snapshots/images/appnav.loggedin_SyncStateView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/appnav.loggedin_SyncStateView_Day_0_en.png index faa1ece544..ccfbb4c8cb 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.loggedin_SyncStateView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.loggedin_SyncStateView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:beefa333127ea567719bcdc1d8ebe03e67c933e866a1696e520d04ff10ad416d -size 8355 +oid sha256:e88a14813e0923365b98dc046479b4625b732bef2befe4bd1ddddacc8598aaf7 +size 8389 diff --git a/tests/uitests/src/test/snapshots/images/appnav.loggedin_SyncStateView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/appnav.loggedin_SyncStateView_Night_0_en.png index 346b3828a7..afa9a14d8d 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.loggedin_SyncStateView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.loggedin_SyncStateView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f57ef9707cdd88e1f77d27a185800ef14f11e7749368ff0cbad61d21e082fda6 -size 7083 +oid sha256:092a39015ccb36d09f65ed18760eb1e36dcab1e0809d404bfd9f4aed9961eca4 +size 7110 diff --git a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_0_en.png index c532c2619b..3136e8b347 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aa07d35d6967771dde192bfc08eec5e208f0edbf05955bba9f82e23efcabf3ca -size 8281 +oid sha256:30efa4ef62ce38f3599c1a6f2a99c9a36e5704a70c99d83670b5f2169a8648f3 +size 8378 diff --git a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_0_en.png index eff3aa55e4..3e42a56106 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e32f2e9ac5e091361650ed29b9a47dbf35196f872f7ef8ed89240fbc836beb4 -size 7906 +oid sha256:a1a5ca1ae30e3b1c4c2b242b3527a3c09b09acb415ad11333ad4b1f07182cbed +size 8005 diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png index 9d11ad5395..e6802cda74 100644 --- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c976f3c1d4809c28cb865b0dfe7ce1eed5fe2c9959a80da8efab5d3594e38e41 -size 14427 +oid sha256:925dc31415feddb28616043aaeadc5e18ad5b329ad7414ca5da69c772dd34e5b +size 14528 diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png index 3fee0596fb..7ee5d7e4f3 100644 --- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d6acbdb4ea1e66fa4638fc9b454566968081c511e0dcfde3f1e57fd9725a1edb -size 13263 +oid sha256:546837f4f7021f4e05d3d10e953ef09a9fb7f7dc136a8d48dae24690a6877e4a +size 13366 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_1_en.png index 4195a7f6ff..98e06f474d 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5442a44fa31fbd78eb58be78ea485c919380d83a6fde0cad9e6a97b0a59a491 -size 19876 +oid sha256:7297bdfeec3c126f0ab3f78a58ff6f3ed513199457ca627c189169c88f288fb5 +size 19976 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_1_en.png index 0263acbcdf..2bc3ef01a6 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91bfca2a62a5745472ad34070e24111bc81632c5053d4aae284f9db3acf0cef4 -size 18578 +oid sha256:70d89e441fa190cee145e56d9d62f2cda663d9054d038d9402464ced33f46917 +size 18675 diff --git a/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Day_0_en.png index 2644a77fdc..e0748c49c1 100644 --- a/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:418e64406425c9519e55ea94b1a5a5af8178bfe8ff97e154a21419d052f9966c -size 68219 +oid sha256:3540f43d9c2b446ddf110e88661334f9b25dc15b200ab3841fd7588aed662a73 +size 68250 diff --git a/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Night_0_en.png index ca968227aa..443089750d 100644 --- a/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:25f23f41ab4f151a9240be2e7771c0f2ea0f6c8fb7eacf75549ff26e25b5c202 -size 59537 +oid sha256:a07ef1ecaa31561bdeb34160f89fa9d81ff8736e1680f6594aafbc263f1f2178 +size 59543 diff --git a/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Day_0_en.png index a3c8cabf55..38a9d9c906 100644 --- a/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:23312c1f451cf556fff753206848e9d6c3359df4c703ff0f2d58190b43dc7859 -size 266126 +oid sha256:3e2e62c68474d9f814e35c03ba1458a4e4d62f7bc4239f9f719d305e986cd66b +size 260887 diff --git a/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Night_0_en.png index aa62a51d29..1537271a97 100644 --- a/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7ae6f66e7fbf8cb8338f3368f3e70cec59d417e278424981a159b8f062143da -size 345550 +oid sha256:3f7f9ec486a3bdb3a6c27ebfe391577cbf59051870a0161db9bd6f3a62abf042 +size 341417 diff --git a/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Day_4_en.png index 891c56aa64..b7543eef9d 100644 --- a/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33d39c0a6e9c514a44182b5da0f8e5725b6649ab4b0533eaf895797dc970999a -size 10179 +oid sha256:1ee71bc4af44aed32f1603111ff2680c440319c1dd691c6c1774f04c859c2e3a +size 10274 diff --git a/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Night_4_en.png index c2a6b507db..6196ad299a 100644 --- a/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c30a73e033ca799a38942d23893eb7a3e3e4f09aa473d07cc03fa2f1a7ac22e3 -size 9034 +oid sha256:5183f090192627b3b11f80c344381ba65c2977cc781cd59674003168bcea7e74 +size 9131 diff --git a/tests/uitests/src/test/snapshots/images/features.licenses.impl.list_DependencyLicensesListView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.licenses.impl.list_DependencyLicensesListView_Day_0_en.png index 8d199aae33..4f59a86c87 100644 --- a/tests/uitests/src/test/snapshots/images/features.licenses.impl.list_DependencyLicensesListView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.licenses.impl.list_DependencyLicensesListView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:563d5fb3d177add8f3234d1cd07b8320e3cf36599234181d765e6263f2a8b401 -size 11353 +oid sha256:c4c96790d61f5ae03c3b32d5ea85d2b1efddc84f248f2373290f28c15ced4dc0 +size 11443 diff --git a/tests/uitests/src/test/snapshots/images/features.licenses.impl.list_DependencyLicensesListView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.licenses.impl.list_DependencyLicensesListView_Night_0_en.png index 6898dbbe0a..3f468fa931 100644 --- a/tests/uitests/src/test/snapshots/images/features.licenses.impl.list_DependencyLicensesListView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.licenses.impl.list_DependencyLicensesListView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c3e295887c5cb8cf98f24a7de9418f1a28349df90117587404f830e9e44f261 -size 10998 +oid sha256:da6d82da577060eafd43bd4c13867cac99143fb8bc877f7149db4c3f4aa6e81a +size 11088 diff --git a/tests/uitests/src/test/snapshots/images/features.location.api.internal_StaticMapPlaceholder_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.location.api.internal_StaticMapPlaceholder_Day_0_en.png index 0f4f8731af..91297a8544 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.api.internal_StaticMapPlaceholder_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.api.internal_StaticMapPlaceholder_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c55c8c263d07bb171879860f3c4e276a810393bc55281cb52e8b98c0850380a -size 252852 +oid sha256:aad48b326c07ed1eda341817b9a30cc74ef6cc83dd80406dd26aed858112eda8 +size 252914 diff --git a/tests/uitests/src/test/snapshots/images/features.location.api.internal_StaticMapPlaceholder_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.location.api.internal_StaticMapPlaceholder_Night_0_en.png index c71de20dbb..7e5ffb533d 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.api.internal_StaticMapPlaceholder_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.api.internal_StaticMapPlaceholder_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb0c9428c27cb820994130093f0a21bb910da67c2461fecaf3fbcd38c0e58d7d -size 105481 +oid sha256:e63a6eaedca373d7154c66d7f9fc5f52e4999dbfaafe00bb06cf94a86e2fb762 +size 105538 diff --git a/tests/uitests/src/test/snapshots/images/features.location.api_StaticMapView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.location.api_StaticMapView_Day_0_en.png index 0f4f8731af..91297a8544 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.api_StaticMapView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.api_StaticMapView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c55c8c263d07bb171879860f3c4e276a810393bc55281cb52e8b98c0850380a -size 252852 +oid sha256:aad48b326c07ed1eda341817b9a30cc74ef6cc83dd80406dd26aed858112eda8 +size 252914 diff --git a/tests/uitests/src/test/snapshots/images/features.location.api_StaticMapView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.location.api_StaticMapView_Night_0_en.png index c71de20dbb..7e5ffb533d 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.api_StaticMapView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.api_StaticMapView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb0c9428c27cb820994130093f0a21bb910da67c2461fecaf3fbcd38c0e58d7d -size 105481 +oid sha256:e63a6eaedca373d7154c66d7f9fc5f52e4999dbfaafe00bb06cf94a86e2fb762 +size 105538 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_0_en.png index 91d352ed0d..8347b3bf1b 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:db6ddcf3641db14b5b272320bef39f90677e9303cb86debc052781a36044f6ce -size 20166 +oid sha256:ebb977417d40a4846b9f6e22f05c95853fecc52cadda31c3a46dadaf970acf9d +size 20088 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_1_en.png index b8f8059e05..7683ff4eef 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d82d9fce7b91fa9b0ac6a845fc23cda41db2d3b452040700db786784c5cbe83a -size 35352 +oid sha256:d443be13466d7114b4bb373669a09031e805ed5b8c6a86c61ee4f171cd7b9d9c +size 35291 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_2_en.png index 0e1474ba46..58522aa280 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:80acc542f7e99ceb08933fe5f8046f7e643391a8130a21b4322ef2756a088a80 -size 33631 +oid sha256:0f2ab79facdd2d9d04823bce914119eef9309e7d3c7792b0b47299e598a5729f +size 33569 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_3_en.png index 91d352ed0d..8347b3bf1b 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:db6ddcf3641db14b5b272320bef39f90677e9303cb86debc052781a36044f6ce -size 20166 +oid sha256:ebb977417d40a4846b9f6e22f05c95853fecc52cadda31c3a46dadaf970acf9d +size 20088 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_4_en.png index db9369ea32..5dab9f57c0 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2d1a51e21540cb7ea217ff23e72036225b112dc7714d92f516d7aa35469d5a3 -size 20248 +oid sha256:fad76d0fe41bb115470e9c1e52600e2a8353e4bbe793bec08379d146c8413f07 +size 20168 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_0_en.png index 50efb50e54..03aebae7d3 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:425e7e477c1c58265b40f5d64e52352e82b0e6ee9a9c0e0942b8fddd0ebf8304 -size 19520 +oid sha256:a859ab843e16b205378cc720053ea5430bf180474261b7b8b1b3b8661e3f6ff2 +size 19494 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_1_en.png index 8bcd3f17d8..2651231b00 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99ed428ef3e9d2975a806fbd8af4c6257b6766b67bf436cb50f912c0cc57e67a -size 33213 +oid sha256:f0b4861dc1df6fbb2b89886c36e9cc92a5d2d147d0ef07ab5b3d6eb9a47b37a4 +size 33149 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_2_en.png index 947d65e128..29608992f3 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff775fab9516b0d3fb1a2df9ede2ec9eecbadc959bb53d6b082d9be5b373a7b4 -size 31819 +oid sha256:58c7bfac89b9d0989443c0298638cb3dcf690b9f07ba133d5b45f5f2541f2454 +size 31755 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_3_en.png index 50efb50e54..03aebae7d3 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:425e7e477c1c58265b40f5d64e52352e82b0e6ee9a9c0e0942b8fddd0ebf8304 -size 19520 +oid sha256:a859ab843e16b205378cc720053ea5430bf180474261b7b8b1b3b8661e3f6ff2 +size 19494 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_4_en.png index 128916f319..6b0bbba03c 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b34e829e4c3b755bd17d50419ec9f21c6d28c42f807cddcad7716a9871bf285 -size 19754 +oid sha256:dc06fd37d4bcb88021bfe1db06131b77a0ed1569395851167ebc765d26245f41 +size 19702 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_0_en.png index aafa465d89..604f9c2bd4 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f5f9afdf10404a81be8c8c52b6010edd97d99693491d11f0fe0bcc4fe16c7ae -size 12045 +oid sha256:fbffe7e34ac02d5329ac0d83bcb55108e374050deef36e43cc8d93ade25ed5be +size 11980 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_1_en.png index ae2d70be2d..2d7b4b195a 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e9190242b873ef054be387b41603a738a68c836732d7d72902b744c230793d6 -size 30033 +oid sha256:4e51c776dd39f7671b8df3be8b364986a521cbf004a4f89e20dde5d45e24a618 +size 29980 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_2_en.png index 3dbf3722f4..6f82407e52 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b9350a2fbbd4c8f530b4bb5778cb1d4461a2437222339d1aba0cab555634c9c2 -size 28368 +oid sha256:bcb36100bd15cbd4df401cb17abf7a9ef19cc0e142b0d55de2e68bfd344cf6f3 +size 28316 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_3_en.png index aafa465d89..604f9c2bd4 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f5f9afdf10404a81be8c8c52b6010edd97d99693491d11f0fe0bcc4fe16c7ae -size 12045 +oid sha256:fbffe7e34ac02d5329ac0d83bcb55108e374050deef36e43cc8d93ade25ed5be +size 11980 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_4_en.png index 465b12d2eb..c47517f83e 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68b91dd3884b78567f2d07a0c95eed16dfba6ed995fb1b32af0d2249f16a1eb7 -size 12243 +oid sha256:8a99b54873f8d8441f2884f7de01dede84452d5bd55e7ce2b3d3846e87f4cb81 +size 12169 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_5_en.png index a6271b10b9..a87c052096 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e22f506097d964b21a66508219644f8f4b989ec7bf8ae22aa4f5c44ec337818 -size 15815 +oid sha256:e3f9d62e5987a04e440c22833d5a3d74bf0e4366ebe46c41c04ce81d0f29d8a8 +size 15755 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_6_en.png index 0096c63e18..ba4728cc5a 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2867b178672ad79489cbc97977aeffc5ff1575bbf41f42d5b9183abd871df737 -size 24412 +oid sha256:428e58eca464163f8ffe2a238816c15321d35ee7bb81cbdf0610e5e828abf289 +size 24348 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_7_en.png index 40f21a974a..8f6cd62fff 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:937198fe6c7e90e5b55c449eca3d020358c02bc658ae9541702ea4b41e589448 -size 26772 +oid sha256:8d44c6221d1222119ee2ebdd103f1936cc82c539f508cc6ed818a74e56da2f10 +size 26709 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_0_en.png index 69c6ba35d8..47a23ad386 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e7468007bd3ae791b1d440040ee4479cc9af4377275c115f8f8d78b74eaf62d4 -size 11524 +oid sha256:db633069997ba5f56ff75a483cdd778f3c6c39c1df994ee407567c6a0adfc097 +size 11480 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_1_en.png index 54e3a3c011..2f9630a789 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3d8aab7ba291a4af5c1aabe620f56ba0c1d39e15c2b181bf35f287faae921327 -size 28114 +oid sha256:3964999f7960ea2275435606661d8d3b84f3a1894f77f7457b327989e6c4ff0a +size 28087 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_2_en.png index 3346b8d707..2617539032 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e46b01fd5b5378aa9b01992fb966c0e10bf7089a8fc2555b996aba3144783d3e -size 26728 +oid sha256:b149dfe07fc7fdb260f7e3cca19bc80d3c53c666ef849d43ba274f472fd768c2 +size 26701 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_3_en.png index 69c6ba35d8..47a23ad386 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e7468007bd3ae791b1d440040ee4479cc9af4377275c115f8f8d78b74eaf62d4 -size 11524 +oid sha256:db633069997ba5f56ff75a483cdd778f3c6c39c1df994ee407567c6a0adfc097 +size 11480 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_4_en.png index 33b3884a54..bda4121d72 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c3e3e4eba5dc82e22908640e400c57c0a2d01b8adb007ee2aaee4fec175ee1f -size 11706 +oid sha256:807eb444f3594f8590287d176c1f05cb7a296e9475ae273df77b4f91bd123959 +size 11668 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_5_en.png index 173c800553..5d13bafae8 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ae22df52afd433d81c2e146cef6b455630de4e1d76eb2b30628ec9b8f87a2522 -size 15011 +oid sha256:531dc0c74b9ab506c173ed2ad309910feb1201b77271063aee8682c0a3d6be5f +size 14964 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_6_en.png index fe303acdf1..9ebe6037b8 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6663d8bafc3176cfe83d486821ec91ab3204043ee468e689e159ff0af9e9fa5d -size 23411 +oid sha256:d2b9390804bdc98113ee8de5e7863e3238e1bfaf1fca0cb3a9a22bd8419ae839 +size 23367 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_7_en.png index 257576e140..d418b63582 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e763e8bc81c459b36caeb1b8a74ba262109e3c0ee1bbcf8436d944a1737c8601 -size 25920 +oid sha256:4e9ea055dfcdc87173c592d595a0694ac8217c0279db26c14a53d4272052163d +size 25885 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en.png index c4774e8ccb..0a8676148e 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:56b12e5828048f6a2a31b634166b2532e79ce07a127576c1315179ebdf6f41a3 -size 22390 +oid sha256:c31d0c13cef9e3f9df414353f34b4d327df888703bfa0b5d571ce5e75126d108 +size 22487 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en.png index da535a3c1a..7232601feb 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aec15e950694f615b669d0293239b95ba5bf196ab8b4e21850b90100e20104c4 -size 20962 +oid sha256:1296a63b38a5af029f218dad65c13123a3e0cbe45d1fb812f3a3004d611c279d +size 21062 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_6_en.png index d4ad4f7882..cfec8af802 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fc0cfe3ba0162172f4ea54d465058c466f56506bd062915493d8dd1bf5f31c1 -size 30175 +oid sha256:dcae7f1c17aadee8dac1f4ade0eef9d18392e35ea3182e48473413b0035fdbcb +size 30276 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_6_en.png index bb0449355a..eb0a129aae 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:73ec67d63e906aa0963de41487b77558d700b1c9dab96536be4720a9c311dda8 -size 27525 +oid sha256:f9ef27a7f39821bde064f87ad6cc46da671b7570e53aa1fbabbd5efa220a45d6 +size 27620 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_0_en.png index 8449d84583..4464e8ba31 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81ffabdfbd54f0e2ab398cc8030160b9725a8b26c216a9cd11f7b45158ada49c -size 17696 +oid sha256:bc7f78c0ce55c6e1b0759576f80511d7718291e5903cd0a7cbb19c46bfbec686 +size 17684 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_1_en.png index b07f663646..10f33937a8 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15365c9b1adbc40c50db03a3845c941de1ea9fd8425c48e217449de1e016a8bd -size 7620 +oid sha256:1bfc723cc3cadef302fae4db56142e7a4ecdec4c43593e0d1122a8b3bb8d4770 +size 7616 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png index c57c5d118b..6f7b6bf561 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aaf41349a72f2c99dcc44021f5e27caa30f4cc577b6f21c30221843a361e8bfc -size 8456 +oid sha256:5395f34b153a3c453c95970f326e701e7e5619b53b9bf38dd6a9cff107e28407 +size 8460 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png index 7343d4e5dc..ea0ab6bd30 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14a7181c7aacb760dc0cb07c8896f6822701d000615ad5f86e70b28ad6207129 -size 6756 +oid sha256:5fb195657c1ac0379839bba6acc0935f6b1b946714ba252d5797fd4bc0c514db +size 6753 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_0_en.png index 92bfab38e9..61b321d08a 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cfafaac57839be7ec6238647711c6f750a8ad11dda8ab8a85e6132dcfef8014b -size 17401 +oid sha256:18e3bb4c57bddd1422c68ddf3a02be0d948e21c55857efb33f71fd4f0039d37c +size 17408 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_1_en.png index 1a96d5ce7e..0c05554686 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09fbcc14bc3b1d54bc5c202f369b6e234b2ac8deabeb6db96b31564b6d53a2e4 -size 7525 +oid sha256:6c100f4c1d3d7c33085b76306823c4050121534ff096a9d73124683ff8db6090 +size 7541 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png index 2cba5e6798..6d10a07782 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a501e70ad9f6d15e0d99c542ec606f1a2cf444d6934f41425e9bcb5dd2244b69 -size 8365 +oid sha256:daed25bb59f0cca8d4bdb5139a177904a407b7d42f9e2d7053fd6f7362c141bf +size 8372 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png index a85589096b..20f4afd272 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:85c7b1ad527812ed2df25958569514709b4ca5447a8249b7be4633d460913cfd -size 6737 +oid sha256:ec5654de38a98ee4b078aa3dfa093a686cb89a2f200eb69f59e78041eb8b2f60 +size 6743 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en.png index 9b179aedd2..49342802b6 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c9fbee24f8addfef3d7afbaa3229bccd84d089270051ad92f4bf9e705e19c7a -size 47694 +oid sha256:17940c4df3c68862a4aad43c3256914a68c41a78bfccd4d80bbc7a230dab87db +size 47697 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en.png index 905f3ad732..c5715276a3 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f610efcb99af2f077d35a5c9d0f56061907d61f10e750cff8d734ab7120f495 -size 46817 +oid sha256:849469750e472de68db661d09cdf8ae0e7a1c0b8b1b17d52069287a89e183e98 +size 46823 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_1_en.png index 7cf778987e..2bb913bca2 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d47d8ae4144ac6a63cee3359fe7b6e0068069fc006fa99ff874b40ab38c3ef82 -size 13693 +oid sha256:934ec16ccbbefabc0f86842e2b9adc2c2c03e3194ce9adae41a5032633083a4e +size 13805 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_2_en.png index 352466596f..229edbefae 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c36947469bd91cb58d7d404feb22fe3257a648195d68d5594ef96d21f6a38da -size 13496 +oid sha256:25d97da8676a342a76e75baa6932511919f4a69e6f7c65cfcc5f0d562c0c89a9 +size 13593 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_1_en.png index f998350fcf..a88acd4565 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e19e9c62760cc4cb0a5f4e2dd814c32c118233efd5714ab11f68520deb83d470 -size 13279 +oid sha256:096f78196c22e626b24dc98bea6b5831fbaab76388b2a002562e4bf4dfbc9506 +size 13394 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_2_en.png index 27d44ecd6a..4ccff75618 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.createaccount_CreateAccountView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc1cbe1378c4cd1daf809d27d13f1221a443d683d9bfdcf3c0b2af1ada5bdf82 -size 12328 +oid sha256:40056223dd642b72e353d96cecaae1181e654e08a75183c85ae9065fbe623e42 +size 12424 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en.png index 09cde1f2d2..990a0a9003 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:447df11944f0f7c483c9112b08d117aa2a7a3a516007f143f5f8215757f8cd71 -size 37792 +oid sha256:90ea4607c4f57ed3ac95306c139ec3d4fa1ee97132e00d6dffcae947e5b2cec2 +size 37817 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en.png index e21f8e832e..bfa5f52c98 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a0bb259a8ecdcb161f1b6c45cd910d693d43cec6ba107a7f7ef5ab130f77e48c -size 36779 +oid sha256:23fb3f175f3ddb57e907cd51085d3dda7c93cc832ad29dc4c4aed0600f0ef40c +size 36802 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en.png index 6f0d53ff53..bfdb17516a 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:006ff6c879ec4bd6ec12e91738c8f161eebf651398a7f2e418c42803f15c2b50 -size 32086 +oid sha256:11fd978ce48bf923f51cd6a4b3915f633f47204c6abc82a7839a0f5e4647eb04 +size 32140 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en.png index 836c28cfba..52d850cb11 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0eb9b08f87d54b85281b04a3361b6f0e2e84d2cf52a8b390207f4acc9ed9702b -size 32126 +oid sha256:519cad81c4c1a88aec638fce1e5264d425a72ebab12f373e94ced1e60f6c0ffc +size 32169 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en.png index a16dc2b191..e5373ecf04 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:740548e325d3ee818be967d05f4256dc43d36e553f1dbcc2824a3d7aa88e0310 -size 33971 +oid sha256:921ce2b5696777a973f1ce3360ae418db132d04f217634eafd52c94517ac58c4 +size 34019 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en.png index 58d3a921a3..e93b1dda34 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e268664872aa8721cca5685430cd194b4535386cc89d69dce81399b07cc69706 -size 31438 +oid sha256:b1132ee7faeee51a1e7e386c830cb2733bb96e0ed9731da7f40fad1baa71d917 +size 31482 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en.png index ece320eab3..bf42e3eb64 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aae8bb7731177f44be977b38b26129d351efa4f7746f13b77bb9eb462e4fe0d3 -size 31447 +oid sha256:0b0358bcec3d5401042e3ad4f4342b9ae28e79c829224ce90c5cbb5e55ad7891 +size 31502 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en.png index 512ec48d22..85056bd40e 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:49245e95153db3b7a890e3b59dfa4132581acc06a59b94c4dddebf960424d08f -size 33304 +oid sha256:a2ed7523bd62487f5b0e1aed9cce7563443d7e1c2fabe7b184daeac0ffce08f1 +size 33362 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en.png index c9425f3c6e..81ff752a8b 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5bf6b3c81c6d77d92e9236eeb31371c3e899f32910cc95b7cb59060f729e1ec4 -size 19931 +oid sha256:96b58b83e71079e5272246f9706e1f52aeee8b2877ae5a698d1bd6e6309e858e +size 19983 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en.png index 7e7c4270da..76fc1b728f 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab61f6c8eae0e3741e5e745b62daa21fc461f554b005ab05d86a250b58b9d0b6 -size 19071 +oid sha256:136a66f7cb2d9bf365428d524f6faca44ea0f67571d54c99b17d55ccf57f4777 +size 19124 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en.png index efe20ff3c9..e19f99e55a 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d112194b0220c693ee0b02613369e399490a17a8f59cbf712c45fc461d0ad3b -size 52113 +oid sha256:718d4f0cdaec5b5e9b99fb808920cb19b81589600818b8674d1aafc83f42d3c5 +size 52109 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en.png index 0e02622039..94c9c8d355 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:692b02fd1491d1101f701249c923c2faeff4d2109e3362b72154264af7eaaa48 -size 51228 +oid sha256:2a7821da4271e35b23d20b99fd9fcedcda630a90af547489f866260c3c99613e +size 51248 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en.png index 8d1b4d8a97..0e0c453f7d 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8c78eb3a384053aa65be7f12c9925e29061d17c8445a5f7de1568facb5343bd -size 9992 +oid sha256:593d2e5d5e7c8765bed4634e2c4dbf81e43214886e0b4047325087d45aec2bd8 +size 10087 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en.png index 3332329277..ae549af73d 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c383fd14b3f93287409bac5fd66911358fdaf2155b5df6c1d5c92d4a27dac967 -size 8810 +oid sha256:f37d6bdf66d1902c17b26a894fb5026689e24c83f6df2473a5d3d3ef07f7f6b5 +size 8904 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png index 0c830753d5..af6f62926f 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:621f75bd069d08bf2ae1c6a51bc3022a32ba4c6eaf829b0731d294d462ce0bd7 -size 55043 +oid sha256:38b40c707239a37957656212b5b92c519b67a21f1e69d9dd4abfe91b3a8c7924 +size 55147 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png index 005c79045b..af6eb06dbf 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a6992f4794f325cbd35dae667f8cb7973bcc9470e61f8bedb600917bc15af44c -size 52087 +oid sha256:93c6538ac1c605336df02532ef5dd38bc657414095d0900cefe2da16f10afecd +size 52187 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_2_en.png index 0599d90a89..a6ed70d4ac 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a254de1b6d27486bbce504df49ffff8563abff5eacd072d42c477ba5d0d1d16 -size 27511 +oid sha256:1b1a146b7de0270396cd56cd61d614d3792498249e7d1c3e48dd9f5d62cdab3a +size 27704 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_5_en.png index b97453b5f0..91fe3d524b 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:70b920ae52e08e4ac4c5543f15ba5635a0dd9646baa12e08949a6a71bb90ab77 -size 17070 +oid sha256:bf525e951770a091e60756fb4f184b30a3d393865cf7f1ac4225b9bb67106846 +size 17191 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_2_en.png index 559034f88b..4d9040f483 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d016da0460a43391e46d9430d26dea35afd9a273d005deb4bfe1fcbf2ed9958a -size 26549 +oid sha256:8a8fe1667c9e76c21bdaf2c388100bee608eab48ce994968e434cda28a837439 +size 26721 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_5_en.png index 02eb2ede5e..e9c0eb651e 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9a4e460ffa71d718181ae06c4a547e7244cff4dac24f6eb920f5907794c21ee4 -size 15653 +oid sha256:04b0c48532199a84ea66a8126093840291e562eb2c5a82cc62461bc7d2f058fa +size 15762 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_2_en.png index 8ce6af277c..7fd56f9918 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ddc148cc2381b884d4b7273318596054b2e6ee3457338441c4dabbb5974e33a2 -size 46466 +oid sha256:acff11dde81169fe53af0bf00806c4abe8b16a473b89e1d3e58cb627cb844c00 +size 47021 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png index b10cbcbcac..db880fffff 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91368f180f0dc431efed5f4a628a700a87aa3571bd5b49747171b6cfbc6fd464 -size 56981 +oid sha256:1db0516e8f1028531200b4d4047ac9ab44f4fbd542586373ee1ce700e6af493f +size 56987 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en.png index 5b7b58e615..0d4d2cbe86 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4a6261c5a443005e4cb8f3e8f8f176c4e367feca6d6c1eb89ecc6b72aac119d3 +oid sha256:8d336b9bf1cd8a18df8436fc7c537d8b20d8185b5c5c9cd6e4c393b99e0fae9d size 55135 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png index 42a57b0ba4..614dd45ffb 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6d632744706c96f51c14171b74f34e1be8f97aaefcd9f8173e7b03b7b458430d -size 55532 +oid sha256:91d10933faf5c6c207887cb60a0a14d92245864acc31bdb3be0f678d801ea000 +size 55538 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en.png index 59542a02f9..844c3bf3c0 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:423d72e2dab1e87c9ee52b170c730e189cb642e22d218cf4b2c7a99783cdda5f -size 53333 +oid sha256:a04aec46babf690c76549b89fc733dbef3f308074dd59354a03e66399bf02473 +size 53342 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.forward_ForwardMessagesView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.forward_ForwardMessagesView_Day_1_en.png index 89c8787a83..05c815558f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.forward_ForwardMessagesView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.forward_ForwardMessagesView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a145061b3ac70800e68f4f7d5cb3377406c8da120e77a3c14bd0de581d32493c -size 7285 +oid sha256:38ab4535d5024113c81d2a097e4485269b3721793f54a8fee09c959162953558 +size 7370 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.forward_ForwardMessagesView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.forward_ForwardMessagesView_Night_1_en.png index 35de3d6199..2c9fd31a74 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.forward_ForwardMessagesView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.forward_ForwardMessagesView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09afce6e3c5975c3dc4cb14f17493a8385c3b616d5b6e9b7c66786156624d3d9 -size 6205 +oid sha256:721e92cf6284e035f48a7d6914065c332ab0ac422bd69e35767f95c8c7c14de5 +size 6297 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en.png index 98720535b6..6c600d59b2 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d5b71d416128b5b4791cec79ed7cdf963574c8fa66b32844ec798f55ddf62f42 -size 7960 +oid sha256:14a8f8cf88aab43a6cb10a0c87c2d78ccec32240887c921079e32f5529bfda85 +size 7988 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en.png index dd4bc488e5..675c2dc14f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c76cceea0430806081a2822aff225a80c10dc6bb2fdac8529f47d3f4e2335466 -size 11466 +oid sha256:7d98270531a1c19743aa71f691d0b36af732921265ce69212f391a7e0df3e998 +size 11504 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en.png index 7c8404b2d7..24ad616283 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff5e3562e981f2675a78e1cdf6cb7599471ad91030059fc8ff429165e1178131 -size 7873 +oid sha256:d1a367590ab10184b23a69958254621d61539058c34f2bf955aa07e949c8e316 +size 7908 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en.png index 7e78f29a2b..118bc70a71 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a78466e52f1ff339e944d2aa18e4bb4ee5e3821fea7a034a1c4eaa68cfc6d846 -size 10946 +oid sha256:35f6c67876d321142b1a8324211312b8763ab65bdf88035c44afceb002eeab2d +size 10985 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en.png index df40973190..ae22d49102 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fea6dbb47a656e0d39181a40b32277e17f0fe52c99e8c1519d5f09ff9423e98c -size 8983 +oid sha256:078fcdde92926d5bbe965cda4e5ee83d0cc04866b05979873d71a3cf1e6a346c +size 9076 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en.png index 3b2f1ee82b..1d0bf47b5f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f221c0af78be8d43a481ff0b122ea0587e0e0618c6f6fec78cb91368e940f701 -size 8720 +oid sha256:38838c6edf589ae6d309ea26cdc672363b1ce2c56a2cf7fd5a5bf826f86aae44 +size 8820 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_0_en.png index 840bd5c99b..f97c155344 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ad0751533a7e8acb01c89f2e7272fa775f77c3a018e9c756fbee28fde65b417 -size 43787 +oid sha256:772cad24fca0bf90c562e67aca1485b8763f05b586c4ec8d6381832cbf920e6c +size 43781 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_1_en.png index 0b64011e49..529c5921a1 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f0efa1dc5d660fd59238bee3688566ffcf28daedea94a14586ec31e971d8ce59 -size 45006 +oid sha256:ca9cd24d763af6170dad5a92629d827ed2fe0108ff03b232e6272d3463c20cfe +size 44995 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_3_en.png index 0a42e0bbbd..49c732b8bd 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aa0131c80225977c306b6ec56fede0c3a7706330f83da5917fabd1275a8a626b -size 43202 +oid sha256:dce39bc89afcdda80f1616d90edd497dc9f2b56fc94b2f8348b5b342fa71a2cc +size 43236 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_0_en.png index c271d1ef7e..7de85d2874 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b18e0d2f920d58435f307efc55ccec3de3a980533c1e46228d7583022680502 -size 42442 +oid sha256:6f939249ef3546aa68ef6a2cc4677f57f87e0b8f4ee79a39e100dce7869a1672 +size 42458 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_1_en.png index 2532007ff2..547aca9d60 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b5e98629429352a711035bafc8f1b8e51f911f4b499a77a2630a11d3edeb58df -size 43637 +oid sha256:d774ae3030b7fe9021daa8a75934b123038b994b32a7f2a64b860ddee092604f +size 43645 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_3_en.png index c53c552c1f..649164dc86 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a49fcdfbbfec22bbb31308aea7ae94d4c89c0762df0670d7959b33cd4d00546d -size 42164 +oid sha256:2e41a6bd9d8c62d90e7c7b4ab367988414c3bcfccc19bd3f1c9605fffe45b6cc +size 42199 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_ProgressButton_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_ProgressButton_Day_0_en.png index 0db3e90304..09204bba01 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_ProgressButton_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_ProgressButton_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16a73a012fc51b67ed3a0dac8ce3d87676b783a4679d6c54aa14580e35291596 -size 4432 +oid sha256:4214885003d4dee42dddb67288c3671b674c7564e889ee3b39ff4455193d2884 +size 4478 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_ProgressButton_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_ProgressButton_Night_0_en.png index dc878d62f4..3875e30e41 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_ProgressButton_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_ProgressButton_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf04ed138e877f352daf811a9f85c62a100bae3e2a23ead7322e7ba115d7755a -size 4656 +oid sha256:9c2010038f6468b7dffaaaee790969259f8f1cb0ffbe9f5c0dd0c50f3bd3cab6 +size 4701 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_0_en.png index 02691bc738..c925b53402 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a042e7e689fc522cd41349b9d0cc51294384c158a7b16711ff872c2b7801cbe -size 144994 +oid sha256:ad86105f960e1ee854542ec260bba331e5c02dc99c762a823afcfa2cb63b6cb1 +size 145046 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_1_en.png index 0d5b9a64df..3872e3916e 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ad303a3eb01e81638c42896bade964520753b0c34272d6405d2595137ada1ca -size 148598 +oid sha256:a2f6b5f8da9e9a04998f7950edebd392f5424d5711873610cc9ac59a250d24ff +size 148628 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_0_en.png index fd57c1dfd3..1a09cb5828 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fbc4b22349a64579ef69e49ac11a59e65a649934360f20cd1002cf42ed9823e9 -size 58447 +oid sha256:4b03a8107792b8485ea00d2ac28b4e57f165ce8704e398d4e17c23708e897b21 +size 58520 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_1_en.png index 7d0827f70b..6c64809c74 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e2e663f8d84b413998e55c531078d9e97960fc1c4cde7ada564a2e3cbed5f31a -size 62426 +oid sha256:483bcf4d3cb4d282a5b33f7c6b408bc6b01be7d39aba9da2a4d410712eaf8d88 +size 62507 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en.png index 57c9fb69cd..1713eec87a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f1e27a0778bcc47c6c47e86e9180e9927cf97ba6da0534e60a818b5e6e4599d8 -size 46742 +oid sha256:c319670ffe1f12885625bd03c83979e8657f61675393aaa943e756f2a052b465 +size 47105 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en.png index 0d3a1cb5c0..bb19caa5e8 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1987ba74e90469fbbf61647b846b02e48fa7db9409bfa06a9c37678dfb8bab99 -size 48962 +oid sha256:7c433b062b5b0cf86b5b246e5669641612931f027904216d5f96ae561464e221 +size 49292 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en.png index fead0ee127..635b871722 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:41471cbee915a434c1b4b928c881a4d66ebf21c346f92f54865685a72f77660f -size 49084 +oid sha256:c98ae539d549ef2ece48d6f7dab5525889a237947af17e79c68e8d2490fd7bfb +size 49371 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en.png index 007c558003..9f04d057d0 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0f6b50627409b8ac8bbed32cc39da5cbb4edcc864e6922485e4ecee66239113 -size 49150 +oid sha256:9679b97fd0e0756ad13344bac23363eed20ffc3a49a5297303ab2ad991f5a8b9 +size 49431 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en.png index f2f34aa2ee..b74c2d0998 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ac1e7486de694e3f272b1b0fa9e5d614816229774ea60e662c9f881ae546ab91 -size 45612 +oid sha256:62cf5c40a74693f2596535870e97a1d884b7abd7f602861f5d16cec11de45c1d +size 45948 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en.png index 16118da2cc..d83c049a67 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:897632937d10cff5cd828d040bad114c6ff659dbb67b0e629f257c4c1af26a2d -size 47808 +oid sha256:5cb81653962abed6ee75efb93d8693e0c899fece3bbc00ec9855a97c3ecc730a +size 48141 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en.png index 7015ff854d..d078b0dcfe 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c0e1bcb8dad192735b719be0ac051259b2be2790958b042d120c73a3b41de21 -size 47806 +oid sha256:bea1dc185eb3324df0a7a3bc2afec44e922a08492f0ebea394bdcfd949dab57e +size 48143 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en.png index 86b50645ff..efe5329e3d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1de078f2652c7cfbce2296f5c40a354cf8b7ab0b9f8d2856959e323ebe73a718 -size 47884 +oid sha256:4457dbc7e3c5fc7f30eaf962c707e62aaffb4534d1602c8c6fa796c516e91138 +size 48220 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Day_0_en.png index 3a66ed65cb..91f45eb287 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ffe98795c650226860ce20ec848ff439ef884e9dfcb40b517dcf3fd67d6ed4e4 -size 5265 +oid sha256:105c12dfc6f165a996b5cf3bba1d6183636e779aabc3b216dbe6f2c60b13b7c6 +size 5361 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Night_0_en.png index dd9ef1b008..98a4ef217f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81ac96f5cd3833398155cdc9f01efdc679ff6cf97c26df8ecc3a55a3f3b6d4ee -size 5224 +oid sha256:2e7240f809ed2d07a09478b26ea8f775ecea10d1e482fc1a7b0b8013ecc1b1e3 +size 5322 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en.png index 9acd57df52..c0934271eb 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d061431d4c3532ab269a59e0341696c71a3e775c8aa5475945b7b20a1af6e509 -size 52473 +oid sha256:445597a8b51ccf0a6cc6ef11265e2b42c97b9ce22e0fc02b180fef436403b0be +size 52878 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.focus_FocusRequestStateView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.focus_FocusRequestStateView_Day_0_en.png index 89c8787a83..05c815558f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.focus_FocusRequestStateView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.focus_FocusRequestStateView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a145061b3ac70800e68f4f7d5cb3377406c8da120e77a3c14bd0de581d32493c -size 7285 +oid sha256:38ab4535d5024113c81d2a097e4485269b3721793f54a8fee09c959162953558 +size 7370 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.focus_FocusRequestStateView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.focus_FocusRequestStateView_Night_0_en.png index 35de3d6199..2c9fd31a74 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.focus_FocusRequestStateView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.focus_FocusRequestStateView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09afce6e3c5975c3dc4cb14f17493a8385c3b616d5b6e9b7c66786156624d3d9 -size 6205 +oid sha256:721e92cf6284e035f48a7d6914065c332ab0ac422bd69e35767f95c8c7c14de5 +size 6297 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en.png index f4718d61ce..07a784c077 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:23fd4639b8bdab8ab36d91f81f7e8fa6c349553f3f80a24cd4b7b5700be8fe6b -size 37334 +oid sha256:9283443e77ea4fbe6e9fc2a8df71d041fd7410c6729963571c0e287bb544853a +size 37336 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en.png index 74cc317d86..45f06a2b8f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9a9ff6fa1e17aaa14022bb8a704b655727be8bddb261d0c5ef1a56e3e292bb88 -size 35168 +oid sha256:619fe93a717266ca28789d2e6d4868940b3268c82cd507cf0f91e6ebcf84b80d +size 35165 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_0_en.png index 67807c8c57..f2479a27de 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:18045d3da7f6402ce4b88bb838bd0e8a288ba27ecd7ea7968ab45b4221374dfe -size 50228 +oid sha256:691e3217c863aa8732a835856d473207e368dc96fa7aa2d74b0bfc7d30019abb +size 50216 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_10_en.png index a08c8551cb..3a4ca8a81d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:148333d772beb0c980db6b504f189249858a1cc499d1dd678cd16e199fa1b5ae -size 331120 +oid sha256:7aabbbc3b6ec3df97f38a6eba031a9cbeb9abcbe8f3f11580035dc38669ae193 +size 331239 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_11_en.png index d4c2398c62..72ad865b50 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e62116f81e7c13bc8c28cc1c0852265ff1a63fd5b4a621531c060662a98a753c -size 85106 +oid sha256:d24ca3b8db59b11b6bc225919a11694a143b41b8147b24b599c22cecf46e5de1 +size 85599 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_12_en.png index 2dbdbba700..80bcd2a71a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c355e8cbeea223f30750f0caea090d1bed71d2207794b6e00066af383b879dc4 -size 51697 +oid sha256:4f2229f2d050f1158769045587174c3ddbfc1d99e9266a34955e585267151dd5 +size 51679 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_13_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_13_en.png index b4e194dbf3..7465e27f13 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2d0e0fbb5200c953503ea9d995eafa507e697cc3aafac825ce61d4a952c037bc -size 63482 +oid sha256:9737249aaabc01014efb6d269d3f68470f5f2d8595a5c387b871ddcd4554c4db +size 63479 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_14_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_14_en.png index 766880cb67..1f118dfc15 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_14_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_14_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:08c3be52aaaf95c80c57f9c18c40c6d71ccae08ad0bc4eed6d907f29a13d185c -size 48106 +oid sha256:9f7942f3c21746787c1b7a8ba0f2d3220905b0a496d6fc7fc203c1e4abfc443a +size 48097 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_15_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_15_en.png index b499144899..22028b2086 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_15_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_15_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:331507cb7a77a29f13deae2f27412d19f8de72555009d110a3aa96e04769ec06 -size 64559 +oid sha256:215cc3cfb8fda9297c1308536a2933c78d6f6f30194be816f16ad4bd57318486 +size 64553 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_16_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_16_en.png index 0984d3bc62..c859982c63 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_16_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_16_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f77c3dca0c29f76095e77a3b7451563e533bbccb62a3d344c4f000ab1bd40374 -size 55273 +oid sha256:2cb80a0e66f3c76251b17628e73afccb233b2774066a9fcadf42e90335505c06 +size 55262 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_17_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_17_en.png index f35b7f1f06..aebc7e7d22 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_17_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_17_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3a8acb87166776af8e7af7a430e26684243e49c9b0709c592969b326dec97bbc -size 64301 +oid sha256:062919eb9e5e24aac4b31d09bc6c0b96bb2485086bb3eabfff245fb9a078cf84 +size 64302 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_1_en.png index 26a35cd542..2e2758d0dd 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e7f98cd6e08fd0a7a0bf72b2ce7ba262ccc26426e9427e650941e0160a41597a -size 71239 +oid sha256:3f7afc7973ad556af6b1100894a10fa39576676a48e2c7caf7f4c4d2c0a4dbbc +size 71232 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_2_en.png index 93a042ec5c..af811632f4 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c0531cdcc5d6af2d51e3cea9fea6fb23dd8fcf957a525470c27db5ebf740f04 -size 200824 +oid sha256:08152eb43e666ee129e75bb7a0d3c618af30a71f4b94ed5fcf850a23a42fe76b +size 200809 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_3_en.png index 33d5dcf9b2..ff77124e36 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba729e8bbd503e7fe73c3562f57c234ff2b02e56399b0e40e58ff5f30ae6e81b -size 201867 +oid sha256:4ee4f0a0cb5ae0c6b1af7dd2e298f8b90c4764022a167750cb0e952a4cf2e82f +size 201856 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_4_en.png index c3683b75e8..324739cbdf 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90f56d3369f3cc9f573f0dc3f9e0901adf9359238f4bd4642be9192988c369b4 -size 70325 +oid sha256:527d63336a5614a8347cc43b3a2776d5378dd9f1b1172c953f8cd85d5d450d6a +size 70326 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_5_en.png index da980d7f1f..9bd31443bc 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d2316f094fa416aa76fb954e310f8d7a9192f69a1cd12369b2c50610e2963e0c -size 85076 +oid sha256:058fa3fb610620105bbe7be371c785acdf7f32fc588ecb9f7da57685bfc81bc6 +size 85075 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_6_en.png index 14c0de0dab..c837e60da7 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5746cbf95bba032b0a0f459a2836ea96e6d41e96af849060896b5ec1902b34b -size 72810 +oid sha256:743bf4bf9ca677ee7bfa8fa45a8337e19588cdca694a30783c0dd7eb23e63b8b +size 72809 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_7_en.png index 5e62c2f94c..6321bc9e81 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c06d83db3f690c917aa8a160d371b16120fe4e0b7cd7b96e947733a7bb9f61db -size 103114 +oid sha256:e187cd5e0104cc4833f9e82e81667b09e555f139f2e5156a8cb88ce5d70f0a73 +size 103121 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_8_en.png index 6c1d4b4ba5..75f37c2d9b 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df7e07ea2211cb96c8ee2e2cf1e2f649bad532291629d09d71d448cb0f566cf3 -size 53197 +oid sha256:58986f292fe2a87cc28f0d2667ca1d1d75bfd0356618b163f262c83d60fe5d88 +size 53206 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_9_en.png index c89319e71d..218aebf798 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fdbf3d447a2c8cd81ef981707222131233cd9e73ddd10f285487dbf51efd8d74 -size 374042 +oid sha256:15dccdfe86900365f1bff581c333ee06e1f9f1fe4d9dbb858a527b58b067abce +size 374240 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_0_en.png index 16a6d6c9b1..d045916316 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c0eaff51f38f403f40776427125fdb6d589fb52db5540c9be23ad18fada94cd -size 49256 +oid sha256:82b7d4adfa143db5b234122a9b0eda658d8abd2074578292134bae8b2dd79821 +size 49248 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_10_en.png index ad61db5f5e..8a118b54a6 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4fd55028351ad2d4b98895208e23ee081c54ae7c28d633e0e61ee532c4ff36ec -size 148531 +oid sha256:1bd317fbe9d0ae33f0d3df9b51df1c862b7873b44bd9e336f615ec02d55b1b46 +size 148671 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_11_en.png index 1e9c0bcfba..5f5979e70d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e823bccd1a298ea4719d7c7f1ed17be0692f551ad367094e7489d42e66ce28e9 -size 86256 +oid sha256:2d5cfb60d3c069df4ade7489fc7e4a7caa883fe26da32c164c0150681719d4bf +size 86642 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_12_en.png index 15ed329c95..f146ad1dee 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:10cb745aa897a7bdbe3d502c5269413259d09cfd068dfc4135eeb2f2eb626b19 -size 50903 +oid sha256:23d31f3bd7350059c2c04bbc457614dcf9667f8c1670333a1d2cc4e10d8d73df +size 50894 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_13_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_13_en.png index a0df57be46..92eadd82cb 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcf203a15ad490182b45333b89a101bba2d110e50071ea8bf862f1e553b396e6 +oid sha256:0c671cf553ec48926776325c07d59b6bfbcc1b170026247f7b321fb78eba538c size 61920 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_14_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_14_en.png index a0d2152757..3f125ffe10 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_14_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_14_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4e7c95fa0a5dfba54748d5df2ef127d0b9b9d6ec6251c4e3b8b8d4e542efdc6 -size 47204 +oid sha256:e6db73347adb62f546a183a31684940aa379221acd587ffd8cbc3aa9407ee3da +size 47199 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_15_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_15_en.png index e7915527ec..14c819533f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_15_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_15_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:71f23bc1237e7413663d9bede4ca181afffe8ed1c3690393df9cf54bb33567eb -size 62863 +oid sha256:f32a01b188ff4faea2c5fc166e9ec34ec346e88d3a05d5878a522e4830fc6d72 +size 62857 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_16_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_16_en.png index 4712d9af68..817922faa3 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_16_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_16_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f1680ca0a7e9909a6ccea326abb707940b26322df2289f223fc12e64096e78f -size 53955 +oid sha256:5d6c1cfac2edb5d8754f621c301403e30afe058828eafc460cce403b4cd8a6d4 +size 53948 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_17_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_17_en.png index 96476ec9dc..c478e62187 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_17_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_17_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0dd616359151b48472f266b0b3e02e99bf470aba4f3052967709ea7eb9ab5d7a -size 64284 +oid sha256:7b4a84b82ae56782c38def093efc14371cc3daddf6ff8c8a82688bede19ed063 +size 64289 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_1_en.png index 73b42f86ad..fb0a3cdc3e 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcc7d60c2847cd75dab631ed0901efcb46cfeaf649a73c995c12fcc341bbe556 -size 69363 +oid sha256:c07b48bbaa7a95325329f60add7214fa82db269a2f56d1d476109199a3daee6f +size 69356 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_2_en.png index 07a1027631..d60ab37edf 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c0a18c96105384799acc08205fe1f132a4432942b0fb9b58a2d5e2617bc6590e -size 199675 +oid sha256:0b8b104b369c87ff399e18a554cce689c11f8cdd5d0e8af7f07d8e04843733e8 +size 199687 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_3_en.png index 0c145e25b0..f6a0fa1157 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c84d0ddc031112b9838dc15fafa12951bdb26ed3af3c1b94ced43d313251b25 -size 200421 +oid sha256:30681758065ed18ee1ecf5c34f2748e1a49d36b189d0aaddc30711be534d1477 +size 200432 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_4_en.png index 32cb8a5eb3..af6a8cc215 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59fae93333f9d8a8148db2330fae052947263964b693b874ce873f4f4827a3b2 -size 68826 +oid sha256:c3d0df0376d2d0c5cb44d3354507556acf488499ac21e8882a80ffcdf07e7468 +size 68837 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_5_en.png index 0b007faa9d..20e6e612b2 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d2ceddacb1c04c382f72a631513d2b771b2dc7ca922dab0133e6e6bc9ec555d0 -size 82960 +oid sha256:65d54f61ba78b63c08ab905b52f9e0636a8e2e1f05198ced9e22f1c651eff251 +size 82962 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_6_en.png index 8ed949d19b..b2aac9290a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e484ddb32558e676dc0700e3869a40c0a665b5cab18b9c90d8f444fbea31a0c -size 71718 +oid sha256:686e248708a1f1f827e11969f675645954972cd7336884127eec9488cbc8b4d6 +size 71725 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_7_en.png index 4290c69e15..6cf6001652 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74aa96ce1ba7a0d4d3993b621f71ed96c8f0956f81f08bb2e827cbf42c879c39 -size 100907 +oid sha256:faf4693af57acecf873540f70ed44fdf1ad16b1d96b1d16083aca0a3459319ea +size 100917 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_8_en.png index 27e0ed7cc4..9e0be19e2c 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:98bfe2b2e178b919954517e7359bb55b23124c2127e5a1f150469f6999632078 -size 52774 +oid sha256:82b242a8b44d91a7e0c293505d879b6da91d3c1f7621780cd58efb66f0b127bc +size 52756 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_9_en.png index e4a14830bf..fd1387c2e0 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b8b5b2453644b5395b4cfdf6263696a33ef7a1af40ee8a2bcc92265a9765643c -size 152978 +oid sha256:8d4bb7d7b93e2153d42eb208611cb8307211a204d60ffeaa7818d2cac21785bb +size 153216 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_0_en.png index c6d0d46135..d8232b13b7 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33476fd413a7a199027437365ea49e8c6e0fcdd4126c24d43dd3e15e01e2450b -size 56843 +oid sha256:9084e85ffa4475b888197ae2753ea8292226af8f9e06915424bd45c28e3dd5a2 +size 56815 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_10_en.png index 080c355882..eeabc6c13b 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0281582032e42365bf4d89cf78f034f5525725cbf5817b0a551370e8194378f8 -size 58420 +oid sha256:19336f98e7d891ea051a3cf95be2a489be011bf656040867045f30189c5e36f5 +size 58389 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_11_en.png index 357328bc9c..1490843f70 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17baad2a3ca2126d17970eeefae40a9865fd7b498c1c60bfaa160d68b865e1df -size 48528 +oid sha256:af50d4b4c00672da0e49583c31fc8d75755107f03641f0dfe082b1fd34664472 +size 48521 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_12_en.png index 3f2f766ea1..c431bbe1ca 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:123782a221703e48ab22317a95472c01c6d921dfb37372e41bbdf0cdade30f60 -size 56867 +oid sha256:17e8e34d96ecdfbcf470c0c44e84cec733eec6dc5e4d8b46323314fcd2360868 +size 56841 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_13_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_13_en.png index dfb66901f0..567f00e3eb 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d0bb0bf9f40d7809890e60e291cf7f3013aceacce220343fd8877a935d6ef64 -size 59934 +oid sha256:a89ff09ebc2baea00f451c5d3e5892e2b4ba181dad234e5d910a611e5f041863 +size 59907 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_1_en.png index 349ef8fcf1..6732827666 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:838c2c7777ec4dd68780eb4a8d8dcdd8c4e1f78d633dd45e564b5d9e0a97903b -size 56002 +oid sha256:c070199a8756672f654c25383f1c41802d9c41d867721802110acd9cd9c1c710 +size 55974 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_2_en.png index ab3b4a4d7f..61ec6b71aa 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0ff1b64150f3d5a439cb6d613a22c6a77cbe4fbb81795d7a06ecb37442a11dbe -size 25786 +oid sha256:f5c516399c67cbaf59e9565b3083481eeae2d2fcd684608bc29d8bd456eda9f6 +size 25800 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_3_en.png index ca9f4a309d..8e5eed787c 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:57badf4bc34ed702eb328d802dfee3a725b4faf216262989b01691e4139a7c7f -size 59856 +oid sha256:e1ce3d6ecd9d567bbf299dc5597d3310fe0dabf2755f9617754b589e199e5e22 +size 59859 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_4_en.png index 3cdbc07175..2d87e483c1 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:386904ecaf380209440507f3231a81e8dbd0f0c26f5e93dea65ee797be92859a -size 54619 +oid sha256:09492ba6d74933d54a5d2ba1004aae205e7bd3cf205c8e60e5ca0773abf27eaa +size 54607 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_5_en.png index 379e4a9051..3ad745df96 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c61ed26ce75f9e372788c57b7d61fe2979ff9a93125a0a6e9f169799cbdfe111 -size 54697 +oid sha256:7bcf1aee6b67c9d1f5a513d319ae7926b5979d13b1ef9c7a54b290840ecc19ca +size 54667 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_6_en.png index 5b93cfe7f0..4b43f12e9d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6833a32d29f8c204ebe51e3259da2c2fe5245461bdf00db526ad80393b568b39 -size 54343 +oid sha256:45d741a597e1a14af6776375f0769eb65ffe4baadd14ed0bc348ab18562531f7 +size 54401 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_7_en.png index 14fb31dbd8..3a453ca5c5 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a954dc7105750f18fd535a7e439fa7bbb7ff6781bae2bcfd307b21bc1cb2e10c -size 57729 +oid sha256:dde0bbd93ee3bb929718013c5436ea131b5aca19fdea35c3fec76bf3df83b4af +size 57721 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_8_en.png index f65253be20..f972d5c3be 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:938191c527072b294fe9c34a578b5e5819faa150a8137ca9594a962da776ec54 -size 39874 +oid sha256:4de8ade0a2bc34aa4067077a61fe5a9e819b4ca674336cb13ca6f8e67a27b61c +size 39961 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_9_en.png index 2c2eb55a79..e58294e1ce 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:062ee01ea9e7cb6bbc2ba7ffa49e99344ccf5793ef740ac3c7d2cecbf87fefaf -size 39046 +oid sha256:11d7d017584b55a2fc265be4590cabeb61ae74a0bb0812a5b3cd0a4b52b743a6 +size 39900 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_0_en.png index 47171b7b7c..50e95b7924 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2eb94a75e496066e2a78dd7afd8c76d3b3c5ceac92e506fe5fdc7fe6e21cfee4 -size 56551 +oid sha256:b018596cd7a19064562ae3ee2cd364e84c13a015eb790c02cb95ba5bb2ddd8ca +size 56552 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_10_en.png index bb60d5b44a..899e45d357 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:26d6d962dbec1ceda63ff6c2f94a3e8f1078470f27c027fc603248d8ace2cb37 -size 58022 +oid sha256:73a79b6bb3b8d76bb28ee7be9417931c25619e25a7c00627d0134aa33e39c36b +size 58014 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_11_en.png index 735ef683ee..7d8f7e83c0 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:72211a07ef4329117bf0ca25d1ae58fb62f8439e65ac43fac8880adfbc7f428a -size 44488 +oid sha256:36a2968b69decb5a0ee0d675ed05d6943cfbed33ab6f98448d107ea5f8037e51 +size 44484 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_12_en.png index da14d88080..dc6df176ee 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c8d9ca0a8920657a16fb2cb02555e2c1e053bfdaa0876de7e4bfc273b45e0b1 +oid sha256:d5acb2c39850c304a2ea3ec6494c03ba84d1653c25ad1cc0260206125f2bab92 size 56589 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_13_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_13_en.png index 65a5926f32..338b0b3f6a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a8ae2b88cbbe2ad37340f7b9ca252daf156b6d13659e9a0c98f432752a7126f -size 59307 +oid sha256:4b9cc1eff51eaec307c26d2106d5a21307f9968e77d0290ea5c5cfa2d13739ca +size 59302 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_1_en.png index 20848539cd..ba30927cd0 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c83922eaf6e0e9ef1e097cde9332319688d24cae6a00cb2aa2ba1968fa19d29 -size 55443 +oid sha256:01eb925171076a6e8027797a8b555719d462c72827223dfab799968128f48b80 +size 55440 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_2_en.png index a0f4f33548..9721de1253 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:790488522880ae6e876f9cc2826e83d12ccaad3406cbd8c0c9ae4ff2595034c2 -size 23941 +oid sha256:f2977fda41dcaf1c6528dee113781f81329fc31a76338ee81768e3b858394178 +size 23947 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_3_en.png index 506cbea6a2..5c3c2c295c 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ee07f23cdc3a6da7515dc24e198b615c3ca3dfbed747dcff838a7a3faadb3f4 -size 59348 +oid sha256:c74a2f2483499efe27d2d5fc8609b059251c5fa65e29d0ca4ca072ba0590eb93 +size 59346 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_4_en.png index 004a4b8a50..34d88a218b 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:44bbf97a8df26136758aea1410a5dc46cc70903fbb84816fe0dea15c820863ce -size 50743 +oid sha256:5c3db32ed43ed76f115ffb7088b14dcb2fbbddf912acbcaafef27e964df82220 +size 50740 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_5_en.png index 3a2b5d22f9..1dc7fc64a4 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f248f92a92729786e6996ec58660ed73ccc0a01f14a78685e632db9fcf6c6455 -size 54221 +oid sha256:43f3830a188aa11623eb3028d9d575e86d9afac3c255e9f1ab58b77c59776ad7 +size 54218 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_6_en.png index b03fa03504..ac020d4bc7 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e3cdb6e380a5563777cb4532bb440bf69f37e8218937eda9f8cba67e3c4275ba -size 53899 +oid sha256:e00c6fe43eba1a88381992653b5b51b7d42c3d51ced68e9820c28e36413f12c6 +size 53961 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_7_en.png index f22e1b6887..e24aeeb7a3 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:25c9a7137c5cd4379e1e790f48aed0ade6b756adaee9ce305b502b14b2e98807 -size 53545 +oid sha256:1a10ac7f5b24e11d45b2f950ef78fde83df21a4160c142d470d3b1d93061472e +size 53542 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_8_en.png index fd8777cb90..9a4aaa4cec 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ca69157ef88e056138db6d6ad79a552056ce9ad447e734330d4dc365fc9eb45 -size 37399 +oid sha256:2f46c1a30e8a08a51b17438769e96a4069e1074a818a39a74de2678396b327d4 +size 37481 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_9_en.png index 847d337310..6a6c8eeda5 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13cb2b27c4fe30d2b41660d4cc30f3afc4334841be9d0e170a87aa12e99aee51 -size 36656 +oid sha256:8a960dc721d164ec3813916aaa7075298de68c62bd2c71fd1cf235ccc54b5f24 +size 37259 diff --git a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_0_en.png index 87845f860c..1b3302c89c 100644 --- a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5af3e9514bfa603491a2ba225260c8eceaa2156c255da83c547c59d50388953b -size 5149 +oid sha256:615107c5e6d654779b1a8fb0ac3e5511f03ac0eac2a5c3ae0424972b92401ca2 +size 5244 diff --git a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_1_en.png index d622a61274..d58e9f6bab 100644 --- a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcd21fe57ac680ce914126b078bf9d2e1ef0dab96c1cb4dcb757b135be283e1e -size 7904 +oid sha256:cf1c1f8eef0976a1fe4f62f58b13cca1d554bcd7afdf80e1912e64e51da166fd +size 7989 diff --git a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_0_en.png index 209ecadfe9..cba2bf39b2 100644 --- a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fef553ca190fc051f6b03946b4de2f3066600da2b2b8e8443a9c83cd7fbf45a4 -size 5153 +oid sha256:a360e21538876df4d8aa1b4a3e95e4982df6307a69df4d887416cbbd76b8cd99 +size 5250 diff --git a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_1_en.png index 63d7d24b41..cf98a23a5c 100644 --- a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f184437fa87b255dcbbf548e4e12821800da75056e3d84685452e79101068156 -size 7764 +oid sha256:e53c313bdc23663d0631b6e5336ba9b14590ed4b3631ba89a2b5160ebe0dc388 +size 7848 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_0_en.png index 00f976112d..0c71121528 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7d490201406ccc643bf8479025b918284b52661411bb4fa7066fa470b218fa8d -size 308798 +oid sha256:6150b629d4a08036849a3cfdccb804a41f9a53503190269cee392d2240cccc3c +size 301859 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_1_en.png index 1a291f88be..56c53770e6 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2c4781cff96f2f3de462b751dbcbb40625e3903233c087fddd1a69af3da3eac9 -size 304180 +oid sha256:c29020df93cb6752c10bb6daad3a5ff6ba8e6fcf15bbc04e6936296aa2f753a6 +size 296902 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png index 09dcffa934..0f683ae14c 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:137ed2c613128525a2ee749c3f488cf8c2900dda49778dae420d72364a1d98d1 -size 307793 +oid sha256:1211158215fb11a4e1a6fcfdc768bd4dffeb858bee8d1d8896098653676f3623 +size 300480 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png index e38bad3edb..a92833a7c2 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9a19a446abbcd7c4317dd6283df8de2fdf1829e905f353d4dd79132bdf1c4845 -size 301997 +oid sha256:fb7737ad5381bd6c3048afb320e06a47c86ed8910102d76b82c5c0455883c2fb +size 294709 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_4_en.png index b68573b394..ba5b5b5bcf 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:24c6db52aaddeb00de49ffae8d60dd037ba3dbfe80c74bafc2f4d6337a518f6a -size 309523 +oid sha256:6fc29b28e17d18a05f3c0e003dda13fea8ef0eb33322cc83087510ddc65aea1f +size 302654 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_0_en.png index 842503acb8..e5208ccc2a 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:325f97ed65a53d0694e3d3535c133fc2101d0f8e65cd3d9ff0483c3e664d795e -size 392902 +oid sha256:0fe6148ecc64395169ec4bbd7fce78c4e8be6233334b3d761ea523e1fdc94479 +size 387905 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_1_en.png index 131592e0f7..b249ee4aec 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f2fe43b769d5db24179f13e41cc324f32bb876eab0652e76339fa7259552439 -size 380742 +oid sha256:fa780d7ce938e2eaa28714390d4d44ce9156806145da3979fae83cb047045abd +size 375086 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png index d2dee86e6d..3dec4d191b 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:db259afbc02e4696b36101aa6ae6829d0ab8d23ee6c662b2ff63838894466b4f -size 384093 +oid sha256:5035541a1aa4cf2e3460b40b293fdda0d131232583b5e5f706f9c68bfec2a1a0 +size 378291 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png index fac9148917..9fd65a1d89 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5b83da6855e10e0765619fb6557843b0b657526928ca94f2a565144f5b261c8e -size 365396 +oid sha256:45ae95ae922e05cbb1fd2d2e44721fafab50bda5252a317d758817120f9b8331 +size 360000 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_4_en.png index 4a45eaf775..28f2856291 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2b294f4dd3357d62a843b0805813381b71502a69fe9bee843b7fe173b72b280e -size 393647 +oid sha256:92f6789eb3b041f2f5ded591ba04a466b6636981ea28edce100e040a8b14e603 +size 388627 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en.png index 714e1c0056..0c5d4253cc 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:242edc59e43b86805e651b28649e57daccc1e562c6417677bab2755f5b0710fd -size 21597 +oid sha256:ec5ffbdd20642afb545cb434c56e6257ba9ec0319864a76f35dc3536119d7778 +size 21711 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en.png index f363033698..aa06ef7b41 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:195bfa7ae1affc271539d9a985ac890e4ddb3f0e88e9af8faf0a240eac2a683a -size 21243 +oid sha256:538cfce84577e22223351336a21e5ff4fdf7165678ea7e9df61e7f426165a227 +size 21355 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en.png index 491b3fd581..68a4f66d2f 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b7abe4953662b46d07fec1759909391f8ed6424c6e9684ed7d333c5ea9dcd2d8 -size 21440 +oid sha256:af4a9572a809d23f9604461cb39d6008a0974451e48e730d52d3e4d58d82a632 +size 21556 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en.png index d4b37ba594..8cf153cd8d 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4df50e1025eadbb5862447cce15aa674880786bf9dafadae865d9a5686dbbdd6 -size 20991 +oid sha256:dc441b1ef2ba4d581a81cb437e930fa981f0d8a78a504328e382529a9c45dc73 +size 21103 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en.png index dd06c3d083..9f73781f39 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d697795617572fb13245f20b7c2c4a10fee578751b4d97974e48a12d640ee129 -size 21514 +oid sha256:06d1c63a1f73de93f7caa869dbb379a6f87c48c22b86bd51513819064a9ed411 +size 21617 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en.png index 504cbd1ec6..e047f40fdf 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6cc1405f51168b37f78cf3a42ed363b26de292f0178711a1d9535887184a4e0d -size 21097 +oid sha256:16162a704e8934543a657fb35beb58c353e56477112a7e031f5cdcced8b1863f +size 21196 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en.png index 2d3a3b7ab3..929feb56cb 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d21f055d2d2c07d85929ad5d8c5f3109c1cdcb572ad42e68e7ce3b251aae1a10 -size 21839 +oid sha256:b9e1a60f0f414e191a11790da8776e90d980d3cc031ad0ddc907361357ee087a +size 21961 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en.png index 61514695f0..2d9ee1efc5 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a019eccdef4af18f4a75d1dbbe79d5c2ca19782fc2af80ebfee624b5d34c1ab0 -size 21212 +oid sha256:dcab73fbb97dc8c288806ed72ee4f407e8df80ceaf990e211bb50b0bd20a193e +size 21308 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en.png index 510e6e86a1..95dacc79b1 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a1540a84deec685e34eb7595a286ace2c3b49e36f67c544745d114aa5fb279c -size 21806 +oid sha256:f7930defd180a6ebdf6fdc303d3c02c3530459418d62c3ab319ef675572ffa12 +size 21931 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en.png index f26d6f85ed..afa2f78ef2 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8844d6d330a39bdb5845877f686c2620e727c924a6a05f6c0de8b1a858bd77d3 -size 21184 +oid sha256:b1f750f39615e494e1426dd40a85ebd8bd646835105c9122e28d06b50f2a749f +size 21283 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Day_0_en.png index b36cb7af61..eca53e5b84 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a46dfd4eee3d73afdd565295fedb75e5ff9be6b382120dae867218d54d95a382 -size 19623 +oid sha256:331fce2ac998f57171fbf241734ab15ba7fd1d03e7b489792230c687fdf56f87 +size 19683 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Night_0_en.png index 70c00ed688..f97b4587aa 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:227c4abaff48d7c9eb6c5d3c6bef5eafd743a28a824cba0579ea3943e8bb4c04 -size 19326 +oid sha256:0d6edc0f4ef868638c8467f5faf0052f8b62b37159a2a981ef5a812c7e24d74d +size 19398 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Day_0_en.png index aea6eed30c..7a8ba60448 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82433aaf88473c5a929ebac3c1a8d6452ee6b41f9d8b503b6f76a5e6135e0608 -size 19451 +oid sha256:d712aa52a23d731818ee6df552c971ebe1aba1489c260b957c18c776b1ee5753 +size 19475 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Night_0_en.png index 496eedfedd..c8e672914e 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5a9d1ca3b012a1d5ea2fb2c20e9e2acf3252eaf692492adb4e7a591f35c8204 -size 19096 +oid sha256:4c3abf423995c3e612af7231822f145d3cb04f49a954b947990cbdd460fd8ac7 +size 19099 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en.png index 7519dc652e..3d1c0e564b 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:758747be120863a6f2f88b257ee277c83d7445a41d71ed664a6d7920cfb011f3 -size 49252 +oid sha256:f903b6071355ac5c45b9fc58933b94ab0341b1724cc99378db7d59bc8b7d81b4 +size 49434 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en.png index 0322c5b34d..b2d427d9f8 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7d60ccff326a07c50e60e28f1158ea701226b92663befc25a68cac27e9e394be -size 47947 +oid sha256:6cdb0d60e622128f17b3b84c4f1722a5638dc7fb25ec0ed063a6d8148fd23419 +size 48169 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en.png index 90cbc66e60..d4853bda91 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96fc3909c87b422872d404bec927b991b3cc664a27941b6502406c631759d8c8 -size 47153 +oid sha256:1a33919bf3b6936a05cab67554ae9bfefc15d7e731b81526c90f9cd072be8204 +size 47512 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en.png index de15a199b6..38ed7482a5 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b45caae70d89133770295632705e964e281e826c2ae5073619fb51598284864a -size 45808 +oid sha256:467953c093f401d388528805530769ea8c224d8692c0bc6ab81a23a0c48d0e8d +size 46126 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreator_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreator_Day_0_en.png index fead0ee127..635b871722 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreator_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreator_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:41471cbee915a434c1b4b928c881a4d66ebf21c346f92f54865685a72f77660f -size 49084 +oid sha256:c98ae539d549ef2ece48d6f7dab5525889a237947af17e79c68e8d2490fd7bfb +size 49371 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreator_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreator_Night_0_en.png index 7015ff854d..d078b0dcfe 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreator_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewCreator_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c0e1bcb8dad192735b719be0ac051259b2be2790958b042d120c73a3b41de21 -size 47806 +oid sha256:bea1dc185eb3324df0a7a3bc2afec44e922a08492f0ebea394bdcfd949dab57e +size 48143 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en.png index 57c9fb69cd..1713eec87a 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f1e27a0778bcc47c6c47e86e9180e9927cf97ba6da0534e60a818b5e6e4599d8 -size 46742 +oid sha256:c319670ffe1f12885625bd03c83979e8657f61675393aaa943e756f2a052b465 +size 47105 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en.png index f2f34aa2ee..b74c2d0998 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ac1e7486de694e3f272b1b0fa9e5d614816229774ea60e662c9f881ae546ab91 -size 45612 +oid sha256:62cf5c40a74693f2596535870e97a1d884b7abd7f602861f5d16cec11de45c1d +size 45948 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewEnded_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewEnded_Day_0_en.png index 90cbc66e60..d4853bda91 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewEnded_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewEnded_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96fc3909c87b422872d404bec927b991b3cc664a27941b6502406c631759d8c8 -size 47153 +oid sha256:1a33919bf3b6936a05cab67554ae9bfefc15d7e731b81526c90f9cd072be8204 +size 47512 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewEnded_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewEnded_Night_0_en.png index de15a199b6..38ed7482a5 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewEnded_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewEnded_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b45caae70d89133770295632705e964e281e826c2ae5073619fb51598284864a -size 45808 +oid sha256:467953c093f401d388528805530769ea8c224d8692c0bc6ab81a23a0c48d0e8d +size 46126 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en.png index 5822a73660..c9607e1328 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e72ec66bff749d70850dcbc3ff3565b8cd6fc5c8ae1464a7b1358c566b74e975 -size 44698 +oid sha256:3cd3f2023425aebe2e0d74b8e2e52b8f59c3d36d8f9dd193e9ee573c24b80bfb +size 44903 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en.png index 10b275ab03..b2e9409371 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f71585abd6f24161bb2ccbcdd18b893341952af19e6941f65ee181d60c960241 -size 43231 +oid sha256:26f6c5cb1b6b09ea8a520e2c39c9e545be7c5e11839cb0f6b558948166d5b5d8 +size 43436 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Day_0_en.png index e3abc73f73..ce714bad3f 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fef418e685bb0bb7eebcca39c85bd72f7338e973990606b2fc59b70e954f9c57 -size 57059 +oid sha256:fe511f10181ec9c56a7b2fbc284abfa87299f2d6bbaa61339acd6bf8a38bcb23 +size 57450 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Day_1_en.png index d4ad0d7302..7bae89aef5 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33187b6a12c7aa2096302eff31496c942916226669fbb67ffc7a19cab0798f0d -size 60851 +oid sha256:67f1442e1bc22eab1be8dcd232dc0212494a0b0c68f29b64baf2bb142b037c80 +size 61270 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Night_0_en.png index 12b363f47e..a23fe258bc 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6f61076528622998076387825c0b0e168807a463355a835fd86dce22c333aa1 -size 55365 +oid sha256:2bc6228d08938f793a505a8c3ab67cca036a4596f04f0ceb2abbb913117bf32d +size 55737 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Night_1_en.png index f694864d6f..cc7f7878e4 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.history_PollHistoryView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:20939ef6fbda5f430121e4e03a04c11681e4a79bb4ddffce414f259bcb5ca53a -size 59127 +oid sha256:2d090bf0b426d2aab896caec7dc6a51be37df3cd464cbce3447e641cbf922b32 +size 59501 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en.png index fc5cea90c4..2f6423b680 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b1eb2bd651c566d23dde990e101c55b103bf756abb0eab802f786fbfdeb9e2fa -size 62005 +oid sha256:98da34b85cd2690d279a4ac24da62841e16f84338c3411525bdae47967b761ed +size 62045 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en.png index 0ef559ab9e..883f124b27 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:05cd36e01a23b0125d567dcb6fad8b1c174b87945fac0d100828124cad7eaab5 -size 61605 +oid sha256:b9b2e035357a05f59200d594dd5ed2eaaf50821dbbb75e5d25d3b5ff43d1600f +size 61653 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en.png index 9c3609d881..278ed24dc2 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a7719e4b3795072b01fc018469e8a81a43901ff5ee04944daa4cf541908423b -size 61642 +oid sha256:ee21697b864454c407f95e4d58409dfb36df1d34683493d9491ac67900c4ccdc +size 61632 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en.png index be6621a86c..196c55db29 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4c3c71d18bbcf56e0aba1f86db13792fb27a30ee1823079527ac2136ad81503 -size 61372 +oid sha256:5c9156650882a564d2de107f46034d2c45f298a828ff2825581bfd2bdf733d63 +size 61359 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en.png index 7b03c30487..7ee921b21c 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:05b0760e8c14384129d204cb72a53c4c144bbd24e701bf5a1d6df8e4cc26eac4 -size 35454 +oid sha256:e589be6085875c2da9003274a91df9e4b2b881eb65db8f3bf401f5a2cd702f72 +size 35555 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en.png index 339ba88c29..8c6c8f904f 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ca399f79d7e6b7c6ef9b9544b3553a825e7c821c02da84a04de8ef8856015aaf -size 34104 +oid sha256:b82015829e697337a8a2ddba041ef61daf2356268df7510b30f33de4d47eb3c9 +size 34195 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_2_en.png index 9c97ac79ae..4e1fde3de3 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e6bc79bd848d4939317240a87645cff10d2ca6bffc528102fd98abe4df2203ba -size 39762 +oid sha256:ce4b0885b7afbc602c82d7b3a09ad30bb33cb3ef93a1c963af8f9c6a6ffb6c38 +size 39852 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_2_en.png index 8bcfca70e7..af2f907351 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dd2e91528d8e3cc38b713e53893fe0ba8689f4226614bb588a05888b56d7cb23 -size 38512 +oid sha256:5358735656302e34840c1acc69456ffcc38198127def752373b82eec00a97e1a +size 38615 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en.png index ea350f4475..2b83beaad2 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b6002fd47141d4558b2bd5ca4ec5e704e995c95c5b02ba29e7e6c842b80e72ea -size 17455 +oid sha256:6528bc232576108198c438caab791ca90c41bbfd4db4f1aa946230fc4c3a226b +size 17573 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en.png index 86d75d270a..21b7e5a72b 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:abaf0b50aa7e9ea2aa9df6f984749249792ef77f291a53d04eaecbe78705766f -size 16692 +oid sha256:a75abf56047d45db45c1a6d0615877ac280037e2b00d8df067b3175c4d36bc58 +size 16925 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_1_en.png index 0eda2efdc1..1b37acd145 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e89493e14a5336a17468b37a4de5a0c8cfa37e64522428b9e1203f9fa46203e9 -size 86978 +oid sha256:3945ef2e9a2257a3f70af5d29318bf638986637522f4d7e26237ca1cdcd919e6 +size 86802 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_2_en.png index 2696c93555..c21f93aa09 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ca234e1eec5a9fcb10ee4f19c3ec69b2ee0eaed4d934b531b68a5ad28c11eb52 -size 65819 +oid sha256:f60ab6c9dababdeddf172f85b00dc9e7bc6c79de1091487f0fda0e43a1ab2cc7 +size 65850 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_1_en.png index ae7524daa9..cead137364 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:426797d3c7c5e0c760aeab4bf5295cebe04c99ae4756cc9263ad867a2e260753 -size 85207 +oid sha256:7d3c1641529077d325afe15f9ad0f37ac8a9d7e8ff2dd4bf0108e52cd767d626 +size 85107 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_2_en.png index b382591750..8ae3706c17 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1167ad9cdfd3a2f49f7ac5b7b3608165aceb07c73292127288aeacd4e55f682d -size 64742 +oid sha256:fd0b528af7dae53c692b17f2d20dfa7fbeb25d01e4385c88cedd01e4b86e4237 +size 64789 diff --git a/tests/uitests/src/test/snapshots/images/features.roomaliasresolver.impl_RoomAliasResolverView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomaliasresolver.impl_RoomAliasResolverView_Day_1_en.png index bda694126e..a636de0ff9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomaliasresolver.impl_RoomAliasResolverView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomaliasresolver.impl_RoomAliasResolverView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:915b9e84ea477f86d60b36daa7832d82df6b75059120f3996ed07ffd0cbdb32b -size 99342 +oid sha256:a25327e6d4bd3075391e6786ada6dfee82de05e6941cc3eb840438b29cc21bd8 +size 99409 diff --git a/tests/uitests/src/test/snapshots/images/features.roomaliasresolver.impl_RoomAliasResolverView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomaliasresolver.impl_RoomAliasResolverView_Night_1_en.png index b20b0cbef8..b0dd49b0eb 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomaliasresolver.impl_RoomAliasResolverView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomaliasresolver.impl_RoomAliasResolverView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:458919c48ceeecda7ac53fabef1e5121d435c4ad6baac9993c9ff1c977fe62dc -size 84337 +oid sha256:fec53729278f19bc00c336919a71daa1ee64a3061191d3cb52a2929d7bef1c11 +size 84440 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en.png index b830134474..39f2299ce1 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:460e0c6492d99facfe47a5049889b35af18dc50177312d582a8348b24f0b37b8 -size 26058 +oid sha256:3f2edd47fc00fa4709f5601dcc05e05a02a398e71ff2dd4a884df839274fd7c1 +size 26162 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en.png index 60ca233124..e989532d76 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:05826099a8375f71fee04749e722a04156ba40d07c5ef08d1983352c1f43d53e -size 25143 +oid sha256:294c350baf0dabc86bf08c52443227cd83d82bf4157dc6093ddcb49bcee78f20 +size 25238 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en.png index 6ab126f58e..20818446e3 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7f0dbf3bda220b664d42267e6bb21c011f3b6094b5130adc96b013f8f79bfcb8 -size 29569 +oid sha256:fdf190d8b3d3a7a2bc99bf358093851a26c9811688231b40b6fa29eb5dce2d48 +size 29655 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en.png index c21679dff4..d4f9589b72 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:72e1bee9c0e9f459633e397e47af7626a0efc10cf7ec1c7eac5eed30bdf9210e -size 28957 +oid sha256:0f23161b4e4ef657c6544d3651402798fb691372d30376fd07244c0d0fb0485e +size 29033 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en.png index 4b2a7b972c..b5ec8380f8 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9fba4909f391a7f5ab9fd249883b704451dba9b62b399c0f44e5af8af19d3a31 -size 16818 +oid sha256:f0fc57dab85b37c2790fd059e92bf9ea99ec8285f091344e23fc02e302fb9766 +size 16829 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en.png index b054b8daff..24a33f9780 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:18cc6a974b7a4237f4b4175eec38c50a91b5ef3574b5917811a16382f27e08c4 -size 21347 +oid sha256:9837343fd6bdd5cf08b42189f538cf1c2286d69a98b0001112eeed4dbaf49313 +size 21359 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en.png index a48527caf8..16fef1216b 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bdb6fa8db2dfa97d926da8b6f29310d28150b2f65e724869fff123b0ac84fbc0 -size 26306 +oid sha256:c77a9bedfc15cf168207f80b46daa01478dbb60d2740c30a5274897c21c7e97b +size 26315 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en.png index c41193d278..becf3ea4ed 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9bb7b3efc24f9f385cf47775affd88b4c3d5dc1f0627ab1fce2455eb38db2751 -size 9405 +oid sha256:7ad5026af82db340904d6bb23a8d5baeec0e233a60df901d26331607e4269682 +size 9428 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en.png index 3d8f1ee052..26c7c67579 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:00d82a65b78138bdc6b263e1bd9796163104f59bea79d216042ae8aae3310097 -size 8984 +oid sha256:df8ee30b1a35b35edac0a456eeae685ac1b10d350b3d3c3d6ff9c484af5cb649 +size 9064 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en.png index 317e034ba7..dfd31916cb 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a49d32a7b20a6932529b1802fc1d86baf66d8cb934546593c0a9fc33782155d0 -size 9125 +oid sha256:5e0b84ff9cdbc6cc203304ff350789437533f9f7a1d95e8a196cce3585c454ec +size 9143 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en.png index 6f43e3db48..0462444183 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f83d60c7e1d963ccef24668c219bd9df36494dc8bd8f57af7aa63a3b73ee6882 -size 7545 +oid sha256:a2d87d19e4be1995b3adbd4ce09eef71908d3afcc6fab7c0c0f331a2bd87ad30 +size 7608 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en.png index 7197cd326e..a3361dffcf 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7e500aa0d98eb7e4fdce0a0992d75f5849187622796aab3bd6f2bc516b399aa -size 15904 +oid sha256:7f9f0ac97ac658dda11e934efbd92614500b2ef3b0355ce8541cd90f284ac8d4 +size 15924 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en.png index 174930aa12..1f76877d34 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3fbc45918752c277a2cf869cf0db8d21d61d2314777294c3647075cd9942b926 -size 20285 +oid sha256:58239cbeea75521887153f0cafb4f1f5b4054ff098ef4b177c17d7fd2a0d1cc3 +size 20299 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en.png index 2f3b2f035c..6acc8bb8b7 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7a3f718c18a5c10602d7801af14f46f43f4562d0a8047634fd80fc18ea5f42a -size 25067 +oid sha256:5e8434fcb82debe68599909ff75484978ffb3bfa53066682e4f443e893cb6187 +size 25092 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en.png index 3cf8cc9d57..6a5279938e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52f617997ec4a58982a56198880eed6c541ef46002ecd0d88abf5b66e5464659 -size 8156 +oid sha256:8a6b1e57445c874750a23c71411f026e04b83337c5426d2ffd415b31c809b3c4 +size 8183 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en.png index ec3cb5444d..62780c8ba8 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:05d9ae0f08cd45206976e559b9e1fae4a6918de66141acb6a51dd07660275dd3 -size 7628 +oid sha256:28d100b801bc13aa3c088b4ff1ba6850f3bf52683d2cede959c7f263a2c25dbb +size 7631 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en.png index 966b5ee23f..24e6d2e293 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:abcbc96ed316b2a82e5766f3ee0f6087802dbd94936cb451c8529626e958b286 -size 7880 +oid sha256:9b4fd072108b60d09d5c37c56e0e97272a1664ca5d21a27152e111539ac1a640 +size 7861 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en.png index 08349f1edb..a0602abbca 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba213b12d181b04695b9271670cb7d96ce83dfccc3c2031ee002ba1cf180cc8d -size 6408 +oid sha256:d7274f8fd13d6004ed757fa78ec1e5913a76250f4862232e53cf3155f59f25fa +size 6385 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en.png index 32663a06cb..9ca27be755 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:37bb4815f4ce54b7c8a07e04c1437b5bafcda9d8834850c14afb495e31b21444 -size 32485 +oid sha256:b89b0c7b09ca5ec912e7b030521ee7dd8ef84ad8e7f89692fc181b56057329bb +size 32744 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en.png index fe391a3122..467340a9c4 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39b99ff002f7739b0d6832001198d875b55dfbf71c5c6f650b96f11fcf62296b -size 32379 +oid sha256:8d200f50ff2ac90f7ebdefe6c6a9095bcc3200f8a68191cea923ce4150e7678a +size 32641 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_1_en.png index 217d17509c..166e5e8f37 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e70220c936ecbbe5c8117ad1c28aa16db2774fbe068079c386d3839b144ad31 -size 11708 +oid sha256:7cd3c371ab57cf0a7ec16aa654c81b8f51c41307d9754a93a6cc3e31dcfacbb5 +size 11975 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_2_en.png index 0114ab270f..1c02b115f0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4441700ee6c2fa077f971b4b781539fe24be6efc1271f4678a8a45c7a682fae -size 12668 +oid sha256:a45ef2be8869629427e1cef559a0bf7f997f0dee452f440adbbf230caa709645 +size 12936 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_3_en.png index 217d17509c..166e5e8f37 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e70220c936ecbbe5c8117ad1c28aa16db2774fbe068079c386d3839b144ad31 -size 11708 +oid sha256:7cd3c371ab57cf0a7ec16aa654c81b8f51c41307d9754a93a6cc3e31dcfacbb5 +size 11975 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_1_en.png index 094d7286ad..82ac8503af 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd3663661e7c50251dcaad14619cce2d661ce7849080d50cb154811f93b41ab1 -size 11001 +oid sha256:84718c07de3b94fdd5978a93c35be6ded506ede2a416adf84302de19e664768b +size 11266 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_2_en.png index 54264db61f..adf6375108 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:04b8bcf0af27f0c947bde561fdddb4e39f87e27f9e0aa777995625e8b604328b -size 11885 +oid sha256:2d334828907b99fb9f047ef1636b87346079eb14027f577c65f3ffd0cdd4c1b8 +size 12149 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_3_en.png index 094d7286ad..82ac8503af 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd3663661e7c50251dcaad14619cce2d661ce7849080d50cb154811f93b41ab1 -size 11001 +oid sha256:84718c07de3b94fdd5978a93c35be6ded506ede2a416adf84302de19e664768b +size 11266 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en.png index 1450e0a54f..091a0e378e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9179173c70c5ddf66bb71aab276b2560e8fb708a6c07067d3a130b346666e6db -size 30077 +oid sha256:3b7e4b2e85d4ec008da0a599550867b9c77cbea28d13ede421f543884c705927 +size 30170 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en.png index 1450e0a54f..091a0e378e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9179173c70c5ddf66bb71aab276b2560e8fb708a6c07067d3a130b346666e6db -size 30077 +oid sha256:3b7e4b2e85d4ec008da0a599550867b9c77cbea28d13ede421f543884c705927 +size 30170 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en.png index d9a86f03c3..001aae19a4 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d3248af1f51704e48500969128d48a570173eb02a9314cee4661907cb384e015 -size 28608 +oid sha256:4435267dd72d315a6fac3728a2ab4e23d55c203106032d51ff720ce00e2df6ad +size 28696 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en.png index d9a86f03c3..001aae19a4 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d3248af1f51704e48500969128d48a570173eb02a9314cee4661907cb384e015 -size 28608 +oid sha256:4435267dd72d315a6fac3728a2ab4e23d55c203106032d51ff720ce00e2df6ad +size 28696 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en.png index 95d701d614..7673da710c 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f87d1bf1ab91bd76a14e57340e8770abada984380a639ba735f2072c78e4c77 -size 52321 +oid sha256:5e873aab9f7b3607879d1061d0c94c1644dfd5f64833459ba5a2d8652fdd1590 +size 52430 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en.png index cc375bf25e..75e8169dc6 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ddbb437e5e9dc269b2e26a535796a5475d1ded857df7f1c78b390c743e9e5164 -size 65548 +oid sha256:07aed38a2eb95ce31bc6fd9374da3dde9d9cc6075e01b3d3e0d107b52738a18a +size 65588 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en.png index 97c76569f7..9f7a272148 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed36d6c390c094069e46495bcc4021f5cced467c5368817ef976f2568f5e0d1e -size 50800 +oid sha256:e73bdb76f0207c574936281e750f4ae1c3e68aad687f3de6b0bbdbd8e49650a4 +size 50900 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en.png index 821afdbf89..5039d90ffd 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bdd1d1e4b147768a6ec5b002aad3ae29b5a696eb012349b129ea5c3482ece0c8 -size 63983 +oid sha256:30c0b0937be5cf4c1bbc39693e818ed595691e0bd0df242000760d282b917e20 +size 63990 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en.png index d4df9bc093..15e12b1108 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a6e4cf00f3d09816268f006de26e588ba4a18bbf48bc66067d2a09f76cab6c32 -size 36167 +oid sha256:460176a43c2bc6fe210e1ff560a79e0986f1f5f6c5c23d5c8c63c03f2d4b84d1 +size 36258 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en.png index 116e1bc35b..f76340a610 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:077c5cef5055370b7ae60fa081711f20603573a7018e1e6fab632bae9acded69 -size 34972 +oid sha256:d16c36a9afe44e84fd960b01e5e5c73f7b905092753c35a47cd8681e88c21df3 +size 35073 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en.png index a5feea9c33..d8498fd392 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:93619cadaeb9eb02362ce27768791b47bdf0074ab90edc1c83858aea822b8cfe -size 42281 +oid sha256:f5e7576ea8ec6f504070c59997482135c4cd2e6d647b1b6f6570a0d23df73509 +size 42293 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en.png index 9ee36b8055..e0b22472db 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82c783807d743c73aa493a80f5ff7fd930c6a5d6035e9dc73f3910dd7de28f48 -size 37572 +oid sha256:82954ecc3e72dfb85cdf2d0c037ca3ec5c7b705012f37268ac754dfe98d6bc64 +size 37656 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en.png index 9ee36b8055..e0b22472db 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82c783807d743c73aa493a80f5ff7fd930c6a5d6035e9dc73f3910dd7de28f48 -size 37572 +oid sha256:82954ecc3e72dfb85cdf2d0c037ca3ec5c7b705012f37268ac754dfe98d6bc64 +size 37656 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en.png index 81b85cd134..98b2583f91 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a6636b118367d4aec3d7bdb65b79b5ec32286aba6e033da75dc96d75e585c87d -size 40125 +oid sha256:b9cabe4d952cff321039898fa130da7b92d9aafa96e9c0bc2e0a6f2a3f610031 +size 40136 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en.png index cbde721cd4..0128d0b0c0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e2f125540b9fa705bd4e2c9263d815163115f17a02b689dc3cd48d010cde8e23 -size 35624 +oid sha256:c395090e7fa824a9bc0811f99cb09e8179905aee66b4ae852abdba02b2c902cd +size 35726 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en.png index cbde721cd4..0128d0b0c0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e2f125540b9fa705bd4e2c9263d815163115f17a02b689dc3cd48d010cde8e23 -size 35624 +oid sha256:c395090e7fa824a9bc0811f99cb09e8179905aee66b4ae852abdba02b2c902cd +size 35726 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_0_en.png index d5a8b351c4..303b996e77 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8cef0a991d7b6a66dac0687e278231dcd4c9084e3ea04fc5e28d7d15f8b30795 -size 40901 +oid sha256:3d65eaf4e2574dacec9c981515b9bf0dc65b59b23e360564b9aa19cd8206cb68 +size 40913 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_10_en.png index 0d46da4eb2..71a9118689 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1481831145c4a32c046f63748a1ac2eccfe8ff954b1926b22115110e9f4c2e44 -size 45041 +oid sha256:c8cf879317d93f860736995829dfe3094c1319a339bf761c06aaf0eeac7be7f9 +size 45053 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_11_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_11_en.png index e25d3bb89e..666e34ef67 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:75d9e78aec05eacb67872f036490d2dbed6174e160bfc1f983123e043c00d056 -size 44003 +oid sha256:4c2f5bdad4bc5b2b2732788c59853195b3b6dded00737896e069485883172de3 +size 44015 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_12_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_12_en.png index 2702d14999..7e0da8acf9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a6a3a952c2b2e5304cd83674fb209d11f07a366375aec36cc4e4f981a541b03 -size 47082 +oid sha256:4b66a3c6b707d3e5acc64b77f3d66319dcf541b1a9af8319da39befa2868f513 +size 47094 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_1_en.png index 2aca438058..c072c36630 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:85e674e93c73ddbe77c71bfa8ca6f117b9f0d6863fa5137f12f0e9ed62a6e4b7 -size 37414 +oid sha256:8174892fc81c156e43b00fc7d8766f34cc74e898d2fb85cc73e03c81a943c47b +size 37426 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_2_en.png index 9d0de360ee..71c1474f85 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de1debdc3ff7a00a7de3b7b381a5bd1102016d39e072af2325c4ffb40988d054 -size 38281 +oid sha256:ef4711d604a74a38ede750a19f109332d3bee1bd49b3ddaffebe427a753a253b +size 38293 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_3_en.png index 54109a1d99..1b129b1d6d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:86a5148af36166fd0cb8fb022b85645e64f0cccb9760848d75af4927f715cdc6 -size 38413 +oid sha256:dcc53150701e858ae234c5a52ac1d8ca9327b91761dd3c49bed82c94f1ce6f52 +size 38425 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_4_en.png index ea0e3a147d..3caace7342 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9893ea709177f3f0101bfaed241de44e85d179d99f133f6d4057a251b88c3a9d -size 44234 +oid sha256:1d109008e7721560727d2ee99e015f361156eebac90a821224be362351ab1034 +size 44246 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_5_en.png index f926d67237..636daf625a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1ca7803057968031f909b1311b023bfb9ae1978003c8beb80a85d065968bd23 -size 42324 +oid sha256:b9920e3b344551f91ed35a25c1a6b3f39506eb0ad32e82f38fb0388b22feda29 +size 42336 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_6_en.png index f926d67237..636daf625a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1ca7803057968031f909b1311b023bfb9ae1978003c8beb80a85d065968bd23 -size 42324 +oid sha256:b9920e3b344551f91ed35a25c1a6b3f39506eb0ad32e82f38fb0388b22feda29 +size 42336 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_7_en.png index 7b67afcccb..f77ae789f4 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cfcee02543f55d395112fd662d785ef553260a4457b5ab753b6198c0c13a2068 -size 46345 +oid sha256:6566ae413d6b08695a5c79acce05cbcb927bb467fbd5ff6bf21c99fd8b44b009 +size 46357 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_8_en.png index 61b685445c..24e8a57812 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:50023e5cd9260b3db79fa1ab15489e165dc7df9663584317d0fe2243f1622ea2 -size 45288 +oid sha256:f7044a64e7a8d736ad671d793856fd1c309bdfdf657bb617514defc8f97d7c48 +size 45298 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_9_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_9_en.png index b9ef9dfb9a..eb29078722 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:487ecdc6e7bbb2389e8f21a99b348939f371c6fa8fc090fcff46f5a51e2390cb -size 45230 +oid sha256:8dc581686de37dfe58f05501181eec0f209b18f8dc65576dcea8ebc3860766c4 +size 45242 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_0_en.png index 025e87bcc1..63c74ad127 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:38f6a49907dfbafdeb18184ea70315882f26729353975748be33246dd06de810 -size 41776 +oid sha256:a8d0c03ba01a775791bfabe6c29eb52282e80c9b63a05f5ee3abcd7050f1adca +size 41792 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_10_en.png index c445743cf2..d795bb966b 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13189861bd0b613aabe126a7064277695f9e0a31ce6e7d0104c1b786900d855c -size 45869 +oid sha256:53e1af829752e02d28f8c1d2490dd748b6b1a8876667b88d5e1186d5b5a6cb1c +size 45887 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_11_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_11_en.png index d11d9a6363..95499ea43e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6231ddd26d71291a3acfe347ccaa5b5213809969d3a21667f5c872da145bbe6 -size 44844 +oid sha256:a7d2685aa1545d71db50d817eaace4badb4d5365f2313df34e323646d716fe3c +size 44864 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_12_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_12_en.png index 76b488e522..45a1801bbd 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f4841522e54ab49cf7f2ac4e06223addf050c4a0f9c7a3e351d73fbd0fbb62b9 -size 47959 +oid sha256:491fb076a1d629acaa88a81bbae10324d1af8fc79efdf0862b00444d3bf0f1bd +size 47975 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_1_en.png index 61e99bf7c0..7672dc15ae 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17a68abaa010d037c00b3ae24ab470c9cf2e7b42d1c45391819b5e46e3b3c2c7 -size 38265 +oid sha256:832e31b9e3d13b40406542cb8d2887335b77632a41eaa71b0d065544687a548e +size 38280 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_2_en.png index 624a512f20..9fa20307f5 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3d67989cc90311a6810882f1cc9f63d4849c9768892403c6366f260b6f01782a -size 39097 +oid sha256:e6ec0b56d2885b0f37803ffe82770d5b7e40ffb6d4785b1f0bb7c6c459562318 +size 39115 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_3_en.png index 68d3eceab3..3bd1f837f6 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:777cecce6d855418ade591c3f02d97dbc82bc81f3317bc64cc76ae8f0e94a792 -size 39004 +oid sha256:68c73fdb4c03caa7e6b7b52cfb9d5a10be1b2315c3ccbd312b680d4896d912ef +size 39020 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_4_en.png index 74d9ecb427..b94b9e696b 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2fb04b9ecf34bd1f9218b137ad213a385abd03b0a4767f7c88ef04ee496f8e4c -size 45084 +oid sha256:a71481c9dfc5ee42fb65c4dc6480860208691cba1514062725ce33435f6ee812 +size 45099 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_5_en.png index de70559d50..6d2f6c8f21 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:31eba128b859c1a5b4da1f62de323d29f62a36dd962877fbf3fdea0a51b81fde -size 42948 +oid sha256:c627d14c06f05b3f2aad06f43a7c4bf2880956e27391ab958c52fe0bb1228260 +size 42963 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_6_en.png index de70559d50..6d2f6c8f21 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:31eba128b859c1a5b4da1f62de323d29f62a36dd962877fbf3fdea0a51b81fde -size 42948 +oid sha256:c627d14c06f05b3f2aad06f43a7c4bf2880956e27391ab958c52fe0bb1228260 +size 42963 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_7_en.png index 3accfb7391..73322deacc 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:47260328f01cc55a7825ab8bebe540aac41efcee77cc52a0d82deb3fb1e496b3 -size 47321 +oid sha256:0a60de938c3e3fab2ebc02035ab58819611ee5cc6794e4e90f2a14ff949af79b +size 47337 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_8_en.png index 24d346dcdf..6b6575c810 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9cb0fb71d0e3433bd9512d435f47c3f116627202d1f81debd5f3c43eece64a5d -size 46223 +oid sha256:c4ee6162423ce2cba74de4289a23289712ee6cead68284b874457b287e6fb4cb +size 46236 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_9_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_9_en.png index bd5aaf721e..a7c4752d8f 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6939bdfecb6177a7c180bf94d18d80aea0ebceb16f06c87d0cc598068bc73765 -size 46114 +oid sha256:475ab11e30195520a13785ff188a3775705ca217556b6020b5b3b612e3cb81b3 +size 46130 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en.png index eb74d5ec1c..aa5649e011 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:101e3424f26126c87820c02474a3864a9c784a7526a8bf4bd082b32f65c368d3 -size 29642 +oid sha256:f185d10f69af1d3609ed1c00f0b97f8e2c40bb591011c4cee4f3fb6dd2a8ea06 +size 29679 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en.png index c3252f663d..6e57b51c1c 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb259056eb0c9060096f4862f313e5eba477adaf8fc5f6b49defd1572440ee32 -size 29668 +oid sha256:7a5d43c1c98658b797cc733382ff30878317b9dce54887438ca467263ae3c626 +size 29702 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png index e33bcf0f4e..afa027ab83 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c49e3836af182bd727f6f77acddc8fd7a883a27eb22f83b51b3716e973084a39 -size 38024 +oid sha256:557834904e76a77f442cbe9ddb653ccea1010767e12a4710dd3396c94655ac54 +size 37970 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png index bbc93a0fbd..6d6de79d13 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3807567c03595039dd93d5b48ce60d09e9ed75be902f97761ed3d00feea7033d -size 46745 +oid sha256:9c6d820925d584c25097363835629d43c8cdd4d29c9e18ca2f9b55fa354223ff +size 46766 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en.png index 9d609187bb..a79f536fc5 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e40dfb3c7bb608242f4c92aaaa1275d12240114235ce87784cb8df0f7d632bc9 -size 37722 +oid sha256:408f5df5dee91ca24552a058ddd9952dc8ed7af314150fea3d770e4f2af8a462 +size 37653 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en.png index 2a039f8190..e25a42834b 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:569efb1cd61ac27a20d1d715c0fbf6162dd58897fa2cbc47bc38a410ef939a00 -size 46393 +oid sha256:bc106a9130376cfb934e24b6707cd5049bc28b511abf117c1169025e73e9f11b +size 46415 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_0_en.png index 51fdfb5dc4..18a0e79f7d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fc28e73fbbbc6494f6ec4a9e5e0f1b91bbcb6142600207fad939e7779d0e4aee -size 79853 +oid sha256:58710f2adc11c4e33802203837ded078082f0e87e6f51a92e963b17324119b16 +size 79807 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_10_en.png index 804a3351dd..8a7b5b5edc 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5870fc3df4bb7330972727601016189e75c358f535f31fe6704837eb866866df -size 100363 +oid sha256:193cbac59848fdae0726656c3d4d63bde359a528dec9d887e7da66c0c9e987e2 +size 100331 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_1_en.png index 51fdfb5dc4..18a0e79f7d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fc28e73fbbbc6494f6ec4a9e5e0f1b91bbcb6142600207fad939e7779d0e4aee -size 79853 +oid sha256:58710f2adc11c4e33802203837ded078082f0e87e6f51a92e963b17324119b16 +size 79807 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_2_en.png index 42238490c0..f3b9f7d504 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:889f18979026def22b8087715ad414f920f68e8b00d448e4cf1819165c562fd1 -size 80299 +oid sha256:102c95f269bd77c456f98789e179420ff40f4b2a6dd1bff07636b484f226858b +size 80257 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_3_en.png index ac6cb1833d..10fd2f0834 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1745dfe97efbb62bc1bcc0a6e019e48e07dbc474396d9d58e11784522e519049 -size 22733 +oid sha256:b23ff19143b557e9354f3db67075c4a0ae0c6d64615370f8e5806781198f32ac +size 22758 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_4_en.png index 56cea808ac..2a64d23a43 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:50a54a812331ec421e5b111a2aac07e0a75474d750bcd65f78d05c5485b028b1 -size 22474 +oid sha256:0ecbc38036322bf05470b063ec9908678916ec08f4bb5e2dd4b9005e071f81f6 +size 22501 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_5_en.png index 3faa564978..993efdd614 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69e7b908f96969480ea4502f54f63f3066f1ef3c67171404f2aec294c25d7e3b -size 20358 +oid sha256:4ad02bf74fd79e49bb9e3759e0853b410f2d62446f2b060c32ed187be97fb77c +size 20377 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_6_en.png index ecefcba619..dc7dcc81e6 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a79459609b9b47b4ad09561d164769d47a0fbdb1c4ed0b61c391ab24be806434 -size 99205 +oid sha256:591756991e9c947cc8b274318ed93fbc1908c2ec76a1ea2cb205de9ca9f62916 +size 99168 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_7_en.png index 257d5d6eef..3f10d34871 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f9d7b0fb0c195ef35961e6ec14f2ced0df495ed4ef115591f7fb8adeaa7edcb0 -size 47769 +oid sha256:f26069b6fe63c85e2c94cec0deb70e5ee5efb77572b0091adc401e60b712a599 +size 47735 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_8_en.png index c8f50d324c..0d0964b948 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d5ad209f47ef2b76f1c7b696357f78bd183c085cc5121c459890a79f704d408 -size 42441 +oid sha256:090299c16d0ee79f84f1cbdf8a069404f0e2cb69aa3a65735f06935b0bd8e009 +size 42406 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_0_en.png index 3f2d549859..7f0aa30754 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9efcb7e9b9f1be7f8798b55a735880fb69c23b917f13422e7677027be2cf91b2 -size 84321 +oid sha256:0d6c33554c71b680884d17089e4fd4ce1964d50ad3eb8e7aaf19a6e965826ad3 +size 84326 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_10_en.png index 2b92b26cc0..df7392331c 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d236927f6c4cc81f1e9c9b6d405e27e8e96ceb89f9047493b9ab590165d484b2 -size 104246 +oid sha256:8ec04410c7aad000eff2236f4cb78aaf9eb2a99d395a25e57b59573dd00dc6a8 +size 104268 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_1_en.png index 3f2d549859..7f0aa30754 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9efcb7e9b9f1be7f8798b55a735880fb69c23b917f13422e7677027be2cf91b2 -size 84321 +oid sha256:0d6c33554c71b680884d17089e4fd4ce1964d50ad3eb8e7aaf19a6e965826ad3 +size 84326 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_2_en.png index 10efa0eaa1..c1608b26d1 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e3b38c252f1929b37e9fa982fce1855c55bc0cb81ce3ee07f7f9653bd4b8a0b2 -size 85047 +oid sha256:4bc7c3d00846fa5123e0eac8e4e7b3e33da5255f59a76c6bfaabcabdc7602eb7 +size 85037 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_3_en.png index 797634155f..5598acc574 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c5474b5be24946927efb2c6bf7a67a5ea378a63e16714ebe0a4cfbf76794bdf -size 20775 +oid sha256:36608489f8c5277a7e1dc69a56cf05ae02238bf7b88a63a928248419306971e8 +size 20781 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_4_en.png index 86b29dc98b..c0ee9fb794 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:43d72cf8272c38c6646c19e876f109d3e22f9aa91bd39af9a78bd15cc47bbf82 -size 20542 +oid sha256:b7e8fcc81c34be0bdcb358f71d52f455bd1bf4a4953cd7fd3215b9bb251df79e +size 20546 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_5_en.png index 5de6b5467b..fb49d13785 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4fc6ca5ca4298f69e1a036c164a9a832ebf9595f6ec92d81243d90ddb1cbc1a6 -size 18591 +oid sha256:7b35daca89a21f626d6ec96efdbbdc9f753a7c82beb16d031af88dda2bf9d729 +size 18597 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_6_en.png index fde53171a1..14feecf4a5 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a37991fcbeb0394f4b2339ee303f22109dc1da05b0e253054c6270591dff8065 -size 103058 +oid sha256:0f9055540dbf408bb9e7135cd87479156baf84e5a4cccfc6ddd603ff802a9b55 +size 103083 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_7_en.png index 50d0da8f73..6dec2c4008 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f18413d1a0476bfe8e985020cc5682bc9d6fbec523525c9edf5faeef49dfd9c -size 51634 +oid sha256:4ed18a04c5c464ade2a1908b75751c3fe73808df81d99545be8ace7a830f7ba2 +size 51637 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_8_en.png index 800b40e0e8..07bd432402 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed2c17b100e28b5f7f776abe454abb041894bd8e3b4fdd23042cadd3db97f252 -size 45738 +oid sha256:25e0fbcd976bfc12eca470d90164498c69e15661f2b9c78a11cc55a13990da82 +size 45745 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en.png index 87c6dc300e..af6cdcbb37 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:808253cc2a2595b5efd8a01b280883073d48ee671710bf4086db0edb2beeaaae -size 56097 +oid sha256:78029526d34e608113c8dd71df921023fe5db5eba2ef6e464ec032cb84ee8472 +size 56141 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en.png index c73e961311..13ccf99c50 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:49d3a6aefb82e9b2b4e44bf166d84281eedb57bae99f884fd6d140b9566d7a42 -size 54824 +oid sha256:815201e519d1a6ebacefaff2d90943f0694f449497af6cffdacad3147471c3fd +size 54867 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en.png index cf17a0e710..498b6b79d9 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13ed97e695e782385e72b522273381aaf1f0fdeb90a0d68da783da180017cbc2 -size 13406 +oid sha256:4d31d7aa82a13f770d8309915514491797c4dc54d1c1c2d16a72aaffeb31836a +size 13451 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en.png index 36fa3d6ad6..5164378689 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1516ea19c946f34fd2dcf2ebdb5405eb1d742f85d3f48ff25e825d820a91d46f -size 12898 +oid sha256:f022c0491eb219741eeb25f69571cbfc7e34b22d898b9a57d62cf1e7c5bfd0e8 +size 12945 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en.png index e94c872c31..e77feafcdd 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:807dd7c14346bf70b385490932838d642f13b54e9cd5847472305bbfda47fcbf -size 42818 +oid sha256:86730b79f51a0851fed965bbd51227fc6580c3e5f348c553cff02c68a459f9f0 +size 42736 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en.png index 1e78468e59..3c1aef39db 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:af143e11a78611951982e2f1fcc29b1ebf70e5eda8c55b3e12060e9364e89d0f -size 41211 +oid sha256:6c5a57c1ed350098f26a241b89fe09cddc38b781060e5decefeea0ab04881e33 +size 41139 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en.png index f996854125..5db21550bd 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ac738ed1679e698602b4937d8bd41ac0f84830d71a826b9525f82b33d93c12c -size 41549 +oid sha256:db196b0d5762a636508553f4a390f46d39e8df0e53c5c5804caeaa7144e651c9 +size 41484 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en.png index 771bdd8f3d..d1dd925b45 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be41bd7864680688143872e5c57276c01a0180d41bdf418f89404a582f973bec -size 40578 +oid sha256:05302981d925b394d78802e110ea8cc652b464d7813b0e86789b3a82ad973e33 +size 40517 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en.png index 804f2f5bf1..d47284dd71 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b5f2274b28363382e02c53a2608f088f6865844a257956684b46db8a6557a13f -size 27028 +oid sha256:6e9f44e49cceb8bd4bb0ca73ca3030afbb91279a9f5776d6c63955c88833691f +size 27121 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en.png index 804f2f5bf1..d47284dd71 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b5f2274b28363382e02c53a2608f088f6865844a257956684b46db8a6557a13f -size 27028 +oid sha256:6e9f44e49cceb8bd4bb0ca73ca3030afbb91279a9f5776d6c63955c88833691f +size 27121 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en.png index fc8701f05a..7c719848e1 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f10c00684b08ffa30dd9d9354cf3bb45d533f553c08b80b2e910a1f2137ddf2 -size 25182 +oid sha256:cf6fbb12605acbd41764697d58626711853fd2ccb63a145001a24c89ceb5ff66 +size 25289 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en.png index fc8701f05a..7c719848e1 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f10c00684b08ffa30dd9d9354cf3bb45d533f553c08b80b2e910a1f2137ddf2 -size 25182 +oid sha256:cf6fbb12605acbd41764697d58626711853fd2ccb63a145001a24c89ceb5ff66 +size 25289 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_0_en.png index 394d0e64ca..6f4a4cae9d 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96680a9a8e479164183386b6a5d6d17bbf96ef5d3555f199280c1d2fd6d88414 -size 39132 +oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0 +size 39222 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_5_en.png index 394d0e64ca..6f4a4cae9d 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96680a9a8e479164183386b6a5d6d17bbf96ef5d3555f199280c1d2fd6d88414 -size 39132 +oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0 +size 39222 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_6_en.png index 495f8c94f3..091dd72f00 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d2d6fb902458fc21b38fd9329bf486cf64cc6122f2102763785c4cf69338c4ff -size 24753 +oid sha256:3728049139125f924a03e60cdc7afd40b8a4a780dc75141132deff2494319ae1 +size 24834 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_7_en.png index 394d0e64ca..6f4a4cae9d 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96680a9a8e479164183386b6a5d6d17bbf96ef5d3555f199280c1d2fd6d88414 -size 39132 +oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0 +size 39222 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_8_en.png index 5ed8548d59..8bd3beef77 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b359c63e7689a1259b316a2e7c839f69e93161deb71f4a8070d7b9b7916b194 -size 29337 +oid sha256:487d6f57e9a2692c92b7398738861f4f2ec34e47093e1f0bcf922036078f4814 +size 29427 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_0_en.png index dc06b8cf56..2ce915dfa6 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5bd8ff5e42ed3211fa07afc11e2cd7c5714e489a36c0e55c20ea8c91cac147c5 -size 38335 +oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12 +size 38423 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_5_en.png index dc06b8cf56..2ce915dfa6 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5bd8ff5e42ed3211fa07afc11e2cd7c5714e489a36c0e55c20ea8c91cac147c5 -size 38335 +oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12 +size 38423 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_6_en.png index 6ee28ef2a5..707c20fede 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eed760521251c5bff2923cee36940a3cd049290b9e427d11fea440ec381a6a59 -size 24299 +oid sha256:912d13b5103bafc4c8698e905f141aed8232d6a8b671031634276e74a8a413ad +size 24378 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_7_en.png index dc06b8cf56..2ce915dfa6 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5bd8ff5e42ed3211fa07afc11e2cd7c5714e489a36c0e55c20ea8c91cac147c5 -size 38335 +oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12 +size 38423 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_8_en.png index 809dd25eec..1407f85061 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:abbbd14efea0353470c098a8415668145ab8c04dcab96403a6baa6a58570076c -size 28577 +oid sha256:f13b6aeb9c6a72a04102334a818c215d687bfa75b73e23e0a7cffd1b8a117ed2 +size 28672 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en.png index 317bb08e0b..81cd9ef6bd 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:85f2bf8742006a2d71432f8e35500df5efc58d023f20383f26f554aed074d286 -size 25876 +oid sha256:a863693929a6250605f5e5e42a2f8d71754d42f34c8bf9ed2ae0ae58adbd2f4b +size 25822 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en.png index 74a9c7f4bc..ed0a8b9082 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cc4b02bc5704162839c3ec4dedb982cf7c1220bcbeeeb3274fcfd83780ff5347 -size 24008 +oid sha256:6ac5a1746221af73564def12131e625cdcdc91995d404018a79a67453eca7586 +size 23954 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en.png index 317bb08e0b..81cd9ef6bd 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:85f2bf8742006a2d71432f8e35500df5efc58d023f20383f26f554aed074d286 -size 25876 +oid sha256:a863693929a6250605f5e5e42a2f8d71754d42f34c8bf9ed2ae0ae58adbd2f4b +size 25822 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en.png index 66c7af47c1..575270d44d 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2c114cb5fe259c55edd038eb6ebe730e8c7cf3c415a4f02192b1610ec0f09132 -size 20800 +oid sha256:a323eab11b6a82cdf97a7e9848f5eff1c65a1e14582a9af703753cc2a3950d46 +size 20738 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en.png index 2a7b8cff61..016f0a8464 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c88f0a9062e188ee2a3c6db83326eb0e6b8130ed7b42a36df1e969272e2aded4 -size 18256 +oid sha256:07a4c3040ecadf18b46da21edbc9f83a638d552f7fd5f5b033723cba42ce0fd3 +size 18278 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en.png index 2a7b8cff61..016f0a8464 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c88f0a9062e188ee2a3c6db83326eb0e6b8130ed7b42a36df1e969272e2aded4 -size 18256 +oid sha256:07a4c3040ecadf18b46da21edbc9f83a638d552f7fd5f5b033723cba42ce0fd3 +size 18278 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en.png index 8e1e73a33d..6f51ce1216 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c1ba64fc90f6ee86a5a560a93d09d4fdd4970fe4c489eed733916cea66569f3 -size 25454 +oid sha256:49405aa331a1a70a78c93fba40b1dd3a4dac6ed27aefb27f5a223a9fa81a0ee2 +size 25419 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en.png index 151658d57e..71af2f7722 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6458795952b40cea0e4f9bbbaf615783700cb6cff2acf09c8c660d25e06326de -size 24076 +oid sha256:f27c044ef1b5c169a0c588f37885bc91f25d69484156e0dc1d70ae72b0f8ca3d +size 23997 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en.png index 8e1e73a33d..6f51ce1216 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c1ba64fc90f6ee86a5a560a93d09d4fdd4970fe4c489eed733916cea66569f3 -size 25454 +oid sha256:49405aa331a1a70a78c93fba40b1dd3a4dac6ed27aefb27f5a223a9fa81a0ee2 +size 25419 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en.png index fb13387326..e1adcc704e 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:50e9ea5f2a25d304af22a92ee480b69d5486a339f8243dbf51a73b5464598bcd -size 20331 +oid sha256:b3fd84eb20d7e427d0dbf051068400c43ede9f4a90953f2e243e62c73512faac +size 20291 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en.png index 9e1fe6b2fb..7cee546578 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff41a20b15f6e195f69dd7aa4a25967a789913f5f864486b05ea854aebb15256 -size 17849 +oid sha256:3d44734c04f2ad05aedbee0f2fd56c4dbc7c0ac6e6eefbd73a173e15d06f78a7 +size 17872 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en.png index 9e1fe6b2fb..7cee546578 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff41a20b15f6e195f69dd7aa4a25967a789913f5f864486b05ea854aebb15256 -size 17849 +oid sha256:3d44734c04f2ad05aedbee0f2fd56c4dbc7c0ac6e6eefbd73a173e15d06f78a7 +size 17872 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en.png index 9c56036b78..6630be008b 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:309983c7acd40d04bc2080586b19d0967e68a40f4b88fda60e7ac3aa0729cce6 -size 44815 +oid sha256:7c9d5e94d601b2777b64be46e70c1a324d77b6da9dfc0ddcaa77af788db9e40d +size 44840 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en.png index 23ca7bd6f1..5a1b3fb23b 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e6290a43102cb749e898089d8f64d89bc0caddc926693ff6c81d4a530bbec5d -size 43592 +oid sha256:0a93a6c04cfb06826a94c40982c2469e08db23742b1593685bc63ef89902abd5 +size 43615 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en.png index e543df5f75..accf3aacc5 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b73084d797c5b8cbf14b9517c02b59237480208288d626200e60a41c455b029 -size 46339 +oid sha256:8f69892c07c1a4a796bf761cfad0fde822d577329a67fe8d404196c1dacea650 +size 46365 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en.png index 9a744a6d7e..1de6912870 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f035364b462b356bf043591eada7efa854ed56ed919f2b2f7d1b75cc3a587018 -size 45038 +oid sha256:0e8bbfe29385f4af141aaca22d515c084c93999fe70af9d52af1ca235aed3f1e +size 45060 diff --git a/tests/uitests/src/test/snapshots/images/features.share.impl_ShareView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.share.impl_ShareView_Day_1_en.png index 89c8787a83..05c815558f 100644 --- a/tests/uitests/src/test/snapshots/images/features.share.impl_ShareView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.share.impl_ShareView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a145061b3ac70800e68f4f7d5cb3377406c8da120e77a3c14bd0de581d32493c -size 7285 +oid sha256:38ab4535d5024113c81d2a097e4485269b3721793f54a8fee09c959162953558 +size 7370 diff --git a/tests/uitests/src/test/snapshots/images/features.share.impl_ShareView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.share.impl_ShareView_Night_1_en.png index 35de3d6199..2c9fd31a74 100644 --- a/tests/uitests/src/test/snapshots/images/features.share.impl_ShareView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.share.impl_ShareView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09afce6e3c5975c3dc4cb14f17493a8385c3b616d5b6e9b7c66786156624d3d9 -size 6205 +oid sha256:721e92cf6284e035f48a7d6914065c332ab0ac422bd69e35767f95c8c7c14de5 +size 6297 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_5_en.png index 6193547f41..a172453bac 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b356948c8b3ad279d7e6c43dda56dcd6697c22843657be016b61a88a5693c71 -size 22167 +oid sha256:9e4ef783b8b23b84831f02d705cf60f33eac3aca9aa584ea94027752187df3aa +size 22197 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_6_en.png index 99a35650b9..b3681fc6eb 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6112f3060064ffbb1ee3099779ba1046d2665292c0ad2d9dfc2a615c4eb15066 -size 20497 +oid sha256:5d2ab2909eb51a03645fe66b60fe01712c7182fd3489f788b26219a3ab8f7348 +size 20592 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_5_en.png index d2c86ce5de..6c13ee27ef 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b438fece9def5f6af510b65be50e209671f4d16a05c4e97c5397f73b25ab30f -size 22018 +oid sha256:84f5c015a150adba4bc53ef4a4a90efe2373ce67183e467f2211191af0517020 +size 22037 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_6_en.png index 0a7eca2747..732768abb6 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9bee8776293351621a63f10593eb5d718a3f60b577aaf5c1496c46219a61109 -size 19223 +oid sha256:a9971bda3a6f6c51c0dccaef7d19ded03ca7097479459beec7c436b4e13e6027 +size 19320 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.emoji_SasEmojis_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.emoji_SasEmojis_Day_0_en.png index 5dbc25cf0a..61440c3cc1 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.emoji_SasEmojis_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.emoji_SasEmojis_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0357e4ef9d3d7bc36cad29b3481d66e9f4a6cd002b22dd1a1b6917df4ea98d4 -size 138147 +oid sha256:7f5cc3ef36b09d29823ae77de92564eee215c6134fb5a13e052de059d9f13c9c +size 138342 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.emoji_SasEmojis_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.emoji_SasEmojis_Night_0_en.png index d9f84c2643..632050bebc 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.emoji_SasEmojis_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.emoji_SasEmojis_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dc8eaa8173714d9c568f80bdf5be9a6761691eb30ee494f70eac40473bdfe384 -size 140133 +oid sha256:bade017c2f93f8b17752d4e89845378e61cfe73118f340f0b79d4c608ad3bdc1 +size 140272 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_10_en.png index 0f5d4e1362..6a0184de59 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f7797415de4a52095a47dc7beb5b51c7528a90e9c8daf5e4d3eff030b22f3f7 -size 32596 +oid sha256:d70ce1538de02146f76c773d65d110b7f5b252e45dec84ff0de61f96059e2b67 +size 32683 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_11_en.png index 87845f860c..1b3302c89c 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5af3e9514bfa603491a2ba225260c8eceaa2156c255da83c547c59d50388953b -size 5149 +oid sha256:615107c5e6d654779b1a8fb0ac3e5511f03ac0eac2a5c3ae0424972b92401ca2 +size 5244 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_12_en.png index 87845f860c..1b3302c89c 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5af3e9514bfa603491a2ba225260c8eceaa2156c255da83c547c59d50388953b -size 5149 +oid sha256:615107c5e6d654779b1a8fb0ac3e5511f03ac0eac2a5c3ae0424972b92401ca2 +size 5244 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_1_en.png index 7a5e248136..0ea2f9a63b 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4643c1011d807a1cb728b8cebab2c8c16276b680ccdd795a64fe449d1da80c7c -size 22982 +oid sha256:9b91a9514f31deb0d42c19c2b70836668c9fe9cb067412e5d6d751baab32611d +size 23007 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_3_en.png index fbb0d0836f..8246a59073 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b7a4f7f31845828b1ea6cb1cba40a39e593a002d3ed41fed48e01fc062e0f04b -size 48189 +oid sha256:9e3e0d4d26d06b131bb378472b4d8a41054376bb9ca386d9f3eec0591db85d92 +size 48206 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_10_en.png index a06ee6d018..4cf1c19ea2 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a66446c1dc2ff1e32fd06ee722aaaed578369e6de0a0024d435104bcadc47d49 -size 31012 +oid sha256:2a1952ca6d6606d5968c61ff2987f6ceb6b74881949a65dc494a6de30eda6437 +size 31107 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_11_en.png index 209ecadfe9..cba2bf39b2 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fef553ca190fc051f6b03946b4de2f3066600da2b2b8e8443a9c83cd7fbf45a4 -size 5153 +oid sha256:a360e21538876df4d8aa1b4a3e95e4982df6307a69df4d887416cbbd76b8cd99 +size 5250 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_12_en.png index 209ecadfe9..cba2bf39b2 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fef553ca190fc051f6b03946b4de2f3066600da2b2b8e8443a9c83cd7fbf45a4 -size 5153 +oid sha256:a360e21538876df4d8aa1b4a3e95e4982df6307a69df4d887416cbbd76b8cd99 +size 5250 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_1_en.png index 436b9e460b..d8573d045d 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:76d12c58b8b1c60295a137136af5a6eed8d665600fb4f3e6feeaff714aa207ac -size 22396 +oid sha256:f5885d72521713f5b2973abaa7e0cf2e0e553b636e6a99d432b42f011d162d9b +size 22425 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_3_en.png index 9ae915f757..2d2361089d 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c542cf264a5489da9ab5bc9aa3bf881ccca090a688b16ca728ff9bf955f01e5 -size 47252 +oid sha256:8f34e38b3eaa67e37ac5a7eaede42539c8c270907449a373484b3cfa0d43ac6d +size 47278 diff --git a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Day_0_en.png index e00fcc468e..8d1adda551 100644 --- a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07d2f2056260fd8be1f10f8d8b7701f9d06041dc95d04d6a73c3bbc23dc6d25c -size 8598 +oid sha256:0c4ac3560405d81ef71d6f7760a20a97c1ec72b94368bd9483140214286c8abf +size 8690 diff --git a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Day_1_en.png index e00fcc468e..8d1adda551 100644 --- a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07d2f2056260fd8be1f10f8d8b7701f9d06041dc95d04d6a73c3bbc23dc6d25c -size 8598 +oid sha256:0c4ac3560405d81ef71d6f7760a20a97c1ec72b94368bd9483140214286c8abf +size 8690 diff --git a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Night_0_en.png index ea41111428..ce61707708 100644 --- a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bcbb335a47233d9fc302c32dcf931d11b8e09c18aac4fbf30bd1461e1e7008b9 -size 8361 +oid sha256:bd93e06fa2bf8830f949c4ec8ba0e9f8517631c296458b1844e3e63316ceca34 +size 8450 diff --git a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Night_1_en.png index ea41111428..ce61707708 100644 --- a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.file_ViewFileView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bcbb335a47233d9fc302c32dcf931d11b8e09c18aac4fbf30bd1461e1e7008b9 -size 8361 +oid sha256:bd93e06fa2bf8830f949c4ec8ba0e9f8517631c296458b1844e3e63316ceca34 +size 8450 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLargeNoBlurShadow_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLargeNoBlurShadow_Day_0_en.png index 71920b1a3f..5c013af5af 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLargeNoBlurShadow_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLargeNoBlurShadow_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a1ac980449281e6c440261194599943eb043bb985d4d53df537ffad7e3a660eb -size 71968 +oid sha256:c1ee4058e23cff90b2998a7d754382862ef52c8a54dba886fc5c2ac221082e41 +size 66839 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLargeNoBlurShadow_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLargeNoBlurShadow_Night_0_en.png index a558abb4e8..ce0f82bb64 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLargeNoBlurShadow_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLargeNoBlurShadow_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6a3d9b514c050b1e8cfb3d7f04069067a765ae930e438897cfeb3a79c9133bf -size 47834 +oid sha256:25a3994beb58067031dec92193f87abd95510ee2ee0eef26f95fb218cdd03b42 +size 45043 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLarge_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLarge_Day_0_en.png index 7583ae6dcf..02fe526810 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLarge_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLarge_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:def731d1e6d80f817bb9c10792bb56bf08a0ff59288cae0bb6bc2906e34e1e7a -size 70282 +oid sha256:1095107fc5951560298f5ac5c9122492896bb4094e06e377562107df0e26cbd7 +size 67459 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLarge_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLarge_Night_0_en.png index 05c8c4fa41..039445fc38 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLarge_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomLarge_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:064bae336bbb2980a882689c6f669336f4504afff3268a4f7a8f6ef0d96d8c57 -size 57244 +oid sha256:f5616680d4d1983825f9cf627d33f8d41d2a4453a08fbab78e88a18a9f095816 +size 55128 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMediumNoBlurShadow_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMediumNoBlurShadow_Day_0_en.png index 70c607307b..ef4af78c12 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMediumNoBlurShadow_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMediumNoBlurShadow_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9fa3c78fa6352b9d22ed03ef02fe69ffd85c62af59b6c331bc08f5c5b1c75e31 -size 51754 +oid sha256:8207f1e573df09d6b120dd414dc39e2f79c1b402bab0a40f0988e1bb08254cc3 +size 46109 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMediumNoBlurShadow_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMediumNoBlurShadow_Night_0_en.png index a412d78484..e6cfa2d18e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMediumNoBlurShadow_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMediumNoBlurShadow_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b1f93d83f3fd99c4217392551a74aabbb9d0cf67fbdd78fb2a8c622bb583adea -size 33145 +oid sha256:72157bdf8f567debd2a527e9a7af9bdf51a621b5d53450f0579fd5c787efe022 +size 30554 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Day_0_en.png index 754e58a9e4..450248e2c3 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2d8fe75d683c06b2fc5e75c669c04f3d31b2f076d4d198cf5151f6067d25188a -size 46321 +oid sha256:7b16119db717c4eb85e4235c80b99c701c4760c02974d28d1c19fae079d1bc16 +size 42876 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Night_0_en.png index d7dce53f75..688d3275c2 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a98440b147071238ae540bade2eb48f1ee0a248491f278aaeb284563eef62ed -size 33687 +oid sha256:a4a8790793249cbd9ff7deaf36cde13e5719b50138633ab779a0ac2855f6380c +size 31693 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_SunsetPage_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_SunsetPage_Day_0_en.png index 34935e32b4..e03e1a9d9d 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_SunsetPage_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_SunsetPage_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a86ba9fc500f291e0da80a065be8b50d1bfa5a68e9d66231a61497d6f57a2e0e -size 120642 +oid sha256:81416f44579e0ef14d363e212c7c71fb51615a6f1ef6bfd2ddae8648a50eb455 +size 120688 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_SunsetPage_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_SunsetPage_Night_0_en.png index c4e4f48bac..2fee332eb5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_SunsetPage_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_SunsetPage_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6977d27fe1921f744308545dd68aaadfb6cd281ccd39d1d20c70e7fc4efd5264 -size 147362 +oid sha256:3aca1f9a1c2bed415d097a32bdedec93ce40d4ea507339fc00257dce891891a1 +size 147397 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncActionView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncActionView_Day_2_en.png index 89c8787a83..05c815558f 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncActionView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncActionView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a145061b3ac70800e68f4f7d5cb3377406c8da120e77a3c14bd0de581d32493c -size 7285 +oid sha256:38ab4535d5024113c81d2a097e4485269b3721793f54a8fee09c959162953558 +size 7370 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncActionView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncActionView_Night_2_en.png index 35de3d6199..2c9fd31a74 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncActionView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncActionView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09afce6e3c5975c3dc4cb14f17493a8385c3b616d5b6e9b7c66786156624d3d9 -size 6205 +oid sha256:721e92cf6284e035f48a7d6914065c332ab0ac422bd69e35767f95c8c7c14de5 +size 6297 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorFailure_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorFailure_Day_0_en.png index 2efaead7fd..0f892372f3 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorFailure_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorFailure_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c198550294e9e70f48a73081cb49e7d4cedacf46416ff5241aece38456a2001b -size 7567 +oid sha256:bad0a18d7f8ec666303ad73bb5bfb9f0a57b5c5811bfe96899510c5138ce0c75 +size 7583 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorFailure_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorFailure_Night_0_en.png index b631f8c18f..575875bc19 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorFailure_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorFailure_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:855f301f12299f1e2b788fa140562f90afbc3e7950752b2a145664122cabf290 -size 6377 +oid sha256:5ffbf1dd50c1e9dbf2a1e164d5b669d4adfca7ea443049eec6692b5394ca002a +size 6349 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorLoading_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorLoading_Day_0_en.png index 89a9a8f20b..b4e3d5ad80 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorLoading_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorLoading_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de8a2a88c70d9d983682c2326908fa2ad53e1d3996f9eba8a7cf50651782969c -size 8075 +oid sha256:2c17faa23172593de79f46d7887eef968d26686ae531bb2069ecd37a8280ae13 +size 8066 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorLoading_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorLoading_Night_0_en.png index 99ac651f8f..4f5875a6e6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorLoading_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncIndicatorLoading_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14cecccc04467bf192f3fba2598d3e6211147c2042a53f1f0b2771259ea1ce5f -size 6849 +oid sha256:bbb8c8f4f1e12d62eaa0a08ca7bc4be62f9711888a05f3c40fa1e50501d0afaf +size 6851 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncLoading_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncLoading_Day_0_en.png index 30a0b35ab3..ef51e1fb5a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncLoading_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncLoading_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b34b96d0bfc3b1878c49a300609305f2bd292f3e3312cc87c40574a357d9aeb1 -size 5182 +oid sha256:5268e9e527b7f35550cec67a353fd27ff8e22f64c90eddc1cf6207ea8802cc29 +size 5278 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncLoading_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncLoading_Night_0_en.png index 64ea25b495..0bfa3a3895 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncLoading_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.async_AsyncLoading_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3a51d7b2593f8dde693e3e6b2a619045d50123be79ef6fa538d74368fbcb3809 -size 5197 +oid sha256:5e9497bc7aa8c39dd8e9d39648a41a29b00a2aa38c7ba9d78cf4fc0917b6c6f4 +size 5284 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_11_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_11_en.png index 4e2e4c0254..372ea84af7 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_11_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f0ce8e6b948f953ebfb183939e606f3faa0d73ad35c2707b9821f8229bce37e2 -size 19071 +oid sha256:43363ca5bcd72a899ddd90899c2061d7aaf1aed3408a14faf1a242af04f8feda +size 19080 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_50_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_50_en.png index 3bef3f861b..4a3262b6ac 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_50_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_50_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f27e368c8c68032dc4eac63012fad459785c42c4063aca99eb6be9d8abe99508 -size 19751 +oid sha256:d1570611e0a894a88644956558629113717217ce4b7a76c615264bc2fa776616 +size 19763 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_56_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_56_en.png index e941cef17e..06eb0f06a4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_56_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_56_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a5aab04563cc94c4a7636402def1be7d738dd182f733de390d1ad028e99e332 -size 22831 +oid sha256:8e196a6ccf55855e8cad09e9934e09c8564cad08b4dcbc418c4a2b8d467088c3 +size 22891 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_59_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_59_en.png index ad3bbe7088..bc0c7cda4e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_59_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_59_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c6202d80bb0a938bdfca6afef92fc71a00863d2e2c119f62fc61ede3df47cf7b -size 24925 +oid sha256:746b7181d7f9a3c25040624a2c20378b1eff1ce299840c6f4b4b9ca3f877bdfd +size 24976 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_5_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_5_en.png index 8100c9c10c..98c1700236 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_5_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:038e9a9b4ef1536e0f77d8330935a8ad6bf2c1664d8d0362fcfca29eb2b3200d -size 30081 +oid sha256:5214f4d8366a00fca152708c65a265d1a56312d929439f41db5c3920f063f7ad +size 30095 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en.png index 4c034a8dc7..9d4fb09fad 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2cc9fc595d73e500ffa696082afbd890003f6d1b53fb77e7e61873493b36d2d6 -size 28748 +oid sha256:b2e036e6ced55fb8032f363a28add114827916f7ac980fae7b111f879c7e50c4 +size 28665 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Day_0_en.png index f8909c9c6b..f4afdb656b 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:559fa4b89ad322952b81c974176417f4fa77622e8b52bc3349f20aa453a3ac23 -size 26238 +oid sha256:e488f4df71f18f5ff63abec1845fa083ad995c09854e579d8a0eaccf2723d4eb +size 26086 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Night_0_en.png index fcfb9185ba..a05e22766e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68d4a58bb3811c5db7ae21a7b548f73fcb1b3a3e8e3519a3670b3fd7e8f9b1fb -size 25325 +oid sha256:cbad116438fb8a7e69db8f0a97c0ff8b36e2d69814a11ff2cdda1aebf18f0fea +size 25363 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSlide_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSlide_Preferences_en.png index bddf9bebf4..7e76795ad0 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSlide_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSlide_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09b04d797f1af430c0e9ef218faf889b3fc3984a15268ae3d0bba2978a5d4b82 -size 23442 +oid sha256:a035426d751113cfad1cb77522ad9c7cad37caccb310b013ebe6d9bf95e23ccd +size 23779 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextDark_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextDark_Preferences_en.png index 93aec1ebbb..1ec0abb47e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextDark_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextDark_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5b007582f560d4c941bf29e216afa0b04bd3347fe3149161a0fee2a7b02f7cc5 -size 34381 +oid sha256:ce5b093e115d2d8717bc5c734677bad408e0b5d1c534d4a5c94c40f1c4e9fdcb +size 34473 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en.png index 87af764a1e..56969e17d1 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:50c1d69b167749696322111bf49c43750803d3c3245b9f98ee925a90054f3e17 -size 34874 +oid sha256:917e8aed62a4920af9e3d4b0edba2a392a9d59daa94cc421392d826612efd674 +size 34955 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en.png index e341358527..accefa8d3e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e21bd39a1418f6365d7474ac8e9e8d83172f763be2e13b3942c2509e61f643c5 -size 36818 +oid sha256:5569af6274c6efe0f4fce3402a785cb4ff9b8d904a8a6ab66739dac17a19872c +size 36961 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en.png index fd95b655ea..8260116221 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:695289c45e1dec7c3a5aabcae724590ee1453591893c936dad0b14c18208f778 -size 36949 +oid sha256:452068d789a6dc3880bb69cb83d336bed47b884c7ff6217656d39ee7e3d441a3 +size 37083 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigCheckmark_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigCheckmark_Day_0_en.png index abe90d96b7..c8d644ca8f 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigCheckmark_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigCheckmark_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:203f7ee722f1dcc9b16d0bf242d7ffb68fbbd1e850e38d09c759dd45b1baeb71 -size 8565 +oid sha256:63c257c76c3034a49214715dd1f7ee116fe0d5541e00e9dd13ba03bf0eb8f2e8 +size 8593 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigCheckmark_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigCheckmark_Night_0_en.png index 7c8925a175..eae3696587 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigCheckmark_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigCheckmark_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd5f27868d2eb8740fc84e1be39ed511fb89278adfd6232789a8abfcd7d6f40c -size 7214 +oid sha256:c2ad1563cf11a4f125c1df77d69e43faf4c096e02754709e911bdf8274124750 +size 7225 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialogContent_Dialogs_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialogContent_Dialogs_en.png index 4d974db84f..2e9da354e7 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialogContent_Dialogs_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialogContent_Dialogs_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:50cf53550db7078bffead2dfad136872f53010121fc9c4e73015b98fb5b40796 -size 19500 +oid sha256:49c94bcee342f4d82fafe10978d74c674066ab4725f8c0227fd691a21f3db412 +size 19633 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialog_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialog_Day_0_en.png index 596d65d94f..712c182105 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialog_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialog_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b263f8cbfaa099189be541e7a3508729a13ca3c52355af79806e10d5f9136fe5 -size 12150 +oid sha256:d3e314cf85be9c4440ab15b2609735efd974e70cbc9979591acc4703add2569b +size 12241 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialog_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialog_Night_0_en.png index 0014303334..fb8e3227c7 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialog_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_ProgressDialog_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:502282351875adc07ccb913a417b0e33bc68c13832089d141a9d1aae88d0c71b -size 11305 +oid sha256:1681da052bc2997d00e3fc786153e069453107b64989140644ae38eff9fa2188 +size 11389 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en.png index 010ae0d17e..b066d061a0 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa77b353074c9e32fc9bc97f9f6f1599ad6c5cf40b9bbbfc16f3e08af929dbfe -size 30410 +oid sha256:1d26d3a7f998e497105102f860e29762795fd4dcf91172cea1eae23c19bcdb05 +size 30604 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en.png index 4fac7ec5ff..88435161f2 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8a1369e2a8323d54a3027b0af70494bff134698688ea03a5d309a7def1a91f7 -size 30776 +oid sha256:59e4995458c53d5156003bfc2ded6c30f2eb545390a47c7a490f5dc617e2937a +size 31019 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en.png index c5c529137b..c3be6f2a61 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6e5301b6f858e9352a954b8265d130aac8e55968d821ffb26778ed6e381be9e7 -size 31693 +oid sha256:704d086c20ea83c331688a78e7a25f1dcd5bbf1abc765f78646d5e3226649c75 +size 33494 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en.png index 7c16c9bf05..bcc0065ddb 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9522fe586a709da452741d46721c1e87a68b0e567d8c73f7f19d00ab719348d7 -size 22309 +oid sha256:fbd38606d998b615728e94ee81d49d22c34bc9ed8c99d9451129120102d51aba +size 24411 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en.png index 3e9714e101..149d622e12 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:deecad499da10fda200964754d5f70ca96c32252fa257ce2e495132394924b02 -size 23261 +oid sha256:7fc1c9c602730ab611b130c88103f869a29eadad6c5add50c96f72b3f0ec634e +size 23912 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_BottomSheetDragHandle_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_BottomSheetDragHandle_Day_0_en.png index 8038d048a0..d8c11a119a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_BottomSheetDragHandle_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_BottomSheetDragHandle_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eb460fa5304f087d3cdeb9646f791c92edb229bb6c3e830242588f818d2f469a -size 4700 +oid sha256:853cadc3f8a5c5d6805b7a91267ad41be9ccacabc91ff8c8f79989ea854e9923 +size 4733 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_BottomSheetDragHandle_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_BottomSheetDragHandle_Night_0_en.png index db9665410c..788aede012 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_BottomSheetDragHandle_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_BottomSheetDragHandle_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0123d782ea9c40348c0dca23cd9d23db9280728290ba8fe8afdb35060f41d4e6 -size 4666 +oid sha256:a82dcb5b8f9ea5fcc722502d851d02cfb9314af17852aa64ea2f67bf912ddd85 +size 4785 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_CircularProgressIndicator_Progress Indicators_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_CircularProgressIndicator_Progress Indicators_en.png index baf32b97b4..cc14fa5f12 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_CircularProgressIndicator_Progress Indicators_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_CircularProgressIndicator_Progress Indicators_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d465b7ad79855fe20c8edb819131f5d6428d334f524e8cf725386293ade7b1a -size 10973 +oid sha256:8978edafa217ff4c40e9fe421ae97dad03e221208af486bac8362aa046560800 +size 22675 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonLargeLowPadding_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonLargeLowPadding_Buttons_en.png index 811fb4cd1a..bee1d21ab3 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonLargeLowPadding_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonLargeLowPadding_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:08838e599a49c114a9736303953b031f08f53ce690080c909bda0efddfe4bd0b -size 65374 +oid sha256:b1de75f4bd0fdd60ec721183824f449fb2e9773b9f51e04b5d734f73bdea788d +size 65539 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonLarge_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonLarge_Buttons_en.png index ff771d99be..2efa2beda4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonLarge_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonLarge_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a7ed6da8fdac40df48df3f3208058fe12ace696949e8e58978a6fab21ad969d -size 63648 +oid sha256:1a7953db808736e0701aacd8918a494e5934c464cfe9cb566ddf577949b56c62 +size 63748 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonMediumLowPadding_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonMediumLowPadding_Buttons_en.png index c5e92cc540..1d972f28c4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonMediumLowPadding_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonMediumLowPadding_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a34ae5ed6a1ad53a44336cd2042fc14243a759bed7c81f0de9e7a05fcb0ce3d2 -size 58604 +oid sha256:5ce2c688e949cfb8b53adf672f49070d6b4968e944b346e8b138efbed7496e09 +size 58753 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonMedium_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonMedium_Buttons_en.png index da72e2454f..1454130281 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonMedium_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonMedium_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:893cf828626365144a58835e7167de89df324276d107d2100eddd52ebd28354f -size 58341 +oid sha256:27478716ae0517c6220c71db0c524a747213eab592ce5f870a075ef7c48a20d8 +size 58448 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonSmall_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonSmall_Buttons_en.png index 5a2f9d229e..2ca1dc6264 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonSmall_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FilledButtonSmall_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d96762d2f8c69680360c5be9ca94577b323b332c84847afc3daf85713a370d51 -size 54823 +oid sha256:4ab3979a4883b0432d14c8f65485f6bc49b8513bc24c2471e0f97fec26229859 +size 54942 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FloatingActionButton_Floating Action Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FloatingActionButton_Floating Action Buttons_en.png index 6adb0ad3aa..2641a0c3ba 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FloatingActionButton_Floating Action Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_FloatingActionButton_Floating Action Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c4e8b0d14760c7fa9308861a7050ba715e04b36d161f63d24713c3eb2e7100c -size 9798 +oid sha256:29360502072e71b0b3673b5b76a7a5a3a1582eb0778bafe99bc6af9ef104946b +size 9822 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_LinearProgressIndicator_Progress Indicators_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_LinearProgressIndicator_Progress Indicators_en.png index 03b6d226cb..7bda781f02 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_LinearProgressIndicator_Progress Indicators_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_LinearProgressIndicator_Progress Indicators_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c3677666cf8b5a65ef961220e340e5439bfea3c0bcf8c2abc5cb07da53fc7c1 -size 3932 +oid sha256:33ac700ed52cf80b0be545593964522486eb1160123a9258471e7732ef9a47ed +size 4931 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ModalBottomSheetDark_Bottom Sheets_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ModalBottomSheetDark_Bottom Sheets_en.png index 97b99944e4..b7073fe2b5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ModalBottomSheetDark_Bottom Sheets_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ModalBottomSheetDark_Bottom Sheets_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:078db5c45a1046cab50dff0f1192e36b423a90d3bddd0d4b73c1b8aad08d1d88 -size 7398 +oid sha256:437177eaa4bdd53a403f0c742c4ccee8d90ac3aebe357b97c8308a02535d4ede +size 7416 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ModalBottomSheetLight_Bottom Sheets_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ModalBottomSheetLight_Bottom Sheets_en.png index 9e1a5f9d2f..b468064746 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ModalBottomSheetLight_Bottom Sheets_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ModalBottomSheetLight_Bottom Sheets_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0992e1b0e132bc8820f43d14ef61189dc6c5010b23e3cf7a11e39062318ca86 -size 7727 +oid sha256:3f6e971231fb2aa0eb200880b01b66ef1de1c646cbf13a6c9887c5cff49f2472 +size 7738 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonLargeLowPadding_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonLargeLowPadding_Buttons_en.png index 8e6a12e5b0..e77719d66d 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonLargeLowPadding_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonLargeLowPadding_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:198f87b7bd5cbcbfcd076950026ff1a4f0eadc50fdd98cba6ee84a1faaead788 -size 78025 +oid sha256:dfd54c03072a27336b8e19af73524cb557725a89c17c54e936442a27d9835fc3 +size 78198 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonLarge_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonLarge_Buttons_en.png index 183b1cbd7b..af729460a6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonLarge_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonLarge_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a72bb4b9a20d6974864318fe91386b88211529c3ef3dc3856d7dffbf1e48507a -size 75759 +oid sha256:02881f3ae2ed1532ef5368f5a79c657aaf4d9c896a2475b25600e7c3c0ec0c81 +size 75897 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonMediumLowPadding_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonMediumLowPadding_Buttons_en.png index 0a397ea213..0c235c0d8d 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonMediumLowPadding_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonMediumLowPadding_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52aa136b01eed48c172d219b20509e6836b06f12456033a6b86145706d4a316c -size 70300 +oid sha256:067ea4139e416ce62e7c13bea0d98ac31224a77c6103e9f2dd19a050ba814399 +size 70460 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonMedium_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonMedium_Buttons_en.png index 4c9b88406c..fb654e6858 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonMedium_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonMedium_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d972fc33ee8709d830c1ced9a193da5ab5cf83b9bb9bd0302c07ebc726060697 -size 70343 +oid sha256:da6b2472ce9269a09a668cc0a6e7c64972b90d411385414869f0eaebafa5ce90 +size 70476 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonSmall_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonSmall_Buttons_en.png index b297948e6a..64e6569aa5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonSmall_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedButtonSmall_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f169f050df4d5369cf8541c9877ff4f6f0bff11c1e24bbfef1e6c7b39ed77ce7 -size 64668 +oid sha256:ad82bcd9e8a8640fdbd3efef698a6f69aca7b11773cc5c42bcd6d03b8aeb8a55 +size 64795 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedTextFieldsDark_TextFields_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedTextFieldsDark_TextFields_en.png index 0e6ab186fa..e5ab138790 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedTextFieldsDark_TextFields_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedTextFieldsDark_TextFields_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f4acde202219e0d03bd430e0697fc2068d1026a7d9ed1235c670217e2f94bfb8 -size 37279 +oid sha256:5e3be1334f8b50ddfce1ceea0c29d4e63ff2e0a71e33d883378602595eceff3a +size 37003 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedTextFields_TextFields_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedTextFields_TextFields_en.png index 1ef7f36556..4949183d4e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedTextFields_TextFields_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_OutlinedTextFields_TextFields_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33b8f95ca410d86c87bc364dbb59b754f190ee058c1758cc8d8e450d291f2903 -size 36528 +oid sha256:5cac7aa6102e8f463adfefa90fc4946129624138156df43a3dcf066382138e99 +size 36198 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Sliders_Sliders_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Sliders_Sliders_en.png index f4a73a3684..432ee9660e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Sliders_Sliders_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Sliders_Sliders_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91293a5ededae4196f58751a59a25deb1c05eae4056f4e1007ee8d98f9f19f8a -size 10051 +oid sha256:99102e56ca747eb69e03543032915e9a6a608d6013843889ad0dcd3e1953141c +size 11451 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionAndCloseButton_Snackbar with action and close button_Snackbars_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionAndCloseButton_Snackbar with action and close button_Snackbars_en.png index 0d59e5edb1..4b066be821 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionAndCloseButton_Snackbar with action and close button_Snackbars_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionAndCloseButton_Snackbar with action and close button_Snackbars_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:56add2018c57255c7ae2cde37a9fb9b2aaade95d540ce25058bb9cda59014d1d -size 17511 +oid sha256:0c5d090a3260e036a55d505aa77efea3f87eab44dfddc0b9921f0ff1e37894b2 +size 17488 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionOnNewLineAndCloseButton_Snackbar with action and close button on new line_Snackbars_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionOnNewLineAndCloseButton_Snackbar with action and close button on new line_Snackbars_en.png index 43b7bf8065..7f564c3c1e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionOnNewLineAndCloseButton_Snackbar with action and close button on new line_Snackbars_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionOnNewLineAndCloseButton_Snackbar with action and close button on new line_Snackbars_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a32deb412a30ddf97dce8b46d714474bdc257cf6673c100e115c92d308d6d61d -size 18055 +oid sha256:9adda3be9f29bdd1cf0c861a1cec6cffe54355107a0ea1fa123c311d010c9066 +size 18004 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionOnNewLine_Snackbar with action on new line_Snackbars_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionOnNewLine_Snackbar with action on new line_Snackbars_en.png index 24d6256ea5..2cdaf526ad 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionOnNewLine_Snackbar with action on new line_Snackbars_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithActionOnNewLine_Snackbar with action on new line_Snackbars_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab5947e923ac546d5498b51ec7e2ddcaf46787ad5fa61fdacd7883a7552fea45 -size 17144 +oid sha256:ac35075fe2575c76cd4a7c5569532672a519d9dfd43ccedac175a2b551dc6ce3 +size 17093 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithAction_Snackbar with action_Snackbars_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithAction_Snackbar with action_Snackbars_en.png index b615d62be3..517cbdfb1d 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithAction_Snackbar with action_Snackbars_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_SnackbarWithAction_Snackbar with action_Snackbars_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33f8f9d907088058926fc1b9aa01f225cb564c0a6f47f83d9368a94c0dcd4775 -size 16732 +oid sha256:6303379f0d3c01d2a7221d2d96f9549fc938217809e0285a4cc610f4bc26e322 +size 16709 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Snackbar_Snackbar_Snackbars_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Snackbar_Snackbar_Snackbars_en.png index 7de7c4d83e..81f1c43237 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Snackbar_Snackbar_Snackbars_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Snackbar_Snackbar_Snackbars_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f14f1f61bfdb35d48e329e152b6591585c6e23eda37fe38594848de64bf08c31 -size 14155 +oid sha256:89fe35e3ae758e588aa20cb81c1a3ba88ab50e899e712dc5ccb2ca47945764bf +size 14128 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Switch_Toggles_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Switch_Toggles_en.png index bb9d08fb8e..1b57901b90 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Switch_Toggles_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Switch_Toggles_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b3e9d65953bbe1d4395e09b464bcc6588f8d269327a2b67f66efb90debaf1b03 -size 18011 +oid sha256:ce363f5fb27c2f4b590aa91d328c836b26cdd58b2e6ec4e965636b1db85b9712 +size 18022 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonLargeLowPadding_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonLargeLowPadding_Buttons_en.png index 0575d612aa..7105aff8bd 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonLargeLowPadding_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonLargeLowPadding_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8679b3b62448612b75073886eb9de0b92a1000d9a81bb2ed9cc25317700a12fe -size 42786 +oid sha256:fd4671f23f6415d8cc6be5e01a4a921d61ba8c7af825bc4e30f75731484cd758 +size 43005 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonLarge_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonLarge_Buttons_en.png index 12e5d91d8a..3e95f1e724 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonLarge_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonLarge_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f2342dc189f7adeb27382b2fdf728372d684376a7cbfaac7ffee94f8967042c -size 43082 +oid sha256:a87f2c4efc94da99653501eb302bff448a0dc1ee3a98c7b8c37bff0d5a356d53 +size 43224 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonMediumLowPadding_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonMediumLowPadding_Buttons_en.png index 844c2a13a2..90b03660f2 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonMediumLowPadding_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonMediumLowPadding_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82b77833724443090325023f883dc8c073f71bdcc0ff1b3f12d7c557cdab5e59 -size 40378 +oid sha256:463786d491c553598410e2de21ad7736e37d2417191b13332053a1f5f11ef547 +size 40550 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonMedium_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonMedium_Buttons_en.png index f4497426a8..6a80c35ddc 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonMedium_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonMedium_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0371632960b232e5a5eafc87564976a849bccf1317114a9a7bbfe272072b7b54 -size 40237 +oid sha256:e578bf054087f12d552c3d6e372d4a800af3dcab139cd515a32261eda7171a2a +size 40358 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonSmall_Buttons_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonSmall_Buttons_en.png index a9fc2099b2..6dbc7ec5a8 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonSmall_Buttons_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextButtonSmall_Buttons_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2521fbde6659b9a7c4243ddfc550b9a20767237faec89c3426e26bf698005e17 -size 40284 +oid sha256:3d4b04b0f908c49f235018e46e193d3f8728e5794e5b156898013cca79c3b550 +size 40440 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextFieldValueLight_TextFields_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextFieldValueLight_TextFields_en.png index b188fe1e64..0771e323c2 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextFieldValueLight_TextFields_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextFieldValueLight_TextFields_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8d59aa4c55f5ab221a6f1b71168bf1625def482a217537853aae252d1276a598 -size 35781 +oid sha256:d9f2ce239a9754049d4e52188a5c5ab82ea5e902fd48b4614cb3e1f4ec1ae1e9 +size 36560 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextFieldValueTextFieldDark_TextFields_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextFieldValueTextFieldDark_TextFields_en.png index e4deb95396..de2ba0bf20 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextFieldValueTextFieldDark_TextFields_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextFieldValueTextFieldDark_TextFields_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f050337c9a1f385aa1e881b0f3f473c750474609e26d11e6e965cb550d4adb6 -size 35906 +oid sha256:629c1cfd638806ab127afd224927532dea55db41eadc27aac5b9935258957c46 +size 36051 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en.png index 21e6213dba..33edf8e59a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:04ee2cf09b98e0bff667ff363a73efcdd2151e7d7da4488bd93578f363a3b71c -size 13556 +oid sha256:5f229349b73eb44932d3e5afd47cca8b456354b298272c0b20a67ce77fc1fe16 +size 13574 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en.png index 93789a5faf..68612c2a19 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fba01a8b8ec956ebe4060554bc8ac7a108aca5b1be9a2f98ab8531ddd6a8fdc9 -size 12372 +oid sha256:de9e050ea9073ded176f1202fcf2550251f2c42197549bccdd37a339227f0cbf +size 12377 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Day_1_en.png index ebee4e282c..9de6354dcb 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9b4b8dfa100e753a06449c76b14e4644ac19e72e626f19bd7c809e67567f3d6 -size 8612 +oid sha256:e4aa6994d79512b53deb30000d354401bbb0e5c7b716ff9ce78edc0a5ec1a700 +size 8663 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Night_1_en.png index 7c9d6e8375..49e829c8b7 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a8438a2e09df9082e2eb7198c61bdae34849ba5b92fe90663ada3349411436d -size 8863 +oid sha256:3155928c36bc44d440cfa4abc88dcd50247cac0ae8769c34a3bcfb407da77a0d +size 8906 diff --git a/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_1_en.png index bf1d38ef8e..909f84c081 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ae8183d6c131e27c190c5c5dfdf45509ad90cc04708a19382f272bf4343c2e6 -size 389643 +oid sha256:7b023a77242de9cab647e87b18edcd86a48a7843aa8fa51c84b443e3e8b41bcb +size 389669 diff --git a/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_6_en.png b/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_6_en.png index daf93add8d..4cf13a8381 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_6_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:57d0cfa34103b71f2883ab84a4f87dba6bb104d1c8326bc63a99600990bdfeef -size 14774 +oid sha256:f5a6ec7984ceab5acf44431a9bff89c29c9ac27c95804d29b800124addd6e910 +size 14800 diff --git a/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_8_en.png b/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_8_en.png index bd42958505..0fd5bad3f2 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_8_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13218a06180d86b3d0dbe3e9cdc2beda8acca08306b51ddb52a94e4aa0943a64 -size 13563 +oid sha256:fab9412e9707ba957d7ac89ff40f10a0fdf1268218b9e702893a2d536fff7313 +size 13587 diff --git a/tests/uitests/src/test/snapshots/images/libraries.oidc.impl.webview_OidcView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.oidc.impl.webview_OidcView_Day_1_en.png index ae8924e66e..3f13dad18f 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.oidc.impl.webview_OidcView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.oidc.impl.webview_OidcView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0915d4781155524bece1db737050ceb78ef76128da39b339fd67dd4a2a4dd79d -size 9229 +oid sha256:9ff42261f4d991650578ceadaa13be0b1924c1af8f71cf10832f53c7d958827d +size 9317 diff --git a/tests/uitests/src/test/snapshots/images/libraries.oidc.impl.webview_OidcView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.oidc.impl.webview_OidcView_Night_1_en.png index 98b81898ef..17ecfab090 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.oidc.impl.webview_OidcView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.oidc.impl.webview_OidcView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b7cd23334c15b9039cbf0924a82703035b4498e67489418e5244cf2df576af9c -size 8111 +oid sha256:e6158b2d0447199de84156fbfdc7bd9aa1af7ff2092b498db254ded465605b76 +size 8208 diff --git a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerVoice_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerVoice_Day_0_en.png index 42973d5b28..475ac4ddc4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerVoice_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerVoice_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dd625c9fba98c83dbca5938c6f2d55366854b237177542b24b80fe8449647a44 -size 25377 +oid sha256:f1e561869c72ee9f5a3c05a8d88fdf2db239a7933173bb4428f325cdca660cf4 +size 25459 diff --git a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerVoice_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerVoice_Night_0_en.png index 785379a93a..279e57b04a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerVoice_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerVoice_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3392742f869baaaf7fa6f5f58344afb2b72f868354ec0ede8d2ad60a2f2ab9f1 -size 24411 +oid sha256:93919babb3761ebbee289226e316c20ecbdf1f53686eade21175d6c7de22242a +size 24499 diff --git a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en.png index a08eb999c4..1e4114770a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9d30724289d7237e7be28eee855412df1f89382393030a94e1a293876602fa40 -size 19620 +oid sha256:714819439fc68525221a6968c3f751c71d52c6d8c2e30170698597cfe97dfd41 +size 19641 diff --git a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en.png index 5b486a91ad..ffbcbc631b 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a79574029a83cd7a9345250a5151b996614197e937b5b142284085c1eb86d3df -size 20036 +oid sha256:26942a8b605cecdf4d02a6586ced4741e4abcfa68a83dd79795ec2ff9fbd8f13 +size 20051 diff --git a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en.png index e0eb03b1f3..e0064fbb34 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb277b3e32a85e13575207b5def2e59cb558194befaf2b9c13728f09ba2fbe6f -size 24236 +oid sha256:35407f64be6239445cf89fb4596bfe16c55559f11772b50a4eaf5ba10e9d93f6 +size 24254 diff --git a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en.png index 3a1c07d4ba..6209a3f3e8 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1764098c6d7e4fdc9509ec77e4a7e15853416fa1de72bec299878fe223d8b845 -size 19101 +oid sha256:80f0cdf99e91f35e7691ca4134fae1226da7987c63d6f108c08475636aab5037 +size 19116 diff --git a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en.png index 610f2d4f82..51c23db4c0 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:247563aba90e9734cbf63aec5acb363c6700febcc8d1bd414a27f142e5da6e31 -size 19463 +oid sha256:9d6c785b7d8895df8e3afa9638a9077746329c13744a8908e5b8267d194f2cf3 +size 19481 diff --git a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en.png index 0ff79d2a3e..06249f4a34 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c7edf667d6f1b2b338903c84df60340c98caf4cd19abdcbf3f0837e6e7877c15 -size 23540 +oid sha256:7ff92f4fe39b40c7b9f8d4b2ac192152777afc76584fec1db28dc9b6dc1438d0 +size 23553 From bb74c82d6ca24e68d5d19886aaf11b6ec468261b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 07:31:26 +0000 Subject: [PATCH 021/151] Update dependency androidx.compose:compose-bom to v2024.09.02 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 61348a301c..7101ccb37b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -24,7 +24,7 @@ media3 = "1.4.1" camera = "1.3.4" # Compose -compose_bom = "2024.09.00" +compose_bom = "2024.09.02" composecompiler = "1.5.15" # Coroutines From 2ce8bb7682d13614f4d0414f5bdfd90d5fc837a4 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Thu, 26 Sep 2024 11:37:08 +0200 Subject: [PATCH 022/151] Fix room settings not treating unencrypted DMs as DMs (#3545) --- .../android/libraries/matrix/ui/room/MatrixRoomMembers.kt | 2 +- .../android/libraries/matrix/ui/room/MatrixRoomMembersTest.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembers.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembers.kt index 0c90c94f58..974b18d63c 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembers.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembers.kt @@ -44,7 +44,7 @@ fun MatrixRoom.getDirectRoomMember(roomMembersState: MatrixRoomMembersState): St derivedStateOf { roomMembers ?.filter { it.membership.isActive() } - ?.takeIf { it.size == 2 && isDirect && isEncrypted } + ?.takeIf { it.size == 2 && isDirect } ?.find { it.userId != sessionId } } } diff --git a/libraries/matrixui/src/test/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembersTest.kt b/libraries/matrixui/src/test/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembersTest.kt index ad46b08979..df8468f5ea 100644 --- a/libraries/matrixui/src/test/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembersTest.kt +++ b/libraries/matrixui/src/test/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembersTest.kt @@ -60,7 +60,7 @@ class MatrixRoomMembersTest { } @Test - fun `getDirectRoomMember emit null if the room is not encrypted`() = runTest { + fun `getDirectRoomMember emits other member even if the room is not encrypted`() = runTest { val matrixRoom = FakeMatrixRoom( sessionId = A_USER_ID, isEncrypted = false, @@ -71,7 +71,7 @@ class MatrixRoomMembersTest { MatrixRoomMembersState.Ready(persistentListOf(roomMember1, roomMember2)) ) }.test { - assertThat(awaitItem().value).isNull() + assertThat(awaitItem().value).isEqualTo(roomMember2) } } From 3093b25ecd49c35b996cbef6be0d8846eec86a9a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 26 Sep 2024 15:27:33 +0200 Subject: [PATCH 023/151] Rework: create extension method for cleaner code. --- .../impl/DefaultRoomLastMessageFormatter.kt | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt index c7efd8c0ad..82bb110455 100644 --- a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt +++ b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt @@ -61,7 +61,7 @@ class DefaultRoomLastMessageFormatter @Inject constructor( val isOutgoing = event.isOwn val senderDisambiguatedDisplayName = event.senderProfile.getDisambiguatedDisplayName(event.sender) return when (val content = event.content) { - is MessageContent -> processMessageContents(content, senderDisambiguatedDisplayName, isDmRoom) + is MessageContent -> content.process(senderDisambiguatedDisplayName, isDmRoom) RedactedContent -> { val message = sp.getString(CommonStrings.common_message_removed) if (!isDmRoom) { @@ -71,7 +71,8 @@ class DefaultRoomLastMessageFormatter @Inject constructor( } } is StickerContent -> { - prefixIfNeeded(sp.getString(CommonStrings.common_sticker) + " (" + content.body + ")", senderDisambiguatedDisplayName, isDmRoom) + val message = sp.getString(CommonStrings.common_sticker) + " (" + content.body + ")" + message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) } is UnableToDecryptContent -> { val message = sp.getString(CommonStrings.common_waiting_for_decryption_key) @@ -92,22 +93,22 @@ class DefaultRoomLastMessageFormatter @Inject constructor( } is PollContent -> { val message = sp.getString(CommonStrings.common_poll_summary, content.question) - prefixIfNeeded(message, senderDisambiguatedDisplayName, isDmRoom) + message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) } is FailedToParseMessageLikeContent, is FailedToParseStateContent, is UnknownContent -> { - prefixIfNeeded(sp.getString(CommonStrings.common_unsupported_event), senderDisambiguatedDisplayName, isDmRoom) + val message = sp.getString(CommonStrings.common_unsupported_event) + message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) } is LegacyCallInviteContent -> sp.getString(CommonStrings.common_call_invite) is CallNotifyContent -> sp.getString(CommonStrings.common_call_started) }?.take(MAX_SAFE_LENGTH) } - private fun processMessageContents( - messageContent: MessageContent, + private fun MessageContent.process( senderDisambiguatedDisplayName: String, isDmRoom: Boolean, ): CharSequence { - val internalMessage = when (val messageType: MessageType = messageContent.type) { + val message = when (val messageType: MessageType = type) { // Doesn't need a prefix is EmoteMessageType -> { return "* $senderDisambiguatedDisplayName ${messageType.body}" @@ -143,16 +144,15 @@ class DefaultRoomLastMessageFormatter @Inject constructor( messageType.body } } - return prefixIfNeeded(internalMessage, senderDisambiguatedDisplayName, isDmRoom) + return message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) } - private fun prefixIfNeeded( - message: String, + private fun String.prefixIfNeeded( senderDisambiguatedDisplayName: String, isDmRoom: Boolean, ): CharSequence = if (isDmRoom) { - message + this } else { - message.prefixWith(senderDisambiguatedDisplayName) + prefixWith(senderDisambiguatedDisplayName) } } From fbdff33cb5310a64f493699efc591f8e5426cc52 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 26 Sep 2024 15:31:42 +0200 Subject: [PATCH 024/151] Use prefixIfNeeded (equivalent code) --- .../impl/DefaultRoomLastMessageFormatter.kt | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt index 82bb110455..8e69e8e0e6 100644 --- a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt +++ b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt @@ -64,11 +64,7 @@ class DefaultRoomLastMessageFormatter @Inject constructor( is MessageContent -> content.process(senderDisambiguatedDisplayName, isDmRoom) RedactedContent -> { val message = sp.getString(CommonStrings.common_message_removed) - if (!isDmRoom) { - message.prefixWith(senderDisambiguatedDisplayName) - } else { - message - } + message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) } is StickerContent -> { val message = sp.getString(CommonStrings.common_sticker) + " (" + content.body + ")" @@ -76,11 +72,7 @@ class DefaultRoomLastMessageFormatter @Inject constructor( } is UnableToDecryptContent -> { val message = sp.getString(CommonStrings.common_waiting_for_decryption_key) - if (!isDmRoom) { - message.prefixWith(senderDisambiguatedDisplayName) - } else { - message - } + message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) } is RoomMembershipContent -> { roomMembershipContentFormatter.format(content, senderDisambiguatedDisplayName, isOutgoing) From 2e7c34b60efacf15a9c92d815c6d324888ed5270 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 26 Sep 2024 15:42:43 +0200 Subject: [PATCH 025/151] Prefix with `You` instead of display name #3470 --- .../impl/DefaultRoomLastMessageFormatter.kt | 24 ++++++---- .../DefaultRoomLastMessageFormatterTest.kt | 45 ++++++++++++++----- .../src/main/res/values/localazy.xml | 1 + 3 files changed, 50 insertions(+), 20 deletions(-) diff --git a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt index 8e69e8e0e6..200b93343d 100644 --- a/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt +++ b/libraries/eventformatter/impl/src/main/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatter.kt @@ -61,18 +61,18 @@ class DefaultRoomLastMessageFormatter @Inject constructor( val isOutgoing = event.isOwn val senderDisambiguatedDisplayName = event.senderProfile.getDisambiguatedDisplayName(event.sender) return when (val content = event.content) { - is MessageContent -> content.process(senderDisambiguatedDisplayName, isDmRoom) + is MessageContent -> content.process(senderDisambiguatedDisplayName, isDmRoom, isOutgoing) RedactedContent -> { val message = sp.getString(CommonStrings.common_message_removed) - message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) + message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom, isOutgoing) } is StickerContent -> { val message = sp.getString(CommonStrings.common_sticker) + " (" + content.body + ")" - message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) + message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom, isOutgoing) } is UnableToDecryptContent -> { val message = sp.getString(CommonStrings.common_waiting_for_decryption_key) - message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) + message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom, isOutgoing) } is RoomMembershipContent -> { roomMembershipContentFormatter.format(content, senderDisambiguatedDisplayName, isOutgoing) @@ -85,11 +85,11 @@ class DefaultRoomLastMessageFormatter @Inject constructor( } is PollContent -> { val message = sp.getString(CommonStrings.common_poll_summary, content.question) - message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) + message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom, isOutgoing) } is FailedToParseMessageLikeContent, is FailedToParseStateContent, is UnknownContent -> { val message = sp.getString(CommonStrings.common_unsupported_event) - message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) + message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom, isOutgoing) } is LegacyCallInviteContent -> sp.getString(CommonStrings.common_call_invite) is CallNotifyContent -> sp.getString(CommonStrings.common_call_started) @@ -99,6 +99,7 @@ class DefaultRoomLastMessageFormatter @Inject constructor( private fun MessageContent.process( senderDisambiguatedDisplayName: String, isDmRoom: Boolean, + isOutgoing: Boolean ): CharSequence { val message = when (val messageType: MessageType = type) { // Doesn't need a prefix @@ -136,15 +137,22 @@ class DefaultRoomLastMessageFormatter @Inject constructor( messageType.body } } - return message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom) + return message.prefixIfNeeded(senderDisambiguatedDisplayName, isDmRoom, isOutgoing) } private fun String.prefixIfNeeded( senderDisambiguatedDisplayName: String, isDmRoom: Boolean, + isOutgoing: Boolean, ): CharSequence = if (isDmRoom) { this } else { - prefixWith(senderDisambiguatedDisplayName) + prefixWith( + if (isOutgoing) { + sp.getString(CommonStrings.common_you) + } else { + senderDisambiguatedDisplayName + } + ) } } diff --git a/libraries/eventformatter/impl/src/test/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatterTest.kt b/libraries/eventformatter/impl/src/test/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatterTest.kt index 36fa8c0fd0..db3377c5e8 100644 --- a/libraries/eventformatter/impl/src/test/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatterTest.kt +++ b/libraries/eventformatter/impl/src/test/kotlin/io/element/android/libraries/eventformatter/impl/DefaultRoomLastMessageFormatterTest.kt @@ -148,7 +148,29 @@ class DefaultRoomLastMessageFormatterTest { @Test @Config(qualifiers = "en") - fun `Message contents`() { + fun `Message contents sent by other user`() { + testMessageContents( + sentByYou = false, + senderName = "Alice", + expectedPrefix = "Alice", + ) + } + + @Test + @Config(qualifiers = "en") + fun `Message contents sent by current user`() { + testMessageContents( + sentByYou = true, + senderName = "Bob", + expectedPrefix = "You", + ) + } + + private fun testMessageContents( + sentByYou: Boolean, + senderName: String, + expectedPrefix: String, + ) { val body = "Shared body" fun createMessageContent(type: MessageType): MessageContent { return MessageContent(body, null, false, false, type) @@ -167,7 +189,6 @@ class DefaultRoomLastMessageFormatterTest { EmoteMessageType(body, null), OtherMessageType(msgType = "a_type", body = body), ) - val senderName = "Someone" val resultsInRoom = mutableListOf>() val resultsInDm = mutableListOf>() @@ -175,7 +196,7 @@ class DefaultRoomLastMessageFormatterTest { sequenceOf(false, true).forEach { isDm -> sharedContentMessagesTypes.forEach { type -> val content = createMessageContent(type) - val message = createRoomEvent(sentByYou = false, senderDisplayName = "Someone", content = content) + val message = createRoomEvent(sentByYou = sentByYou, senderDisplayName = senderName, content = content) val result = formatter.format(message, isDmRoom = isDm) if (isDm) { resultsInDm.add(type to result) @@ -207,16 +228,16 @@ class DefaultRoomLastMessageFormatterTest { for ((type, result) in resultsInRoom) { val string = result.toString() val expectedResult = when (type) { - is VideoMessageType -> "$senderName: Video" - is AudioMessageType -> "$senderName: Audio" - is VoiceMessageType -> "$senderName: Voice message" - is ImageMessageType -> "$senderName: Image" - is StickerMessageType -> "$senderName: Sticker" - is FileMessageType -> "$senderName: File" - is LocationMessageType -> "$senderName: Shared location" + is VideoMessageType -> "$expectedPrefix: Video" + is AudioMessageType -> "$expectedPrefix: Audio" + is VoiceMessageType -> "$expectedPrefix: Voice message" + is ImageMessageType -> "$expectedPrefix: Image" + is StickerMessageType -> "$expectedPrefix: Sticker" + is FileMessageType -> "$expectedPrefix: File" + is LocationMessageType -> "$expectedPrefix: Shared location" is TextMessageType, is NoticeMessageType, - is OtherMessageType -> "$senderName: $body" + is OtherMessageType -> "$expectedPrefix: $body" is EmoteMessageType -> "* $senderName ${type.body}" } val shouldCreateAnnotatedString = when (type) { @@ -821,7 +842,7 @@ class DefaultRoomLastMessageFormatterTest { val pollContent = aPollContent() val mineContentEvent = createRoomEvent(sentByYou = true, senderDisplayName = "Alice", content = pollContent) - assertThat(formatter.format(mineContentEvent, false).toString()).isEqualTo("Alice: Poll: Do you like polls?") + assertThat(formatter.format(mineContentEvent, false).toString()).isEqualTo("You: Poll: Do you like polls?") val contentEvent = createRoomEvent(sentByYou = false, senderDisplayName = "Bob", content = pollContent) assertThat(formatter.format(contentEvent, false).toString()).isEqualTo("Bob: Poll: Do you like polls?") diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index 4ef598a33b..11e1ab922a 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -248,6 +248,7 @@ Reason: %1$s." "Voice message" "Waiting…" "Waiting for this message" + "You" "Confirmation" "Error" "Success" From 5a8cfda4c7a3a0d28f643e7a6f1340f4ad5390e8 Mon Sep 17 00:00:00 2001 From: ganfra Date: Thu, 26 Sep 2024 16:05:05 +0200 Subject: [PATCH 026/151] timeline : remove animateItem --- .../android/features/messages/impl/timeline/TimelineView.kt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt index 30cb2b6344..7abf443c04 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt @@ -5,13 +5,10 @@ * Please see LICENSE in the repository root for full details. */ -@file:OptIn(ExperimentalAnimationApi::class) - package io.element.android.features.messages.impl.timeline import android.view.accessibility.AccessibilityManager import androidx.compose.animation.AnimatedVisibility -import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn import androidx.compose.animation.scaleIn @@ -145,7 +142,6 @@ fun TimelineView( key = { timelineItem -> timelineItem.identifier() }, ) { timelineItem -> TimelineItemRow( - modifier = Modifier.animateItem(), timelineItem = timelineItem, timelineRoomInfo = state.timelineRoomInfo, renderReadReceipts = state.renderReadReceipts, From 231217c43808e8a7627569344e76a045ad5b3252 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 14:54:25 +0000 Subject: [PATCH 027/151] Update dependency io.element.android:compound-android to v0.1.0 (#3524) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update dependency io.element.android:compound-android to v0.1.0 * Fix usages of `AvatarColorsProvider` * Update screenshots * Fix tests and lint issues --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jorge Martín Co-authored-by: ElementBot --- .../components/TimelineItemEventRow.kt | 2 +- gradle/libs.versions.toml | 2 +- .../colors/AvatarColorsProvider.kt | 38 ++++--------------- .../designsystem/components/Bloom.kt | 4 +- .../designsystem/components/avatar/Avatar.kt | 2 +- .../components/avatar/UserAvatarPreview.kt | 4 +- .../designsystem/colors/AvatarColorsTest.kt | 30 ++++++--------- .../appnav.loggedin_LoggedInView_Day_2_en.png | 4 +- ...ppnav.loggedin_LoggedInView_Night_2_en.png | 4 +- ...om.joined_LoadingRoomNodeView_Day_0_en.png | 4 +- ...om.joined_LoadingRoomNodeView_Day_1_en.png | 4 +- ....joined_LoadingRoomNodeView_Night_0_en.png | 4 +- ....joined_LoadingRoomNodeView_Night_1_en.png | 4 +- ...nces_AnalyticsPreferencesView_Day_0_en.png | 4 +- ...es_AnalyticsPreferencesView_Night_0_en.png | 2 +- ...s.call.impl.ui_CallScreenView_Day_1_en.png | 4 +- ...call.impl.ui_CallScreenView_Night_1_en.png | 4 +- ...ll.impl.ui_IncomingCallScreen_Day_0_en.png | 4 +- ....impl.ui_IncomingCallScreen_Night_0_en.png | 4 +- ....impl.addpeople_AddPeopleView_Day_0_en.png | 4 +- ....impl.addpeople_AddPeopleView_Day_1_en.png | 4 +- ....impl.addpeople_AddPeopleView_Day_2_en.png | 4 +- ....impl.addpeople_AddPeopleView_Day_3_en.png | 4 +- ...mpl.addpeople_AddPeopleView_Night_0_en.png | 4 +- ...mpl.addpeople_AddPeopleView_Night_1_en.png | 4 +- ...mpl.addpeople_AddPeopleView_Night_2_en.png | 4 +- ...mpl.addpeople_AddPeopleView_Night_3_en.png | 4 +- ...nents_SearchMultipleUsersResultItem_en.png | 4 +- ...mponents_SearchSingleUserResultItem_en.png | 4 +- ....impl.components_UserListView_Day_1_en.png | 4 +- ....impl.components_UserListView_Day_5_en.png | 4 +- ....impl.components_UserListView_Day_6_en.png | 4 +- ....impl.components_UserListView_Day_9_en.png | 4 +- ...mpl.components_UserListView_Night_1_en.png | 4 +- ...mpl.components_UserListView_Night_5_en.png | 4 +- ...mpl.components_UserListView_Night_6_en.png | 4 +- ...mpl.components_UserListView_Night_9_en.png | 4 +- ...nfigureroom_ConfigureRoomView_Day_1_en.png | 4 +- ...igureroom_ConfigureRoomView_Night_1_en.png | 4 +- ....impl.root_CreateRoomRootView_Day_1_en.png | 4 +- ....impl.root_CreateRoomRootView_Day_2_en.png | 4 +- ....impl.root_CreateRoomRootView_Day_3_en.png | 4 +- ...mpl.root_CreateRoomRootView_Night_1_en.png | 4 +- ...mpl.root_CreateRoomRootView_Night_2_en.png | 4 +- ...mpl.root_CreateRoomRootView_Night_3_en.png | 4 +- ...ations_NotificationsOptInView_Day_0_en.png | 4 +- ...ions_NotificationsOptInView_Night_0_en.png | 4 +- ...ftue.impl.welcome_WelcomeView_Day_0_en.png | 4 +- ...ue.impl.welcome_WelcomeView_Night_0_en.png | 4 +- ...s.joinroom.impl_JoinRoomView_Day_10_en.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_2_en.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_3_en.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_4_en.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_5_en.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_6_en.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_9_en.png | 4 +- ...joinroom.impl_JoinRoomView_Night_10_en.png | 4 +- ....joinroom.impl_JoinRoomView_Night_2_en.png | 4 +- ....joinroom.impl_JoinRoomView_Night_3_en.png | 4 +- ....joinroom.impl_JoinRoomView_Night_4_en.png | 4 +- ....joinroom.impl_JoinRoomView_Night_5_en.png | 4 +- ....joinroom.impl_JoinRoomView_Night_6_en.png | 4 +- ....joinroom.impl_JoinRoomView_Night_9_en.png | 4 +- ...s.leaveroom.api_LeaveRoomView_Day_2_en.png | 4 +- ...leaveroom.api_LeaveRoomView_Night_2_en.png | 4 +- ...on.impl.send_SendLocationView_Day_0_en.png | 4 +- ...on.impl.send_SendLocationView_Day_1_en.png | 4 +- ...on.impl.send_SendLocationView_Day_2_en.png | 4 +- ...on.impl.send_SendLocationView_Day_3_en.png | 4 +- ...on.impl.send_SendLocationView_Day_4_en.png | 4 +- ....impl.send_SendLocationView_Night_0_en.png | 4 +- ....impl.send_SendLocationView_Night_1_en.png | 4 +- ....impl.send_SendLocationView_Night_2_en.png | 4 +- ....impl.send_SendLocationView_Night_3_en.png | 4 +- ....impl.send_SendLocationView_Night_4_en.png | 4 +- ...on.impl.show_ShowLocationView_Day_1_en.png | 4 +- ...on.impl.show_ShowLocationView_Day_2_en.png | 4 +- ....impl.show_ShowLocationView_Night_1_en.png | 4 +- ....impl.show_ShowLocationView_Night_2_en.png | 4 +- ...n.impl.setup.pin_SetupPinView_Day_0_en.png | 4 +- ...n.impl.setup.pin_SetupPinView_Day_1_en.png | 4 +- ...n.impl.setup.pin_SetupPinView_Day_2_en.png | 4 +- ...impl.setup.pin_SetupPinView_Night_0_en.png | 4 +- ...impl.setup.pin_SetupPinView_Night_1_en.png | 4 +- ...impl.setup.pin_SetupPinView_Night_2_en.png | 4 +- ...mpl.unlock_PinUnlockViewInApp_Day_6_en.png | 4 +- ...l.unlock_PinUnlockViewInApp_Night_6_en.png | 4 +- ...een.impl.unlock_PinUnlockView_Day_6_en.png | 4 +- ...n.impl.unlock_PinUnlockView_Night_6_en.png | 4 +- ...der_ChangeAccountProviderView_Day_0_en.png | 4 +- ...r_ChangeAccountProviderView_Night_0_en.png | 4 +- ...ginpassword_LoginPasswordView_Day_0_en.png | 4 +- ...ginpassword_LoginPasswordView_Day_1_en.png | 4 +- ...ginpassword_LoginPasswordView_Day_2_en.png | 4 +- ...npassword_LoginPasswordView_Night_0_en.png | 2 +- ...npassword_LoginPasswordView_Night_1_en.png | 2 +- ...npassword_LoginPasswordView_Night_2_en.png | 4 +- ....qrcode.intro_QrCodeIntroView_Day_1_en.png | 4 +- ...rcode.intro_QrCodeIntroView_Night_1_en.png | 4 +- ...irect_DefaultDirectLogoutView_Day_1_en.png | 4 +- ...irect_DefaultDirectLogoutView_Day_2_en.png | 4 +- ...ect_DefaultDirectLogoutView_Night_1_en.png | 4 +- ...ect_DefaultDirectLogoutView_Night_2_en.png | 4 +- ....impl_AccountDeactivationView_Day_0_en.png | 4 +- ....impl_AccountDeactivationView_Day_1_en.png | 4 +- ....impl_AccountDeactivationView_Day_2_en.png | 4 +- ....impl_AccountDeactivationView_Day_3_en.png | 4 +- ....impl_AccountDeactivationView_Day_4_en.png | 4 +- ...mpl_AccountDeactivationView_Night_0_en.png | 4 +- ...mpl_AccountDeactivationView_Night_1_en.png | 4 +- ...mpl_AccountDeactivationView_Night_2_en.png | 4 +- ...mpl_AccountDeactivationView_Night_3_en.png | 4 +- ...mpl_AccountDeactivationView_Night_4_en.png | 4 +- ...atures.logout.impl_LogoutView_Day_1_en.png | 4 +- ...atures.logout.impl_LogoutView_Day_3_en.png | 4 +- ...atures.logout.impl_LogoutView_Day_4_en.png | 4 +- ...atures.logout.impl_LogoutView_Day_5_en.png | 4 +- ...atures.logout.impl_LogoutView_Day_8_en.png | 4 +- ...atures.logout.impl_LogoutView_Day_9_en.png | 4 +- ...ures.logout.impl_LogoutView_Night_1_en.png | 4 +- ...ures.logout.impl_LogoutView_Night_3_en.png | 4 +- ...ures.logout.impl_LogoutView_Night_4_en.png | 4 +- ...ures.logout.impl_LogoutView_Night_5_en.png | 4 +- ...ures.logout.impl_LogoutView_Night_8_en.png | 4 +- ...ures.logout.impl_LogoutView_Night_9_en.png | 4 +- ...impl.actionlist_SheetContent_Day_10_en.png | 4 +- ...impl.actionlist_SheetContent_Day_11_en.png | 4 +- ...impl.actionlist_SheetContent_Day_12_en.png | 4 +- ....impl.actionlist_SheetContent_Day_2_en.png | 4 +- ....impl.actionlist_SheetContent_Day_3_en.png | 4 +- ....impl.actionlist_SheetContent_Day_4_en.png | 4 +- ....impl.actionlist_SheetContent_Day_5_en.png | 4 +- ....impl.actionlist_SheetContent_Day_6_en.png | 4 +- ....impl.actionlist_SheetContent_Day_7_en.png | 4 +- ....impl.actionlist_SheetContent_Day_8_en.png | 4 +- ....impl.actionlist_SheetContent_Day_9_en.png | 4 +- ...pl.actionlist_SheetContent_Night_10_en.png | 4 +- ...pl.actionlist_SheetContent_Night_11_en.png | 4 +- ...pl.actionlist_SheetContent_Night_12_en.png | 2 +- ...mpl.actionlist_SheetContent_Night_2_en.png | 2 +- ...mpl.actionlist_SheetContent_Night_3_en.png | 4 +- ...mpl.actionlist_SheetContent_Night_4_en.png | 4 +- ...mpl.actionlist_SheetContent_Night_5_en.png | 4 +- ...mpl.actionlist_SheetContent_Night_6_en.png | 4 +- ...mpl.actionlist_SheetContent_Night_7_en.png | 4 +- ...mpl.actionlist_SheetContent_Night_8_en.png | 4 +- ...mpl.actionlist_SheetContent_Night_9_en.png | 4 +- ...tachments.preview_AttachmentsView_0_en.png | 4 +- ...tachments.preview_AttachmentsView_1_en.png | 4 +- ...tachments.preview_AttachmentsView_2_en.png | 4 +- ...tachments.preview_AttachmentsView_3_en.png | 4 +- ...veVerifiedUserSendFailureView_Day_1_en.png | 4 +- ...VerifiedUserSendFailureView_Night_1_en.png | 4 +- ...estions_SuggestionsPickerView_Day_0_en.png | 4 +- ...tions_SuggestionsPickerView_Night_0_en.png | 4 +- ...ner_PinnedMessagesBannerView_Day_10_en.png | 4 +- ...nner_PinnedMessagesBannerView_Day_3_en.png | 4 +- ...nner_PinnedMessagesBannerView_Day_4_en.png | 4 +- ...nner_PinnedMessagesBannerView_Day_5_en.png | 4 +- ...nner_PinnedMessagesBannerView_Day_6_en.png | 4 +- ...nner_PinnedMessagesBannerView_Day_7_en.png | 4 +- ...nner_PinnedMessagesBannerView_Day_8_en.png | 4 +- ...nner_PinnedMessagesBannerView_Day_9_en.png | 4 +- ...r_PinnedMessagesBannerView_Night_10_en.png | 4 +- ...er_PinnedMessagesBannerView_Night_3_en.png | 4 +- ...er_PinnedMessagesBannerView_Night_4_en.png | 4 +- ...er_PinnedMessagesBannerView_Night_5_en.png | 4 +- ...er_PinnedMessagesBannerView_Night_6_en.png | 4 +- ...er_PinnedMessagesBannerView_Night_7_en.png | 4 +- ...er_PinnedMessagesBannerView_Night_8_en.png | 4 +- ...er_PinnedMessagesBannerView_Night_9_en.png | 4 +- ...d.list_PinnedMessagesListView_Day_3_en.png | 4 +- ...list_PinnedMessagesListView_Night_3_en.png | 4 +- ...impl.report_ReportMessageView_Day_0_en.png | 4 +- ...impl.report_ReportMessageView_Day_1_en.png | 4 +- ...impl.report_ReportMessageView_Day_2_en.png | 4 +- ...impl.report_ReportMessageView_Day_3_en.png | 4 +- ...impl.report_ReportMessageView_Day_4_en.png | 4 +- ...impl.report_ReportMessageView_Day_5_en.png | 4 +- ...pl.report_ReportMessageView_Night_0_en.png | 4 +- ...pl.report_ReportMessageView_Night_1_en.png | 4 +- ...pl.report_ReportMessageView_Night_2_en.png | 4 +- ...pl.report_ReportMessageView_Night_3_en.png | 4 +- ...pl.report_ReportMessageView_Night_4_en.png | 4 +- ...pl.report_ReportMessageView_Night_5_en.png | 4 +- ....reactionsummary_SheetContent_Day_0_en.png | 4 +- ...eactionsummary_SheetContent_Night_0_en.png | 4 +- ...msheet_ReadReceiptBottomSheet_Day_1_en.png | 4 +- ...msheet_ReadReceiptBottomSheet_Day_2_en.png | 4 +- ...msheet_ReadReceiptBottomSheet_Day_3_en.png | 4 +- ...msheet_ReadReceiptBottomSheet_Day_4_en.png | 4 +- ...msheet_ReadReceiptBottomSheet_Day_5_en.png | 4 +- ...heet_ReadReceiptBottomSheet_Night_1_en.png | 4 +- ...heet_ReadReceiptBottomSheet_Night_2_en.png | 4 +- ...heet_ReadReceiptBottomSheet_Night_3_en.png | 4 +- ...heet_ReadReceiptBottomSheet_Night_4_en.png | 4 +- ...heet_ReadReceiptBottomSheet_Night_5_en.png | 4 +- ...t_TimelineItemReadReceiptView_Day_1_en.png | 4 +- ...t_TimelineItemReadReceiptView_Day_3_en.png | 4 +- ...t_TimelineItemReadReceiptView_Day_4_en.png | 4 +- ...t_TimelineItemReadReceiptView_Day_5_en.png | 4 +- ...t_TimelineItemReadReceiptView_Day_6_en.png | 4 +- ...t_TimelineItemReadReceiptView_Day_7_en.png | 4 +- ...TimelineItemReadReceiptView_Night_1_en.png | 4 +- ...TimelineItemReadReceiptView_Night_3_en.png | 4 +- ...TimelineItemReadReceiptView_Night_4_en.png | 4 +- ...TimelineItemReadReceiptView_Night_5_en.png | 4 +- ...TimelineItemReadReceiptView_Night_6_en.png | 4 +- ...TimelineItemReadReceiptView_Night_7_en.png | 4 +- ...ts_TimelineItemCallNotifyView_Day_0_en.png | 4 +- ..._TimelineItemCallNotifyView_Night_0_en.png | 4 +- ...lineItemEventRowDisambiguated_Day_0_en.png | 4 +- ...neItemEventRowDisambiguated_Night_0_en.png | 4 +- ..._TimelineItemEventRowLongSenderName_en.png | 4 +- ...TimelineItemEventRowTimestamp_Day_0_en.png | 4 +- ...TimelineItemEventRowTimestamp_Day_1_en.png | 4 +- ...TimelineItemEventRowTimestamp_Day_2_en.png | 4 +- ...TimelineItemEventRowTimestamp_Day_3_en.png | 4 +- ...TimelineItemEventRowTimestamp_Day_4_en.png | 4 +- ...TimelineItemEventRowTimestamp_Day_5_en.png | 4 +- ...TimelineItemEventRowTimestamp_Day_6_en.png | 4 +- ...melineItemEventRowTimestamp_Night_0_en.png | 4 +- ...melineItemEventRowTimestamp_Night_1_en.png | 4 +- ...melineItemEventRowTimestamp_Night_2_en.png | 4 +- ...melineItemEventRowTimestamp_Night_3_en.png | 4 +- ...melineItemEventRowTimestamp_Night_4_en.png | 4 +- ...melineItemEventRowTimestamp_Night_5_en.png | 4 +- ...melineItemEventRowTimestamp_Night_6_en.png | 4 +- ...ItemEventRowWithManyReactions_Day_0_en.png | 4 +- ...emEventRowWithManyReactions_Night_0_en.png | 4 +- ...ts_TimelineItemEventRowWithRR_Day_0_en.png | 4 +- ...ts_TimelineItemEventRowWithRR_Day_1_en.png | 4 +- ...ts_TimelineItemEventRowWithRR_Day_2_en.png | 4 +- ..._TimelineItemEventRowWithRR_Night_0_en.png | 4 +- ..._TimelineItemEventRowWithRR_Night_1_en.png | 4 +- ..._TimelineItemEventRowWithRR_Night_2_en.png | 4 +- ...mEventRowWithReplyInformative_Day_0_en.png | 4 +- ...mEventRowWithReplyInformative_Day_1_en.png | 4 +- ...ventRowWithReplyInformative_Night_0_en.png | 4 +- ...ventRowWithReplyInformative_Night_1_en.png | 4 +- ...ineItemEventRowWithReplyOther_Day_0_en.png | 4 +- ...ineItemEventRowWithReplyOther_Day_1_en.png | 4 +- ...eItemEventRowWithReplyOther_Night_0_en.png | 4 +- ...eItemEventRowWithReplyOther_Night_1_en.png | 4 +- ...TimelineItemEventRowWithReply_Day_0_en.png | 4 +- ...imelineItemEventRowWithReply_Day_10_en.png | 4 +- ...imelineItemEventRowWithReply_Day_11_en.png | 4 +- ...TimelineItemEventRowWithReply_Day_1_en.png | 4 +- ...TimelineItemEventRowWithReply_Day_2_en.png | 4 +- ...TimelineItemEventRowWithReply_Day_3_en.png | 4 +- ...TimelineItemEventRowWithReply_Day_4_en.png | 4 +- ...TimelineItemEventRowWithReply_Day_5_en.png | 4 +- ...TimelineItemEventRowWithReply_Day_6_en.png | 4 +- ...TimelineItemEventRowWithReply_Day_7_en.png | 4 +- ...TimelineItemEventRowWithReply_Day_8_en.png | 4 +- ...TimelineItemEventRowWithReply_Day_9_en.png | 4 +- ...melineItemEventRowWithReply_Night_0_en.png | 4 +- ...elineItemEventRowWithReply_Night_10_en.png | 4 +- ...elineItemEventRowWithReply_Night_11_en.png | 4 +- ...melineItemEventRowWithReply_Night_1_en.png | 4 +- ...melineItemEventRowWithReply_Night_2_en.png | 4 +- ...melineItemEventRowWithReply_Night_3_en.png | 4 +- ...melineItemEventRowWithReply_Night_4_en.png | 4 +- ...melineItemEventRowWithReply_Night_5_en.png | 4 +- ...melineItemEventRowWithReply_Night_6_en.png | 4 +- ...melineItemEventRowWithReply_Night_7_en.png | 4 +- ...melineItemEventRowWithReply_Night_8_en.png | 4 +- ...melineItemEventRowWithReply_Night_9_en.png | 4 +- ...mponents_TimelineItemEventRow_Day_0_en.png | 4 +- ...onents_TimelineItemEventRow_Night_0_en.png | 4 +- ...nts_TimelineItemEventTimestampBelow_en.png | 4 +- ...oupedEventsRowContentCollapse_Day_0_en.png | 4 +- ...pedEventsRowContentCollapse_Night_0_en.png | 4 +- ...oupedEventsRowContentExpanded_Day_0_en.png | 4 +- ...pedEventsRowContentExpanded_Night_0_en.png | 4 +- ...nts_TimelineItemStateEventRow_Day_0_en.png | 4 +- ...s_TimelineItemStateEventRow_Night_0_en.png | 4 +- ...ine_TimelineViewMessageShield_Day_0_en.png | 4 +- ...e_TimelineViewMessageShield_Night_0_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_0_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_12_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_13_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_14_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_15_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_16_en.png | 4 +- ...s.impl.timeline_TimelineView_Day_17_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_1_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_4_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_5_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_6_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_7_en.png | 4 +- ...es.impl.timeline_TimelineView_Day_8_en.png | 4 +- ....impl.timeline_TimelineView_Night_0_en.png | 4 +- ...impl.timeline_TimelineView_Night_12_en.png | 4 +- ...impl.timeline_TimelineView_Night_13_en.png | 4 +- ...impl.timeline_TimelineView_Night_14_en.png | 4 +- ...impl.timeline_TimelineView_Night_15_en.png | 4 +- ...impl.timeline_TimelineView_Night_16_en.png | 4 +- ...impl.timeline_TimelineView_Night_17_en.png | 4 +- ....impl.timeline_TimelineView_Night_1_en.png | 4 +- ....impl.timeline_TimelineView_Night_4_en.png | 4 +- ....impl.timeline_TimelineView_Night_5_en.png | 4 +- ....impl.timeline_TimelineView_Night_6_en.png | 4 +- ....impl.timeline_TimelineView_Night_7_en.png | 4 +- ....impl.timeline_TimelineView_Night_8_en.png | 4 +- ...typing_MessagesViewWithTyping_Day_0_en.png | 4 +- ...typing_MessagesViewWithTyping_Day_1_en.png | 4 +- ...typing_MessagesViewWithTyping_Day_2_en.png | 4 +- ...ping_MessagesViewWithTyping_Night_0_en.png | 4 +- ...ping_MessagesViewWithTyping_Night_1_en.png | 4 +- ...ping_MessagesViewWithTyping_Night_2_en.png | 4 +- ...es.messages.impl_MessagesView_Day_0_en.png | 4 +- ...s.messages.impl_MessagesView_Day_10_en.png | 4 +- ...s.messages.impl_MessagesView_Day_11_en.png | 4 +- ...s.messages.impl_MessagesView_Day_12_en.png | 4 +- ...s.messages.impl_MessagesView_Day_13_en.png | 4 +- ...es.messages.impl_MessagesView_Day_1_en.png | 4 +- ...es.messages.impl_MessagesView_Day_3_en.png | 4 +- ...es.messages.impl_MessagesView_Day_4_en.png | 4 +- ...es.messages.impl_MessagesView_Day_5_en.png | 4 +- ...es.messages.impl_MessagesView_Day_6_en.png | 4 +- ...es.messages.impl_MessagesView_Day_7_en.png | 4 +- ...es.messages.impl_MessagesView_Day_8_en.png | 4 +- ...es.messages.impl_MessagesView_Day_9_en.png | 4 +- ....messages.impl_MessagesView_Night_0_en.png | 4 +- ...messages.impl_MessagesView_Night_10_en.png | 4 +- ...messages.impl_MessagesView_Night_11_en.png | 4 +- ...messages.impl_MessagesView_Night_12_en.png | 4 +- ...messages.impl_MessagesView_Night_13_en.png | 4 +- ....messages.impl_MessagesView_Night_1_en.png | 4 +- ....messages.impl_MessagesView_Night_3_en.png | 4 +- ....messages.impl_MessagesView_Night_4_en.png | 4 +- ....messages.impl_MessagesView_Night_5_en.png | 4 +- ....messages.impl_MessagesView_Night_6_en.png | 4 +- ....messages.impl_MessagesView_Night_7_en.png | 4 +- ....messages.impl_MessagesView_Night_8_en.png | 4 +- ....messages.impl_MessagesView_Night_9_en.png | 4 +- ....migration.impl_MigrationView_Day_1_en.png | 4 +- ...igration.impl_MigrationView_Night_1_en.png | 4 +- ....ui_ConnectivityIndicatorView_Day_0_en.png | 4 +- ...i_ConnectivityIndicatorView_Night_0_en.png | 4 +- ...nboarding.impl_OnBoardingView_Day_1_en.png | 4 +- ...nboarding.impl_OnBoardingView_Day_2_en.png | 4 +- ...nboarding.impl_OnBoardingView_Day_3_en.png | 4 +- ...oarding.impl_OnBoardingView_Night_1_en.png | 4 +- ...oarding.impl_OnBoardingView_Night_2_en.png | 4 +- ...oarding.impl_OnBoardingView_Night_3_en.png | 4 +- ...ll.impl.create_CreatePollView_Day_6_en.png | 4 +- ...ll.impl.create_CreatePollView_Day_7_en.png | 4 +- ....impl.create_CreatePollView_Night_6_en.png | 4 +- ....impl.create_CreatePollView_Night_7_en.png | 4 +- ...alytics_AnalyticsSettingsView_Day_0_en.png | 2 +- ...ytics_AnalyticsSettingsView_Night_0_en.png | 2 +- ...blockedusers_BlockedUsersView_Day_0_en.png | 4 +- ...blockedusers_BlockedUsersView_Day_1_en.png | 4 +- ...blockedusers_BlockedUsersView_Day_3_en.png | 4 +- ...blockedusers_BlockedUsersView_Day_4_en.png | 4 +- ...blockedusers_BlockedUsersView_Day_5_en.png | 4 +- ...blockedusers_BlockedUsersView_Day_6_en.png | 4 +- ...ockedusers_BlockedUsersView_Night_0_en.png | 4 +- ...ockedusers_BlockedUsersView_Night_1_en.png | 4 +- ...ockedusers_BlockedUsersView_Night_3_en.png | 4 +- ...ockedusers_BlockedUsersView_Night_4_en.png | 4 +- ...ockedusers_BlockedUsersView_Night_5_en.png | 4 +- ...ockedusers_BlockedUsersView_Night_6_en.png | 4 +- ...efaultNotificationSettingView_Day_0_en.png | 4 +- ...efaultNotificationSettingView_Day_1_en.png | 4 +- ...efaultNotificationSettingView_Day_2_en.png | 4 +- ...efaultNotificationSettingView_Day_3_en.png | 4 +- ...efaultNotificationSettingView_Day_4_en.png | 4 +- ...aultNotificationSettingView_Night_0_en.png | 4 +- ...aultNotificationSettingView_Night_1_en.png | 4 +- ...aultNotificationSettingView_Night_2_en.png | 4 +- ...aultNotificationSettingView_Night_3_en.png | 4 +- ...aultNotificationSettingView_Night_4_en.png | 4 +- ...ions_NotificationSettingsView_Day_9_en.png | 4 +- ...ns_NotificationSettingsView_Night_9_en.png | 4 +- ...impl.root_PreferencesRootViewDark_0_en.png | 4 +- ...impl.root_PreferencesRootViewDark_1_en.png | 4 +- ...mpl.root_PreferencesRootViewLight_0_en.png | 4 +- ...mpl.root_PreferencesRootViewLight_1_en.png | 4 +- ...itprofile_EditUserProfileView_Day_0_en.png | 4 +- ...profile_EditUserProfileView_Night_0_en.png | 4 +- ...ces.impl.user_UserPreferences_Day_0_en.png | 4 +- ...ces.impl.user_UserPreferences_Day_1_en.png | 4 +- ...s.impl.user_UserPreferences_Night_0_en.png | 4 +- ...s.impl.user_UserPreferences_Night_1_en.png | 4 +- ....impl.bugreport_BugReportView_Day_0_en.png | 4 +- ....impl.bugreport_BugReportView_Day_2_en.png | 4 +- ....impl.bugreport_BugReportView_Day_3_en.png | 4 +- ....impl.bugreport_BugReportView_Day_4_en.png | 4 +- ...mpl.bugreport_BugReportView_Night_0_en.png | 4 +- ...mpl.bugreport_BugReportView_Night_2_en.png | 4 +- ...mpl.bugreport_BugReportView_Night_3_en.png | 4 +- ...mpl.bugreport_BugReportView_Night_4_en.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_0_en.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_1_en.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_2_en.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_4_en.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_5_en.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_6_en.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_7_en.png | 4 +- ...pl.edit_RoomDetailsEditView_Night_0_en.png | 4 +- ...pl.edit_RoomDetailsEditView_Night_1_en.png | 4 +- ...pl.edit_RoomDetailsEditView_Night_2_en.png | 4 +- ...pl.edit_RoomDetailsEditView_Night_4_en.png | 4 +- ...pl.edit_RoomDetailsEditView_Night_5_en.png | 4 +- ...pl.edit_RoomDetailsEditView_Night_6_en.png | 4 +- ...pl.edit_RoomDetailsEditView_Night_7_en.png | 4 +- ....invite_RoomInviteMembersView_Day_1_en.png | 4 +- ....invite_RoomInviteMembersView_Day_3_en.png | 4 +- ....invite_RoomInviteMembersView_Day_5_en.png | 4 +- ....invite_RoomInviteMembersView_Day_6_en.png | 4 +- ....invite_RoomInviteMembersView_Day_7_en.png | 4 +- ...nvite_RoomInviteMembersView_Night_1_en.png | 4 +- ...nvite_RoomInviteMembersView_Night_3_en.png | 4 +- ...nvite_RoomInviteMembersView_Night_5_en.png | 4 +- ...nvite_RoomInviteMembersView_Night_6_en.png | 4 +- ...nvite_RoomInviteMembersView_Night_7_en.png | 4 +- ...ion_RoomMembersModerationView_Day_0_en.png | 4 +- ...ion_RoomMembersModerationView_Day_1_en.png | 4 +- ...ion_RoomMembersModerationView_Day_2_en.png | 4 +- ...n_RoomMembersModerationView_Night_0_en.png | 4 +- ...n_RoomMembersModerationView_Night_1_en.png | 4 +- ...n_RoomMembersModerationView_Night_2_en.png | 4 +- ...bers_RoomMemberListViewBanned_Day_0_en.png | 4 +- ...bers_RoomMemberListViewBanned_Day_1_en.png | 4 +- ...rs_RoomMemberListViewBanned_Night_0_en.png | 4 +- ...rs_RoomMemberListViewBanned_Night_1_en.png | 4 +- ...pl.members_RoomMemberListView_Day_0_en.png | 4 +- ...pl.members_RoomMemberListView_Day_6_en.png | 4 +- ....members_RoomMemberListView_Night_0_en.png | 4 +- ....members_RoomMemberListView_Night_6_en.png | 4 +- ....changeroles_ChangeRolesView_Day_10_en.png | 4 +- ...s.changeroles_ChangeRolesView_Day_1_en.png | 4 +- ...s.changeroles_ChangeRolesView_Day_2_en.png | 4 +- ...s.changeroles_ChangeRolesView_Day_3_en.png | 4 +- ...s.changeroles_ChangeRolesView_Day_4_en.png | 4 +- ...s.changeroles_ChangeRolesView_Day_5_en.png | 4 +- ...s.changeroles_ChangeRolesView_Day_6_en.png | 4 +- ...s.changeroles_ChangeRolesView_Day_7_en.png | 4 +- ...s.changeroles_ChangeRolesView_Day_8_en.png | 4 +- ...s.changeroles_ChangeRolesView_Day_9_en.png | 4 +- ...hangeroles_ChangeRolesView_Night_10_en.png | 4 +- ...changeroles_ChangeRolesView_Night_1_en.png | 4 +- ...changeroles_ChangeRolesView_Night_2_en.png | 4 +- ...changeroles_ChangeRolesView_Night_3_en.png | 4 +- ...changeroles_ChangeRolesView_Night_4_en.png | 4 +- ...changeroles_ChangeRolesView_Night_5_en.png | 4 +- ...changeroles_ChangeRolesView_Night_6_en.png | 4 +- ...changeroles_ChangeRolesView_Night_7_en.png | 4 +- ...changeroles_ChangeRolesView_Night_8_en.png | 4 +- ...changeroles_ChangeRolesView_Night_9_en.png | 4 +- ...sions_RolesAndPermissionsView_Day_0_en.png | 4 +- ...sions_RolesAndPermissionsView_Day_1_en.png | 4 +- ...sions_RolesAndPermissionsView_Day_3_en.png | 4 +- ...sions_RolesAndPermissionsView_Day_4_en.png | 4 +- ...sions_RolesAndPermissionsView_Day_5_en.png | 4 +- ...sions_RolesAndPermissionsView_Day_6_en.png | 4 +- ...sions_RolesAndPermissionsView_Day_7_en.png | 4 +- ...ons_RolesAndPermissionsView_Night_0_en.png | 4 +- ...ons_RolesAndPermissionsView_Night_1_en.png | 4 +- ...ons_RolesAndPermissionsView_Night_3_en.png | 4 +- ...ons_RolesAndPermissionsView_Night_4_en.png | 4 +- ...ons_RolesAndPermissionsView_Night_5_en.png | 4 +- ...ons_RolesAndPermissionsView_Night_6_en.png | 4 +- ...ons_RolesAndPermissionsView_Night_7_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_0_en.png | 4 +- ...roomdetails.impl_RoomDetailsDark_10_en.png | 4 +- ...roomdetails.impl_RoomDetailsDark_11_en.png | 4 +- ...roomdetails.impl_RoomDetailsDark_12_en.png | 4 +- ...roomdetails.impl_RoomDetailsDark_13_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_1_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_2_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_3_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_4_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_5_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_6_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_7_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_8_en.png | 4 +- ....roomdetails.impl_RoomDetailsDark_9_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_0_en.png | 4 +- ...res.roomdetails.impl_RoomDetails_10_en.png | 4 +- ...res.roomdetails.impl_RoomDetails_11_en.png | 4 +- ...res.roomdetails.impl_RoomDetails_12_en.png | 4 +- ...res.roomdetails.impl_RoomDetails_13_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_1_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_2_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_3_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_4_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_5_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_6_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_7_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_8_en.png | 4 +- ...ures.roomdetails.impl_RoomDetails_9_en.png | 4 +- ...y.impl.root_RoomDirectoryView_Day_1_en.png | 4 +- ...y.impl.root_RoomDirectoryView_Day_2_en.png | 4 +- ...impl.root_RoomDirectoryView_Night_1_en.png | 4 +- ...impl.root_RoomDirectoryView_Night_2_en.png | 4 +- ...ents_ConfirmRecoveryKeyBanner_Day_0_en.png | 4 +- ...ts_ConfirmRecoveryKeyBanner_Night_0_en.png | 4 +- ...ltRoomListTopBarWithIndicator_Day_0_en.png | 4 +- ...RoomListTopBarWithIndicator_Night_0_en.png | 4 +- ...ponents_DefaultRoomListTopBar_Day_0_en.png | 4 +- ...nents_DefaultRoomListTopBar_Night_0_en.png | 4 +- ...lScreenIntentPermissionBanner_Day_0_en.png | 4 +- ...creenIntentPermissionBanner_Night_0_en.png | 4 +- ...omponents_RoomListContentView_Day_0_en.png | 4 +- ...omponents_RoomListContentView_Day_4_en.png | 4 +- ...ponents_RoomListContentView_Night_0_en.png | 4 +- ...ponents_RoomListContentView_Night_4_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_10_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_11_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_12_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_13_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_14_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_15_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_16_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_17_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_18_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_19_en.png | 4 +- ...mpl.components_RoomSummaryRow_Day_1_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_20_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_21_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_22_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_23_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_24_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_25_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_26_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_27_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_28_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_29_en.png | 4 +- ...mpl.components_RoomSummaryRow_Day_2_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_30_en.png | 4 +- ...pl.components_RoomSummaryRow_Day_31_en.png | 4 +- ...mpl.components_RoomSummaryRow_Day_3_en.png | 4 +- ...mpl.components_RoomSummaryRow_Day_4_en.png | 4 +- ...mpl.components_RoomSummaryRow_Day_5_en.png | 4 +- ...mpl.components_RoomSummaryRow_Day_6_en.png | 4 +- ...mpl.components_RoomSummaryRow_Day_7_en.png | 4 +- ...mpl.components_RoomSummaryRow_Day_8_en.png | 4 +- ...mpl.components_RoomSummaryRow_Day_9_en.png | 4 +- ....components_RoomSummaryRow_Night_10_en.png | 4 +- ....components_RoomSummaryRow_Night_11_en.png | 4 +- ....components_RoomSummaryRow_Night_12_en.png | 4 +- ....components_RoomSummaryRow_Night_13_en.png | 4 +- ....components_RoomSummaryRow_Night_14_en.png | 4 +- ....components_RoomSummaryRow_Night_15_en.png | 4 +- ....components_RoomSummaryRow_Night_16_en.png | 4 +- ....components_RoomSummaryRow_Night_17_en.png | 4 +- ....components_RoomSummaryRow_Night_18_en.png | 4 +- ....components_RoomSummaryRow_Night_19_en.png | 4 +- ...l.components_RoomSummaryRow_Night_1_en.png | 4 +- ....components_RoomSummaryRow_Night_20_en.png | 4 +- ....components_RoomSummaryRow_Night_21_en.png | 4 +- ....components_RoomSummaryRow_Night_22_en.png | 4 +- ....components_RoomSummaryRow_Night_23_en.png | 4 +- ....components_RoomSummaryRow_Night_24_en.png | 4 +- ....components_RoomSummaryRow_Night_25_en.png | 4 +- ....components_RoomSummaryRow_Night_26_en.png | 4 +- ....components_RoomSummaryRow_Night_27_en.png | 4 +- ....components_RoomSummaryRow_Night_28_en.png | 4 +- ....components_RoomSummaryRow_Night_29_en.png | 4 +- ...l.components_RoomSummaryRow_Night_2_en.png | 4 +- ....components_RoomSummaryRow_Night_30_en.png | 4 +- ....components_RoomSummaryRow_Night_31_en.png | 4 +- ...l.components_RoomSummaryRow_Night_3_en.png | 4 +- ...l.components_RoomSummaryRow_Night_4_en.png | 4 +- ...l.components_RoomSummaryRow_Night_5_en.png | 4 +- ...l.components_RoomSummaryRow_Night_6_en.png | 4 +- ...l.components_RoomSummaryRow_Night_7_en.png | 4 +- ...l.components_RoomSummaryRow_Night_8_en.png | 4 +- ...l.components_RoomSummaryRow_Night_9_en.png | 4 +- ...onents_SetUpRecoveryKeyBanner_Day_0_en.png | 4 +- ...ents_SetUpRecoveryKeyBanner_Night_0_en.png | 4 +- ....search_RoomListSearchContent_Day_2_en.png | 4 +- ...earch_RoomListSearchContent_Night_2_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_0_en.png | 4 +- ...s.roomlist.impl_RoomListView_Day_10_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_1_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_2_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_6_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_7_en.png | 4 +- ...es.roomlist.impl_RoomListView_Day_8_en.png | 4 +- ....roomlist.impl_RoomListView_Night_0_en.png | 4 +- ...roomlist.impl_RoomListView_Night_10_en.png | 4 +- ....roomlist.impl_RoomListView_Night_1_en.png | 4 +- ....roomlist.impl_RoomListView_Night_2_en.png | 4 +- ....roomlist.impl_RoomListView_Night_6_en.png | 4 +- ....roomlist.impl_RoomListView_Night_7_en.png | 4 +- ....roomlist.impl_RoomListView_Night_8_en.png | 4 +- ...ord_ResetIdentityPasswordView_Day_0_en.png | 4 +- ...ord_ResetIdentityPasswordView_Day_1_en.png | 4 +- ...ord_ResetIdentityPasswordView_Day_2_en.png | 4 +- ...ord_ResetIdentityPasswordView_Day_3_en.png | 4 +- ...d_ResetIdentityPasswordView_Night_0_en.png | 2 +- ...d_ResetIdentityPasswordView_Night_1_en.png | 4 +- ...d_ResetIdentityPasswordView_Night_2_en.png | 4 +- ...d_ResetIdentityPasswordView_Night_3_en.png | 4 +- ...p_SecureBackupSetupViewChange_Day_0_en.png | 4 +- ...p_SecureBackupSetupViewChange_Day_1_en.png | 4 +- ...p_SecureBackupSetupViewChange_Day_2_en.png | 4 +- ...p_SecureBackupSetupViewChange_Day_3_en.png | 4 +- ...p_SecureBackupSetupViewChange_Day_4_en.png | 4 +- ...SecureBackupSetupViewChange_Night_0_en.png | 4 +- ...SecureBackupSetupViewChange_Night_1_en.png | 4 +- ...SecureBackupSetupViewChange_Night_2_en.png | 4 +- ...SecureBackupSetupViewChange_Night_3_en.png | 4 +- ...SecureBackupSetupViewChange_Night_4_en.png | 4 +- ...l.setup_SecureBackupSetupView_Day_0_en.png | 4 +- ...l.setup_SecureBackupSetupView_Day_1_en.png | 4 +- ...l.setup_SecureBackupSetupView_Day_2_en.png | 4 +- ...l.setup_SecureBackupSetupView_Day_3_en.png | 4 +- ...l.setup_SecureBackupSetupView_Day_4_en.png | 4 +- ...setup_SecureBackupSetupView_Night_0_en.png | 4 +- ...setup_SecureBackupSetupView_Night_1_en.png | 4 +- ...setup_SecureBackupSetupView_Night_2_en.png | 4 +- ...setup_SecureBackupSetupView_Night_3_en.png | 4 +- ...setup_SecureBackupSetupView_Night_4_en.png | 4 +- ...ared_UserProfileHeaderSection_Day_0_en.png | 4 +- ...ed_UserProfileHeaderSection_Night_0_en.png | 4 +- ...rofile.shared_UserProfileView_Day_0_en.png | 4 +- ...rofile.shared_UserProfileView_Day_1_en.png | 4 +- ...rofile.shared_UserProfileView_Day_2_en.png | 4 +- ...rofile.shared_UserProfileView_Day_3_en.png | 4 +- ...rofile.shared_UserProfileView_Day_4_en.png | 4 +- ...rofile.shared_UserProfileView_Day_5_en.png | 4 +- ...rofile.shared_UserProfileView_Day_6_en.png | 4 +- ...rofile.shared_UserProfileView_Day_7_en.png | 4 +- ...rofile.shared_UserProfileView_Day_8_en.png | 4 +- ...file.shared_UserProfileView_Night_0_en.png | 4 +- ...file.shared_UserProfileView_Night_1_en.png | 4 +- ...file.shared_UserProfileView_Night_2_en.png | 4 +- ...file.shared_UserProfileView_Night_3_en.png | 4 +- ...file.shared_UserProfileView_Night_4_en.png | 4 +- ...file.shared_UserProfileView_Night_5_en.png | 4 +- ...file.shared_UserProfileView_Night_6_en.png | 4 +- ...file.shared_UserProfileView_Night_7_en.png | 4 +- ...file.shared_UserProfileView_Night_8_en.png | 4 +- ...on.impl_VerifySelfSessionView_Day_0_en.png | 4 +- ...n.impl_VerifySelfSessionView_Day_10_en.png | 4 +- ...on.impl_VerifySelfSessionView_Day_2_en.png | 4 +- ...on.impl_VerifySelfSessionView_Day_3_en.png | 4 +- ...on.impl_VerifySelfSessionView_Day_7_en.png | 4 +- ...on.impl_VerifySelfSessionView_Day_8_en.png | 4 +- ....impl_VerifySelfSessionView_Night_0_en.png | 4 +- ...impl_VerifySelfSessionView_Night_10_en.png | 4 +- ....impl_VerifySelfSessionView_Night_2_en.png | 4 +- ....impl_VerifySelfSessionView_Night_3_en.png | 4 +- ....impl_VerifySelfSessionView_Night_7_en.png | 4 +- ....impl_VerifySelfSessionView_Night_8_en.png | 4 +- ...er.impl.folder_ViewFolderView_Day_1_en.png | 4 +- ....impl.folder_ViewFolderView_Night_1_en.png | 4 +- ...ules_DialogLikeBannerMolecule_Day_0_en.png | 4 +- ...es_DialogLikeBannerMolecule_Night_0_en.png | 4 +- ...leSubtitleMoleculeWithResIcon_Day_0_en.png | 4 +- ...SubtitleMoleculeWithResIcon_Night_0_en.png | 4 +- ...les_IconTitleSubtitleMolecule_Day_0_en.png | 4 +- ...s_IconTitleSubtitleMolecule_Night_0_en.png | 4 +- ...tem.atomic.pages_FlowStepPage_Day_0_en.png | 4 +- ...m.atomic.pages_FlowStepPage_Night_0_en.png | 4 +- ....components.avatar_Avatar_Avatars_0_en.png | 4 +- ...components.avatar_Avatar_Avatars_10_en.png | 4 +- ...components.avatar_Avatar_Avatars_11_en.png | 4 +- ...components.avatar_Avatar_Avatars_12_en.png | 4 +- ...components.avatar_Avatar_Avatars_13_en.png | 4 +- ...components.avatar_Avatar_Avatars_15_en.png | 4 +- ...components.avatar_Avatar_Avatars_16_en.png | 4 +- ...components.avatar_Avatar_Avatars_18_en.png | 4 +- ...components.avatar_Avatar_Avatars_19_en.png | 4 +- ....components.avatar_Avatar_Avatars_1_en.png | 4 +- ...components.avatar_Avatar_Avatars_21_en.png | 4 +- ...components.avatar_Avatar_Avatars_22_en.png | 4 +- ...components.avatar_Avatar_Avatars_23_en.png | 4 +- ...components.avatar_Avatar_Avatars_24_en.png | 4 +- ...components.avatar_Avatar_Avatars_25_en.png | 4 +- ...components.avatar_Avatar_Avatars_26_en.png | 4 +- ...components.avatar_Avatar_Avatars_27_en.png | 4 +- ...components.avatar_Avatar_Avatars_28_en.png | 4 +- ...components.avatar_Avatar_Avatars_29_en.png | 4 +- ...components.avatar_Avatar_Avatars_30_en.png | 4 +- ...components.avatar_Avatar_Avatars_31_en.png | 4 +- ...components.avatar_Avatar_Avatars_33_en.png | 4 +- ...components.avatar_Avatar_Avatars_34_en.png | 4 +- ...components.avatar_Avatar_Avatars_35_en.png | 4 +- ...components.avatar_Avatar_Avatars_36_en.png | 4 +- ...components.avatar_Avatar_Avatars_37_en.png | 4 +- ...components.avatar_Avatar_Avatars_39_en.png | 4 +- ....components.avatar_Avatar_Avatars_3_en.png | 4 +- ...components.avatar_Avatar_Avatars_40_en.png | 4 +- ...components.avatar_Avatar_Avatars_42_en.png | 4 +- ...components.avatar_Avatar_Avatars_43_en.png | 4 +- ...components.avatar_Avatar_Avatars_45_en.png | 4 +- ...components.avatar_Avatar_Avatars_46_en.png | 4 +- ...components.avatar_Avatar_Avatars_48_en.png | 4 +- ...components.avatar_Avatar_Avatars_49_en.png | 4 +- ....components.avatar_Avatar_Avatars_4_en.png | 4 +- ...components.avatar_Avatar_Avatars_51_en.png | 4 +- ...components.avatar_Avatar_Avatars_52_en.png | 2 +- ...components.avatar_Avatar_Avatars_53_en.png | 4 +- ...components.avatar_Avatar_Avatars_54_en.png | 4 +- ...components.avatar_Avatar_Avatars_55_en.png | 4 +- ...components.avatar_Avatar_Avatars_57_en.png | 4 +- ...components.avatar_Avatar_Avatars_58_en.png | 4 +- ...components.avatar_Avatar_Avatars_60_en.png | 4 +- ...components.avatar_Avatar_Avatars_61_en.png | 4 +- ...components.avatar_Avatar_Avatars_63_en.png | 4 +- ...components.avatar_Avatar_Avatars_64_en.png | 4 +- ...components.avatar_Avatar_Avatars_66_en.png | 4 +- ...components.avatar_Avatar_Avatars_67_en.png | 4 +- ...components.avatar_Avatar_Avatars_69_en.png | 4 +- ....components.avatar_Avatar_Avatars_6_en.png | 4 +- ...components.avatar_Avatar_Avatars_70_en.png | 4 +- ...components.avatar_Avatar_Avatars_72_en.png | 4 +- ...components.avatar_Avatar_Avatars_73_en.png | 4 +- ....components.avatar_Avatar_Avatars_7_en.png | 4 +- ....components.avatar_Avatar_Avatars_9_en.png | 4 +- ...ents.avatar_CompositeAvatar_Avatars_en.png | 4 +- ...components.avatar_DmAvatars_Avatars_en.png | 4 +- ...nents.avatar_UserAvatarColors_Day_0_en.png | 4 +- ...nts.avatar_UserAvatarColors_Night_0_en.png | 4 +- ...tion in trailing content_List items_en.png | 4 +- ...nces_PreferenceCategory_Preferences_en.png | 4 +- ...ts.preferences_PreferencePage_Day_0_en.png | 4 +- ....preferences_PreferencePage_Night_0_en.png | 4 +- ...nces_PreferenceTextDark_Preferences_en.png | 4 +- ...ces_PreferenceTextLight_Preferences_en.png | 4 +- ...nceTextWithEndBadgeDark_Preferences_en.png | 4 +- ...ceTextWithEndBadgeLight_Preferences_en.png | 4 +- ...stem.components_BloomInitials_Day_0_en.png | 4 +- ...stem.components_BloomInitials_Day_1_en.png | 4 +- ...stem.components_BloomInitials_Day_2_en.png | 4 +- ...stem.components_BloomInitials_Day_3_en.png | 4 +- ...stem.components_BloomInitials_Day_4_en.png | 4 +- ...stem.components_BloomInitials_Day_5_en.png | 4 +- ...stem.components_BloomInitials_Day_6_en.png | 4 +- ...stem.components_BloomInitials_Day_7_en.png | 4 +- ...em.components_BloomInitials_Night_0_en.png | 4 +- ...em.components_BloomInitials_Night_1_en.png | 4 +- ...em.components_BloomInitials_Night_2_en.png | 4 +- ...em.components_BloomInitials_Night_3_en.png | 4 +- ...em.components_BloomInitials_Night_4_en.png | 4 +- ...em.components_BloomInitials_Night_5_en.png | 4 +- ...em.components_BloomInitials_Night_6_en.png | 4 +- ...em.components_BloomInitials_Night_7_en.png | 4 +- ...ignsystem.icons_IconsCompound_Day_0_en.png | 4 +- ...ignsystem.icons_IconsCompound_Day_1_en.png | 4 +- ...ignsystem.icons_IconsCompound_Day_2_en.png | 4 +- ...ignsystem.icons_IconsCompound_Day_3_en.png | 4 +- ...ignsystem.icons_IconsCompound_Day_4_en.png | 4 +- ...nsystem.icons_IconsCompound_Night_0_en.png | 4 +- ...nsystem.icons_IconsCompound_Night_1_en.png | 4 +- ...nsystem.icons_IconsCompound_Night_2_en.png | 4 +- ...nsystem.icons_IconsCompound_Night_3_en.png | 4 +- ...nsystem.icons_IconsCompound_Night_4_en.png | 4 +- ...mePickerHorizontal_DateTime pickers_en.png | 4 +- ...PickerVerticalDark_DateTime pickers_en.png | 2 +- ...ickerVerticalLight_DateTime pickers_en.png | 4 +- ... only message and ok button_Dialogs_en.png | 4 +- ...og with title and ok button_Dialogs_en.png | 4 +- ...h title, icon and ok button_Dialogs_en.png | 4 +- ...e.components_DropdownMenuItem_Menus_en.png | 4 +- ...stem.theme.components_TextDark_Text_en.png | 4 +- ...components_CheckableResolvedUserRow_en.png | 4 +- ...mponents_CheckableUnresolvedUserRow_en.png | 4 +- ...components_EditableAvatarView_Day_0_en.png | 4 +- ...mponents_EditableAvatarView_Night_0_en.png | 4 +- ...i.components_InviteSenderView_Day_0_en.png | 4 +- ...components_InviteSenderView_Night_0_en.png | 4 +- ...i.components_MatrixUserHeader_Day_0_en.png | 4 +- ...i.components_MatrixUserHeader_Day_1_en.png | 4 +- ...components_MatrixUserHeader_Night_0_en.png | 4 +- ...components_MatrixUserHeader_Night_1_en.png | 4 +- ...x.ui.components_MatrixUserRow_Day_0_en.png | 4 +- ...x.ui.components_MatrixUserRow_Day_1_en.png | 4 +- ...ui.components_MatrixUserRow_Night_0_en.png | 4 +- ...ui.components_MatrixUserRow_Night_1_en.png | 4 +- ...ix.ui.components_SelectedRoom_Day_0_en.png | 4 +- ...ix.ui.components_SelectedRoom_Day_1_en.png | 4 +- ....ui.components_SelectedRoom_Night_0_en.png | 4 +- ....ui.components_SelectedRoom_Night_1_en.png | 4 +- ...ents_SelectedUserCannotRemove_Day_0_en.png | 4 +- ...ts_SelectedUserCannotRemove_Night_0_en.png | 4 +- ...ix.ui.components_SelectedUser_Day_0_en.png | 4 +- ....ui.components_SelectedUser_Night_0_en.png | 4 +- ...mponents_SelectedUsersRowList_Day_0_en.png | 4 +- ...onents_SelectedUsersRowList_Night_0_en.png | 4 +- ...rix.ui.components_UnresolvedUserRow_en.png | 4 +- ...viewer.api.viewer_MediaViewerView_8_en.png | 4 +- ...viewer.api.viewer_MediaViewerView_9_en.png | 4 +- ...rmissions.api_PermissionsView_Day_0_en.png | 4 +- ...rmissions.api_PermissionsView_Day_1_en.png | 4 +- ...rmissions.api_PermissionsView_Day_2_en.png | 4 +- ...rmissions.api_PermissionsView_Day_3_en.png | 4 +- ...issions.api_PermissionsView_Night_0_en.png | 4 +- ...issions.api_PermissionsView_Night_1_en.png | 4 +- ...issions.api_PermissionsView_Night_2_en.png | 4 +- ...issions.api_PermissionsView_Night_3_en.png | 4 +- ...oomselect.impl_RoomSelectView_Day_0_en.png | 4 +- ...oomselect.impl_RoomSelectView_Day_1_en.png | 4 +- ...oomselect.impl_RoomSelectView_Day_2_en.png | 4 +- ...oomselect.impl_RoomSelectView_Day_3_en.png | 4 +- ...oomselect.impl_RoomSelectView_Day_4_en.png | 4 +- ...oomselect.impl_RoomSelectView_Day_5_en.png | 4 +- ...mselect.impl_RoomSelectView_Night_0_en.png | 4 +- ...mselect.impl_RoomSelectView_Night_1_en.png | 4 +- ...mselect.impl_RoomSelectView_Night_2_en.png | 4 +- ...mselect.impl_RoomSelectView_Night_3_en.png | 4 +- ...mselect.impl_RoomSelectView_Night_4_en.png | 4 +- ...mselect.impl_RoomSelectView_Night_5_en.png | 4 +- ...oser_MarkdownTextComposerEdit_Day_0_en.png | 4 +- ...er_MarkdownTextComposerEdit_Night_0_en.png | 4 +- ...textcomposer_TextComposerEdit_Day_0_en.png | 4 +- ...xtcomposer_TextComposerEdit_Night_0_en.png | 4 +- 814 files changed, 1631 insertions(+), 1659 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt index 53547cbdae..85af8ff6e9 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt @@ -394,7 +394,7 @@ private fun MessageSenderInformation( senderAvatar: AvatarData, modifier: Modifier = Modifier ) { - val avatarColors = AvatarColorsProvider.provide(senderAvatar.id, ElementTheme.isLightTheme) + val avatarColors = AvatarColorsProvider.provide(senderAvatar.id) Row(modifier = modifier) { Avatar(senderAvatar) Spacer(modifier = Modifier.width(4.dp)) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7101ccb37b..a5f917f25d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -152,7 +152,7 @@ coil = { module = "io.coil-kt:coil", version.ref = "coil" } coil_compose = { module = "io.coil-kt:coil-compose", version.ref = "coil" } coil_gif = { module = "io.coil-kt:coil-gif", version.ref = "coil" } coil_test = { module = "io.coil-kt:coil-test", version.ref = "coil" } -compound = { module = "io.element.android:compound-android", version = "0.0.7" } +compound = { module = "io.element.android:compound-android", version = "0.1.0" } datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "datetime" } serialization_json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "serialization_json" } kotlinx_collections_immutable = "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.7" diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/colors/AvatarColorsProvider.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/colors/AvatarColorsProvider.kt index 18b48893aa..5b40e09395 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/colors/AvatarColorsProvider.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/colors/AvatarColorsProvider.kt @@ -7,41 +7,19 @@ package io.element.android.libraries.designsystem.colors -import androidx.collection.LruCache +import androidx.compose.runtime.Composable import io.element.android.compound.theme.AvatarColors -import io.element.android.compound.theme.avatarColorsDark -import io.element.android.compound.theme.avatarColorsLight +import io.element.android.compound.theme.avatarColors object AvatarColorsProvider { - private val cache = LruCache(200) - private var currentThemeIsLight = true - - fun provide(id: String, isLightTheme: Boolean): AvatarColors { - if (currentThemeIsLight != isLightTheme) { - currentThemeIsLight = isLightTheme - cache.evictAll() - } - val valueFromCache = cache.get(id) - return if (valueFromCache != null) { - valueFromCache - } else { - val colors = avatarColors(id, isLightTheme) - cache.put(id, colors) - colors - } - } - - private fun avatarColors(id: String, isLightTheme: Boolean): AvatarColors { - val hash = id.toHash() - val colors = if (isLightTheme) { - avatarColorsLight[hash] - } else { - avatarColorsDark[hash] + @Composable + fun provide(id: String): AvatarColors { + return avatarColors().let { colors -> + colors[id.toHash(colors.size)] } - return colors } } -internal fun String.toHash(): Int { - return toList().sumOf { it.code } % avatarColorsLight.size +internal fun String.toHash(maxSize: Int): Int { + return toList().sumOf { it.code } % maxSize } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/Bloom.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/Bloom.kt index ac8c1389d6..0e26882f4e 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/Bloom.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/Bloom.kt @@ -364,7 +364,7 @@ fun Modifier.avatarBloom( ) } else { // There is no URL so we'll generate an avatar with the initials and use that as the bloom source - val avatarColors = AvatarColorsProvider.provide(avatarData.id, ElementTheme.isLightTheme) + val avatarColors = AvatarColorsProvider.provide(avatarData.id) val initialsBitmap = initialsBitmap( width = BloomDefaults.ENCODE_SIZE_PX.toDp(), height = BloomDefaults.ENCODE_SIZE_PX.toDp(), @@ -538,7 +538,7 @@ class InitialsColorIntProvider : PreviewParameterProvider { @ShowkaseComposable(group = PreviewGroup.Bloom) internal fun BloomInitialsPreview(@PreviewParameter(InitialsColorIntProvider::class) color: Int) { ElementPreview { - val avatarColors = AvatarColorsProvider.provide("$color", ElementTheme.isLightTheme) + val avatarColors = AvatarColorsProvider.provide("$color") val bitmap = initialsBitmap(text = "F", backgroundColor = avatarColors.background, textColor = avatarColors.foreground) val hash = BlurHash.encode( bitmap = bitmap.asAndroidBitmap(), diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt index 21e6fbb176..f046faafec 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/Avatar.kt @@ -115,7 +115,7 @@ private fun InitialsAvatar( forcedAvatarSize: Dp?, modifier: Modifier = Modifier, ) { - val avatarColors = AvatarColorsProvider.provide(avatarData.id, ElementTheme.isLightTheme) + val avatarColors = AvatarColorsProvider.provide(avatarData.id) Box( modifier.background(color = avatarColors.background) ) { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/UserAvatarPreview.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/UserAvatarPreview.kt index c8fb54f9ed..fe338fb949 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/UserAvatarPreview.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/UserAvatarPreview.kt @@ -15,7 +15,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp -import io.element.android.compound.theme.avatarColorsLight +import io.element.android.compound.theme.avatarColors import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Text @@ -27,7 +27,7 @@ internal fun UserAvatarColorsPreview() = ElementPreview { modifier = Modifier.padding(8.dp), verticalArrangement = Arrangement.spacedBy(8.dp), ) { - repeat(avatarColorsLight.size) { + repeat(avatarColors().size) { Row( horizontalArrangement = Arrangement.spacedBy(8.dp), verticalAlignment = Alignment.CenterVertically, diff --git a/libraries/designsystem/src/test/kotlin/io/element/android/libraries/designsystem/colors/AvatarColorsTest.kt b/libraries/designsystem/src/test/kotlin/io/element/android/libraries/designsystem/colors/AvatarColorsTest.kt index 358583493c..4f74d2c8f0 100644 --- a/libraries/designsystem/src/test/kotlin/io/element/android/libraries/designsystem/colors/AvatarColorsTest.kt +++ b/libraries/designsystem/src/test/kotlin/io/element/android/libraries/designsystem/colors/AvatarColorsTest.kt @@ -8,32 +8,26 @@ package io.element.android.libraries.designsystem.colors import com.google.common.truth.Truth.assertThat -import io.element.android.compound.theme.avatarColorsDark -import io.element.android.compound.theme.avatarColorsLight import org.junit.Test class AvatarColorsTest { - @Test - fun `ensure the size of the avatar color are equal for light and dark theme`() { - assertThat(avatarColorsDark.size).isEqualTo(avatarColorsLight.size) - } - + private val maxSize = 6 @Test fun `compute string hash`() { - assertThat("@alice:domain.org".toHash()).isEqualTo(6) - assertThat("@bob:domain.org".toHash()).isEqualTo(3) - assertThat("@charlie:domain.org".toHash()).isEqualTo(0) + assertThat("@alice:domain.org".toHash(maxSize)).isEqualTo(0) + assertThat("@bob:domain.org".toHash(maxSize)).isEqualTo(1) + assertThat("@charlie:domain.org".toHash(maxSize)).isEqualTo(2) } @Test fun `compute string hash reverse`() { - assertThat("0".toHash()).isEqualTo(0) - assertThat("1".toHash()).isEqualTo(1) - assertThat("2".toHash()).isEqualTo(2) - assertThat("3".toHash()).isEqualTo(3) - assertThat("4".toHash()).isEqualTo(4) - assertThat("5".toHash()).isEqualTo(5) - assertThat("6".toHash()).isEqualTo(6) - assertThat("7".toHash()).isEqualTo(7) + assertThat("0".toHash(maxSize)).isEqualTo(0) + assertThat("1".toHash(maxSize)).isEqualTo(1) + assertThat("2".toHash(maxSize)).isEqualTo(2) + assertThat("3".toHash(maxSize)).isEqualTo(3) + assertThat("4".toHash(maxSize)).isEqualTo(4) + assertThat("5".toHash(maxSize)).isEqualTo(5) + assertThat("6".toHash(maxSize)).isEqualTo(0) + assertThat("7".toHash(maxSize)).isEqualTo(1) } } diff --git a/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_2_en.png index b6d6043eec..84421233ce 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:92c0b21d5de4540e7b3b784d18531cdf428bd0c9f13bdd445f811d6df73ef50b -size 36779 +oid sha256:8e983d87a736b6cb2056a3cc28a527c35fad1c047a7820029672729726dfc634 +size 36783 diff --git a/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_2_en.png index b55e96be98..72c699b462 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.loggedin_LoggedInView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9613aed2c45f172c7afec90e6205cba7f6112c6108d577c5377e5c3b07720426 -size 34664 +oid sha256:7de91dc89a7049f4a806d67e0053522cd0bb35a49ae6bc69ce8ee9f3df9e5e45 +size 34632 diff --git a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_0_en.png index 3136e8b347..f5946367a6 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30efa4ef62ce38f3599c1a6f2a99c9a36e5704a70c99d83670b5f2169a8648f3 -size 8378 +oid sha256:846bef7dc54b4d051bc0cd6ea90d66ba406a11d7dda36455dbdf3ee74aab2aae +size 8379 diff --git a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_1_en.png index 6359c66fe2..ff61016e0f 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e3c97dbafc4e1e74be95014f9e4f4e10f9b6516d98e89a149791d61c2e1c5ddf -size 10484 +oid sha256:6baed152f58ed5335d559b7e6bc78867147ddd0b8df63e1881875caf0c10f470 +size 10486 diff --git a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_0_en.png index 3e42a56106..caf3fff19f 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a1a5ca1ae30e3b1c4c2b242b3527a3c09b09acb415ad11333ad4b1f07182cbed -size 8005 +oid sha256:a9d7f9f3ba4857862530f0f278186dfbaa347d589abca7e2baf5142b2740ede4 +size 7999 diff --git a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_1_en.png index 5596ef7587..c0b845825a 100644 --- a/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/appnav.room.joined_LoadingRoomNodeView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eae95926adb295182d13dbbebcf1650ab1bf816a9d5edeb908cbd8683fec0c66 -size 10031 +oid sha256:813cedb8cb525406a5d475a8b431bc94888f5952009e28f71f983a03198227db +size 10028 diff --git a/tests/uitests/src/test/snapshots/images/features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en.png index b0f259bd1f..09fae9b1c4 100644 --- a/tests/uitests/src/test/snapshots/images/features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c4d0516853a94214e6d1b6bec1ea6cc4c3d6652e53ab9f148464c22b9ad964e -size 21733 +oid sha256:c7694f4763e3665735ff147716028f998d5e58e77a1f33c52c427dae9e5648ad +size 21736 diff --git a/tests/uitests/src/test/snapshots/images/features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en.png index f20e7c2600..3e1384e1b5 100644 --- a/tests/uitests/src/test/snapshots/images/features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dedc5b63b1138e579d227d1f910a54f302bd452c0f10f4df4818aa12b6be04b7 +oid sha256:8dd60978c551d540c5ecaa4ea5ef82b59a77894b64dfabce4d78a33314b05bc9 size 21253 diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png index e6802cda74..6c16c57faf 100644 --- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:925dc31415feddb28616043aaeadc5e18ad5b329ad7414ca5da69c772dd34e5b -size 14528 +oid sha256:5480b1c7a3244e0c702f6623f736bfc76560843a8eba8c118a1560954414b4f4 +size 14560 diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png index 7ee5d7e4f3..516828ebf9 100644 --- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:546837f4f7021f4e05d3d10e953ef09a9fb7f7dc136a8d48dae24690a6877e4a -size 13366 +oid sha256:548c1d91bfee3a9fe22e881d61c469369885f51f80e267ce9e16c6f4501948fe +size 13372 diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_IncomingCallScreen_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_IncomingCallScreen_Day_0_en.png index 85e6cc4f6f..f89ae4e977 100644 --- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_IncomingCallScreen_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_IncomingCallScreen_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52ba9c146f9ceee768b971bee87c7db41321684c77727669acf38e9c32698f96 -size 65711 +oid sha256:686ef0bf0a5813e09f1afd7824d5aa909c914bebe553d03955a869673e8f9e16 +size 66270 diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_IncomingCallScreen_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_IncomingCallScreen_Night_0_en.png index 6920a3fd65..29b78b707e 100644 --- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_IncomingCallScreen_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_IncomingCallScreen_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7d4019a436d20847db4e2e2b35f96d143790056b867d40dcdc93fe4af33c7f77 -size 59021 +oid sha256:c8f9f67b6bd11de3983dfdd76c3a72ceaf8d920daebb5e4e749bb74ab5d95dfa +size 58396 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_0_en.png index 055b27a914..a11e325c3a 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03ba790d4cb5727100f3691cb990cb7597f6bf22b4ed907575e18eb19949e83d -size 13820 +oid sha256:f15537d0a4cbfb012996f5043f43dc5ea5e769b2404968ac4ea60eda8a522f85 +size 13813 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_1_en.png index 82537fe10e..3fcc111b62 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8fc5788b6dc4a5692016bd4bbbfbc774df3bf6c5f05fa3959d06dc610b0ef9ad -size 25193 +oid sha256:2c1a4c2d228441f59a2a13064fe2937778a9f3262f6fd843ad03cf09d89e5442 +size 24715 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_2_en.png index 61ea71d5bd..b120267f45 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c0b3d8fad9f380b92988770e267f3305e50c4d3d4ad529fac88920662ed7fee -size 78347 +oid sha256:9a0a3b1be08dd65f0327e6a8f5f6887ba84e92210396b67fbc0e06476c85083a +size 77369 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_3_en.png index ca218f7913..b77917a3f0 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b27a27ba2adcb73e1b9fd2b3a7f2a688304ba1edef0891f12135d89d08393d3 -size 42467 +oid sha256:118369cac5ffffbda03faa41c4a3fb26e4014757e86fa9b31871e18dfb312b3e +size 42073 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_0_en.png index e392462a06..135d85a924 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:60ca54021052460a08180b5a897b5bc3dba7d806b1d1cda91c7dda935380cc2f -size 13032 +oid sha256:5f3fe0798aae566b768bbe7090526afdb448a6f73966afa8d9c7ccda0e82f9b7 +size 12995 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_1_en.png index de5b5d1954..de6b1b1a8a 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0927c6355423e3fa395a24d23aa2e02aefe2098663c497d1f5ef629004f367e0 -size 24816 +oid sha256:0f93dfabe9b0e3737c870e710dc10f619959977fb74873bdbb2d9646ef08c593 +size 24914 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_2_en.png index 5e3c1449c4..c991b0b58b 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1fc9668298a70320639c0202eff2cc74e94e85f01699e405ef21dc8a4a9f0cec -size 77858 +oid sha256:e9b6a5050fc2dea2b38e1aef137854c738f7308cf08f4aad461dbe2de226b3e8 +size 78216 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_3_en.png index b71df742b6..2f0cd1e72f 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.addpeople_AddPeopleView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e0176c1fc074ab44158bb885d37c3419c3e20ce9f2f8dff72bb9b93999ef3cf -size 41756 +oid sha256:9a5c2e713849c912004275c4c61256ffdf99388bff9da97b40732090295104e3 +size 42081 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_SearchMultipleUsersResultItem_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_SearchMultipleUsersResultItem_en.png index 83a67b4c5b..fccb09b40e 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_SearchMultipleUsersResultItem_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_SearchMultipleUsersResultItem_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dee9312df0f4c4599b3126f2d1786878f239450c97ecee6d3893a451a8e716b3 -size 82702 +oid sha256:7714bcbe7a5535390328282aa7aacbe6d0155c7ec7273ab1a08be7fd56798269 +size 82386 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_SearchSingleUserResultItem_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_SearchSingleUserResultItem_en.png index 2be1cff0f5..7f83990532 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_SearchSingleUserResultItem_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_SearchSingleUserResultItem_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4317282477a1c71ea8fc5a3ea4f53535ca3eecdb11328aeef7c4e8786dc9d768 -size 42786 +oid sha256:3aabc27a2531ecd79a01de70cbb149ff4c77fb9d37f3cefd5727a083c3edf455 +size 42712 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_1_en.png index 725df3d50d..866076f13a 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a6863f9a83b2c260e4eb31687b77f580dce748da1a7bcf299d87704c2600f21 -size 21210 +oid sha256:9099e2ab73d1aae490189f4682dd5c215e47085affe750890d0d84f203c403ab +size 20579 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_5_en.png index c03a2b68ac..c562f2cabd 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a7b4a8c5c869a75014b6de75e470ab8daab828d1f2bd829e62ae290f6310304c -size 38958 +oid sha256:f49822ac3f9a328dcbc9747e49ab3b3af74de42f81f833640232199d85d8d961 +size 38428 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_6_en.png index 40900a983f..32022961c5 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1dc86682acc7b8a5738e84628e2bd3f99531e420140b36596e41274b281fec45 -size 52884 +oid sha256:ad11252f9d054c05c52d126c2dd7656c787bf2c4bc76dabb6815c2030abffe82 +size 51881 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_9_en.png index 8ab989a4f5..7dcfba5ddc 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52bd56cdb68e8458d6929abf3bbe241febc0016e32f73f2f04c2ead8c14c182c -size 38174 +oid sha256:2699ae8a9f69d336f20d2376012526a36394495027d3d277061c5d55359ba587 +size 37761 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_1_en.png index a7d4d55b60..83d7b3c603 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8776c06af81d6b1a55299b43c42c0bacecd51fc129e197609f5b235071a354f9 -size 20950 +oid sha256:759c6edb5f0742fbbb3ed48ac2d88b40e3d5e0c24a396b2250c56392653e6b63 +size 21018 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_5_en.png index 78369fbf43..5ed5ad8a29 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52b4ba2f07dcc40a4968d76b3b371b9ed1121be5711b7a7f2d3fc2ea0f423d9e -size 38901 +oid sha256:ed09d7879d10d22bc90bf0757bc649436f90428347cc8df2780c05e4c1c95fe5 +size 39183 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_6_en.png index 5d9ae0dbee..ffab27786d 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ef2650a0caaa85a7a7868282135f83f34fe8a8c8e69359db124102aac0e9f070 -size 52898 +oid sha256:a53dddddd8774b9c02beb6daab0111ad62f8e28863815a45be12d1bb0dbec9e8 +size 53254 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_9_en.png index a3b57d5b44..4811773d17 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_UserListView_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6619e721864f5486478cc312cda595c713cb46245c54dd63195337c04281274b -size 37523 +oid sha256:dd6eac503164cafe15fe7d7d668fb0ab82eb81324b2bf1de3b1230e945083830 +size 37892 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en.png index 93b68f0031..b4ef8271b1 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5b6b5c23c80a761cf7d568d33a07358ae521692448612395037836dbb3f2b52 -size 79494 +oid sha256:bbe5493a3482c3b3a163b9491435e5548dbd0994db1a99ed5860954c2b139171 +size 79120 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en.png index 553f3091f1..def0e55ecf 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e082d164a67d95058bcb5bac2607b6f266af8358e6a997d96357f73900de6726 -size 78471 +oid sha256:09a5f2d0d8b25ce4cbbb3881c69df6a7e001413bcc8c541135359d28a4b7af86 +size 78493 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_1_en.png index 98e06f474d..ea896a093d 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7297bdfeec3c126f0ab3f78a58ff6f3ed513199457ca627c189169c88f288fb5 -size 19976 +oid sha256:208e9d9f42a929c0bdb280c4442faf0211f43d3d350c48246b20ca3256a11690 +size 19846 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_2_en.png index 8cebd0a105..beb2aca740 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89a0ec73ef1341dd9cf17daf8c6da5216b55fba2652bb401a054d580513d1605 -size 26443 +oid sha256:5524fdbc6570b90bb1d8296670631259b3fd7b3b8908b7622165d658ac7d1e60 +size 26324 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_3_en.png index cb01792fe6..02d2735fb6 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c472e16f9c784d5554dccca809504949b29e38ad46375eeec42d40647db7e4c -size 48959 +oid sha256:7e8fbff0db3fb8dc996226fcb1b515638be54f7e6fec6de303e86f954037c328 +size 48411 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_1_en.png index 2bc3ef01a6..ac30088346 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:70d89e441fa190cee145e56d9d62f2cda663d9054d038d9402464ced33f46917 -size 18675 +oid sha256:fa26d53e0373f886180c38c7398597737dd808ef98e658a5f98e0fc74f150f36 +size 18764 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_2_en.png index f98a54f125..b8fb57b908 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a76a32b1a81c0668f3e176a029479688f0653b6a2e52f8ebb970e8c67feb68c -size 24696 +oid sha256:d0fc065ed57fc706c81e04fb527ed4ba25deb5b5366d4c67cb902ead6bac83d5 +size 24772 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_3_en.png index c7c6e7ab74..3cd0ea6005 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.root_CreateRoomRootView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f10d5ec05368b70add8ec834f7e2c353c97d044de94b9f554877533ee11a51ec -size 47951 +oid sha256:f0c79e01df12f6784e85fea66c27e2b454b34742db9c666d7c7e3f14d27229e2 +size 48207 diff --git a/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Day_0_en.png index e0748c49c1..8abd4bc712 100644 --- a/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3540f43d9c2b446ddf110e88661334f9b25dc15b200ab3841fd7588aed662a73 -size 68250 +oid sha256:e46d9479220004a152884887df22017c7dd772879653b8a290ac0b31ac1bc50e +size 68356 diff --git a/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Night_0_en.png index 443089750d..a3dc27059a 100644 --- a/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.ftue.impl.notifications_NotificationsOptInView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a07ef1ecaa31561bdeb34160f89fa9d81ff8736e1680f6594aafbc263f1f2178 -size 59543 +oid sha256:0234bac541949142e19cf9f25988ff6afb6f01bbe5c27611b1681a849b220c51 +size 59428 diff --git a/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Day_0_en.png index 38a9d9c906..d0921b0596 100644 --- a/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e2e62c68474d9f814e35c03ba1458a4e4d62f7bc4239f9f719d305e986cd66b -size 260887 +oid sha256:1ce33509fe55cb38d69509bf62115d1a6153cc05f075a6ac4f936b9931a41c0c +size 260888 diff --git a/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Night_0_en.png index 1537271a97..3ce1b0a35a 100644 --- a/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.ftue.impl.welcome_WelcomeView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f7f9ec486a3bdb3a6c27ebfe391577cbf59051870a0161db9bd6f3a62abf042 -size 341417 +oid sha256:6b002b3b64da8a68786fca4493211c4c942d685e1abf77e2c02fba9a299a9432 +size 341411 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_10_en.png index 655bba1cb2..d28af79e36 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd2b534a026cb2c96c90f20eb0154b20672d4eae294c558804898cd927e93585 -size 106258 +oid sha256:916516ede645eaff617b40e6cf50acf2ba1e583827d778d22e9a012fe367fe7a +size 106146 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_2_en.png index eafae21a61..5e59459e90 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:871462d674402649f3cca219f7ffbf2d2f69e2138a325008364480b2072e749c -size 98927 +oid sha256:57fcd25c0dab243b8ce273d38d0c4f36bb3415ac4488d1c6f4189c368899ca76 +size 98786 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_3_en.png index 8fca1f8e7b..a87a8a56f6 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4166ca98b23a3d006ffd8c073ab8329c3a473a15f94410292aec8c6658bcb88a -size 110749 +oid sha256:420a7c957ef0909cc2bf9cd9461af98cdff20fff21dab5df9e94165034ed0dda +size 110641 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_4_en.png index 227b2edbec..98180841e0 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13b38be30391e0f8e2950ba4b5117bb8ab5dfe4e488ec141c793bc89fdf095ae -size 117135 +oid sha256:2b59a279bbd690657950c21aaf5dd536073e95485cf22f737e3080cfbabbdade +size 117054 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_5_en.png index b7822459c6..3fcad9605e 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:994409dbc8d19276190205e9c1cf29791710f0db45a5bad7e8be34d6b1d1845d -size 111250 +oid sha256:3463e70cd08f4d884f8bfafe7d66c5b75ac1fc05bf70cf1478a9f11def071069 +size 111151 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_6_en.png index 96a9c68b6b..ed54a87320 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dce50d01a3af8af3a4bbd60d7dada7d7e4f951d1e8d544d0f9de94e1eb3cb70d -size 118747 +oid sha256:a89fd43e3e373474df355a970ea2dd4d525f554f509c4d34b098151fab9ea6a0 +size 118678 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_9_en.png index ec5d0c08ae..8cb6932f43 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ec2571e7bcbbcb061371bef98c3cf54a67c26c8865d9534916844ec1ba979bc -size 112727 +oid sha256:084e303ed61e399ddbefda7e54cadb69545eb0db9493185aa48a3db7ba69fb04 +size 112515 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_10_en.png index 02b54d0c29..b1833d0459 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13ed33b9e0b040ac1052389728179014984dc765671384e2d7215377a19d8fcc -size 91575 +oid sha256:a9f9d59037ba084e60e6324e066736bc08c0b52319664d67eb84779df6806ce4 +size 91377 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_2_en.png index de823db572..a72228043e 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:808fb1bc209726d3a9a37be2994b9a500ea3641a4e0e3e5456cc729fcf816b46 -size 84456 +oid sha256:2e9618ede3ef8f718c54b3912fbbdadf69182417c4f7cc714a8301a84deaca2f +size 84239 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_3_en.png index 27bb16249f..b1d43106ec 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39fed02fd7b07cf563831fce99052cf750347d5a85e86396a13761f4c0840aff -size 97142 +oid sha256:55dd6915907ebe7c0d3799a54491640582f3fc08c7d8163fb77cfd7820b95ad3 +size 96938 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_4_en.png index f6f3f7ab80..805e3e48ed 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fbb5716f603f93c9ed9d0ce993f4a1a8690debca77f10ad741911f84fdeb8f62 -size 103738 +oid sha256:524cabb4d55590237ffad166d0ebc2fb14dfaef0bfa040916d4f7e727a70bb0a +size 103550 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_5_en.png index dc08dfc6e9..9d57ee0ac2 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6a6c07b7db109f7882e46d9c80b2a4f92ae48cb05fd076d61b3866bcef235335 -size 96607 +oid sha256:b1e7887e1120c852e5a9086dba35fd8e52485d0e285c2e3724687ffa71babd45 +size 96405 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_6_en.png index 9540c611dd..adf5f78145 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4b111c941d7e1cbc812c1fd93e8c23560b3dd8c159396bed331e9e49b3600089 -size 104927 +oid sha256:69bef3b0f9f8cdb315e4bc1a18b82d12c8927fcb389ebf5975db8c254a040a9b +size 104737 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_9_en.png index 996982f837..d979aa4f0d 100644 --- a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba874f73c77d3fed90193d4847c79eaca85a9a0ba4058f76bfa9caa7c8fcf92f -size 99231 +oid sha256:050785374d848e773941d858848e34f5d1753fcdada4dcef548a98eb5e78c31a +size 99409 diff --git a/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Day_2_en.png index 50ace11a6f..c3d3c34397 100644 --- a/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:64d659bf6256febc2fe333e838dada11e5a2336ebb21629eaf45a46537108dee -size 28090 +oid sha256:4bd652f4bb19c81d22a85be1c69c6b98c757ecffba01933dfac098d759e1983b +size 28076 diff --git a/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Night_2_en.png index db9127b4d9..0ade72d0ab 100644 --- a/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.leaveroom.api_LeaveRoomView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:524860dd8702f366161e249db6c7ee7b68e00dbb4a41ce92829d3ce60bffafa5 -size 26235 +oid sha256:d1c17314f16dc0e9087e1c71234c13353b49f54404a1ebd36ab185f753fcfc6f +size 26234 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_0_en.png index 8347b3bf1b..90b948d775 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ebb977417d40a4846b9f6e22f05c95853fecc52cadda31c3a46dadaf970acf9d -size 20088 +oid sha256:bf2b91524b4473d09727fe7d36f49edbedaf37b9b2eec8efa3c24ce33acc8324 +size 20087 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_1_en.png index 7683ff4eef..2e6169c50f 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d443be13466d7114b4bb373669a09031e805ed5b8c6a86c61ee4f171cd7b9d9c -size 35291 +oid sha256:9103c7f1229f24d304bb6f27d2815e2c3d8be1e2ad2e3f456fb3a61468b5fb13 +size 35300 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_2_en.png index 58522aa280..96169cb023 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f2ab79facdd2d9d04823bce914119eef9309e7d3c7792b0b47299e598a5729f -size 33569 +oid sha256:eaf6158448321441b2f26b5ee33e25175bf98cd06c0ff07c9e0f470395f4c963 +size 33546 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_3_en.png index 8347b3bf1b..90b948d775 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ebb977417d40a4846b9f6e22f05c95853fecc52cadda31c3a46dadaf970acf9d -size 20088 +oid sha256:bf2b91524b4473d09727fe7d36f49edbedaf37b9b2eec8efa3c24ce33acc8324 +size 20087 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_4_en.png index 5dab9f57c0..9a23f07aa8 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fad76d0fe41bb115470e9c1e52600e2a8353e4bbe793bec08379d146c8413f07 -size 20168 +oid sha256:2a8343cdc53c5dffb3bc2de981f83181978658bcf669bf0cd05e57976f439d88 +size 20176 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_0_en.png index 03aebae7d3..a2d5607418 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a859ab843e16b205378cc720053ea5430bf180474261b7b8b1b3b8661e3f6ff2 -size 19494 +oid sha256:1db0d3d9f43d11fcac7f9d1594a3a6fe8464927722734c922b1ae7422c76cac0 +size 19492 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_1_en.png index 2651231b00..6f7cdaf85d 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f0b4861dc1df6fbb2b89886c36e9cc92a5d2d147d0ef07ab5b3d6eb9a47b37a4 -size 33149 +oid sha256:87e47d7855948254f9ce554a014fe542f9850d3f7afa3522e4319a578481af0e +size 33141 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_2_en.png index 29608992f3..ea2a4c7382 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58c7bfac89b9d0989443c0298638cb3dcf690b9f07ba133d5b45f5f2541f2454 -size 31755 +oid sha256:45cc940472481624a26bffba0666c7e065436fc07ffb25c0b02ab6b64e0b5f94 +size 31747 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_3_en.png index 03aebae7d3..a2d5607418 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a859ab843e16b205378cc720053ea5430bf180474261b7b8b1b3b8661e3f6ff2 -size 19494 +oid sha256:1db0d3d9f43d11fcac7f9d1594a3a6fe8464927722734c922b1ae7422c76cac0 +size 19492 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_4_en.png index 6b0bbba03c..ebd357c68b 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.send_SendLocationView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dc06fd37d4bcb88021bfe1db06131b77a0ed1569395851167ebc765d26245f41 -size 19702 +oid sha256:b865d001ad470645ca1bca8dd03bf22a02ab221233002ab93b9e65eff8e159aa +size 19703 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_1_en.png index 2d7b4b195a..89f58331d0 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4e51c776dd39f7671b8df3be8b364986a521cbf004a4f89e20dde5d45e24a618 -size 29980 +oid sha256:6006fb4ce02dc2019d8cc23f0e4ca7afa514e79802cbc61f32075ab0daf59f47 +size 29976 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_2_en.png index 6f82407e52..84bb700597 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bcb36100bd15cbd4df401cb17abf7a9ef19cc0e142b0d55de2e68bfd344cf6f3 -size 28316 +oid sha256:b9f8da8e3b17213a914bfb75b862a3219f24886280fac217b9999d97e76c3897 +size 28327 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_1_en.png index 2f9630a789..f0cd351ca1 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3964999f7960ea2275435606661d8d3b84f3a1894f77f7457b327989e6c4ff0a -size 28087 +oid sha256:152ca180534db4396a91171ad8bf1df3bb720d73325655be0949b0681e1180cf +size 28082 diff --git a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_2_en.png index 2617539032..3bd1da689d 100644 --- a/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.location.impl.show_ShowLocationView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b149dfe07fc7fdb260f7e3cca19bc80d3c53c666ef849d43ba274f472fd768c2 -size 26701 +oid sha256:ab188e19a887a01537cb2bd4daccb8e5495cb61396f97e5d3064ffeec1601c0e +size 26694 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en.png index ee60cab3a7..d757a0979b 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:37c53a07a820c8ce549a5cd92b722b9bfc70506bb1c323b4585d16ff405b9a9b -size 30298 +oid sha256:a840a4ea90363427001da16456686257faffd22c188a2be7cb618e30f975b73a +size 30319 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en.png index 8f81a3572f..5388e7e983 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bbbcf6beb89684ca1464af67377cf37c2dd7142b9232343a8dd49a51d441b48c -size 29860 +oid sha256:5cbc4d351d3949fcb52a1d75c59328d012b5477aff18cb1a74f129b3b2e832f3 +size 29876 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en.png index ec6c59c0ea..c142cd4a3d 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f1e2053e6acdae759ed80e257053e926f57888e8889b7a54ef90c59e49c7d948 -size 29742 +oid sha256:51dc16f7bf1a572ab85b6c7e9d47c37468831998afcf2ef84561ec98ab91a43f +size 29758 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en.png index 4edb4d224b..9cce44ab4b 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba9a369781c52b4f6310ce1105a6c742a27687c08db358b70466d858b5000f1b -size 29552 +oid sha256:0357c85f4de58b72aa4e57c8129da71bc5847a27ce03871fe8bf0058099b4217 +size 29547 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en.png index b36b57c29e..b2aa3b9c63 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:431ab531be021c5ccded52ed02a79467b7e51d920f27da2667ef375060c1f288 -size 29239 +oid sha256:e592f4e5da491a5d69bb7fe94d4215a7dce3e6553fec20004eb3f9e44f42d01d +size 29235 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en.png index 241abc7330..9c2fbdd03a 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f202c28167ed82147020275bf04113ff007c9a25d58183a3c61b3f07dd7427ee -size 29126 +oid sha256:8c62bdc7737efaa41d7403881bcbd98f105fe9f5c1a88ead8cd4eedd0a25af7b +size 29120 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en.png index 0a8676148e..60afa2b510 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c31d0c13cef9e3f9df414353f34b4d327df888703bfa0b5d571ce5e75126d108 -size 22487 +oid sha256:f05326f20d8f18a245b1d98ef0f52e33f1a87a525bf0c86ff24107b83e176d39 +size 22479 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en.png index 7232601feb..f41f59a309 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1296a63b38a5af029f218dad65c13123a3e0cbe45d1fb812f3a3004d611c279d -size 21062 +oid sha256:bf4f3145e8eb2f7a9dccd3c9156dd2e8210dc344db40ab9a3a7a43553a5d668f +size 21128 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_6_en.png index cfec8af802..bb0fbac04c 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcae7f1c17aadee8dac1f4ade0eef9d18392e35ea3182e48473413b0035fdbcb -size 30276 +oid sha256:eafe36f938290e0249c3385db3ffac3a8855c9253183a5c799e1378e0fe78442 +size 30291 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_6_en.png index eb0a129aae..2a9231be66 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f9ef27a7f39821bde064f87ad6cc46da671b7570e53aa1fbabbd5efa220a45d6 -size 27620 +oid sha256:09cf2fb5e3f1392aa79fe93d7ac72f62512ee41b2f6669ee7d9140f445560070 +size 27702 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en.png index 49342802b6..79153952e0 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17940c4df3c68862a4aad43c3256914a68c41a78bfccd4d80bbc7a230dab87db -size 47697 +oid sha256:f48292a9f8f3f009fe970b65732c612c42810404191f7ba979d84edbf9b0df84 +size 47684 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en.png index c5715276a3..18ea5fc6d6 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:849469750e472de68db661d09cdf8ae0e7a1c0b8b1b17d52069287a89e183e98 -size 46823 +oid sha256:55a0861f296ad6bc587a50f960f28b75c74859df60008774dfb8087b9cee708b +size 46843 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en.png index 56cf54ff81..ba7e3d8d82 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c28bf56a306d5d1a7baf05a80466d69957767eb3fef0054f4e828b9c993848f -size 36695 +oid sha256:07aaa5e8fa019a3686ea3f497f43d8ebe5f31739d406a002a7df1f550c64492d +size 36697 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en.png index 990a0a9003..eaf8da831a 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90ea4607c4f57ed3ac95306c139ec3d4fa1ee97132e00d6dffcae947e5b2cec2 -size 37817 +oid sha256:976f5a83301587055f2aed75a151f8a3341520bf31de9ca78e7d352f675341e4 +size 37816 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en.png index 14d29793f0..c3b7121e0d 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b3e47580b59d5db5c0537b160cfa6e4974be22c9ce1bd28cc892197227d38413 -size 27217 +oid sha256:c7fe070c9d2eaadf36228e77687e37addf2c7ae02b33cb09c2f7aeb0e89853f6 +size 27215 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en.png index 8837596893..7936e0eb33 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed873af47fd6deb5360e1f8c27231bfcab5ddb2a5c327f6bfb060fbb8acb6723 +oid sha256:2956b24ebf8d5558e266ab14888b0b7c5b5312675a39aff1059090d9ad4c1910 size 35612 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en.png index bfa5f52c98..cd315f7f28 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:23fb3f175f3ddb57e907cd51085d3dda7c93cc832ad29dc4c4aed0600f0ef40c +oid sha256:bdb216fd34daf6335129eb64b259a80ba35dacc297f7df7ed5721a80cd52ca72 size 36802 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en.png index 4d703f75f5..6e79d904e6 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b61ce0a096fd55d2dafd9c65d7c1d715cf033108d5bc05c186d6ad60f7d674cf -size 25267 +oid sha256:25547cb1d08bad6dd0eb9b9a8e1fb2c7c128e8de6d06b8fac757b58b073dc40d +size 25265 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en.png index 47a11d74cf..5873bdab62 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b2ee33a56b15389d03310aae84661aa4d2c07e43a79c07114e9f34b445b24640 -size 42372 +oid sha256:b1a76c6c3e57652e16c3e5fa9168ea24cc16e55806ba972228397146fe0fdbb3 +size 42356 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en.png index 80c623b198..f8d32fb22a 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d57bcd8e91ce517215220752ce2820d2cb7f3bd935a361023aaefe10b97d95fd -size 40054 +oid sha256:b7bc76f3dc71082e683707659aad62e63965e0ceee5845d1a540c976513187ae +size 40079 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en.png index c7b35a3326..ab506ca5ab 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e0a8413bd9cc370fd501f89d4dfa26d820e5e566493de3ce54e8ccb6bacd403a -size 17680 +oid sha256:74dff425b93b177b3f94c370d6a74e3ac6836c97cba8e794599baf06f5de88b1 +size 17677 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en.png index 0e0c453f7d..c9729f7b97 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:593d2e5d5e7c8765bed4634e2c4dbf81e43214886e0b4047325087d45aec2bd8 -size 10087 +oid sha256:3d9ca46546cdf109deba4421f069d0ca89f573302017490c823f23efc7dfb92b +size 10073 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en.png index 90b4448bde..b19d537684 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68d55350c317d480a6899a4ccbe22e30ab753b62560deb5b4c799d641d3a17fc -size 15963 +oid sha256:c18ff180626afc0333072521aaadc489d0f09f09263bc63419ccc7b2bddb2bdb +size 16017 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en.png index ae549af73d..fed8b8afcf 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f37d6bdf66d1902c17b26a894fb5026689e24c83f6df2473a5d3d3ef07f7f6b5 -size 8904 +oid sha256:d7bbf93db2fb48d070ffb570a58b2f36849b6ee8a4b96755c6b25da9b3552908 +size 8953 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png index d935111fb9..68ab880be0 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c39aa8d3c17480057e87f5fbe1a490f2c287726b8223b28fdb3a199670e664a -size 76627 +oid sha256:a6697e9f1eb393eadbb0e8798d015e775db687630a99ae022d2f5f9ed98f63c0 +size 76629 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png index 6e683cf2df..ab9d5ae574 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5676526f71b0e743ae5a9fa174186f07514fcd367a6d1dbd00f6e2c0ca8e3558 -size 74986 +oid sha256:186e522401f5a373ac727311200c731beefff88c1063bf7a81a9061d1f9a2537 +size 74989 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png index 80534b9551..509f9bbf5b 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:db84da9b296e66a1968359da1c80ac546f4851d1f581e5e4d9100f16df4e80fc -size 60534 +oid sha256:9d78c7e4138aeae16248ef7cf64acd69d6ecc5258c0f922a3524c9f00731ce1b +size 60537 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png index af6f62926f..2c11d0356b 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:38b40c707239a37957656212b5b92c519b67a21f1e69d9dd4abfe91b3a8c7924 -size 55147 +oid sha256:59af9b4f6e390612464e8e83a1fbc0657a4bbd8c954c160e10c05bc6d48442fc +size 55191 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png index d97957903f..7b332ec095 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f83cd277b65f86c7f5ad85d92454be4ab8df730078a7fc3f030f17b0b61b10a1 -size 51928 +oid sha256:473a8a96c8f78f152a2bcebee155a8d7b35acaebbb31bb8ae23163bbdfdbfd22 +size 51931 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png index 8e57779361..339206e889 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b1b12d2b3f79c0c941b9b2d376d2d0e8e7684bdcba8b1fffe2d7f025b738678 -size 74846 +oid sha256:0a5f361a14ca58b8fc01218d4ec6f03690ec7c164959bf56f62d42d7636d395d +size 74844 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png index 89f4f18a30..067587b726 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90ada7991629e3f1888aa187425bb90bc525f75aedb5f368c589fbb2fbfe897d -size 73288 +oid sha256:aaaaec73dc7498da2f081e0c04867d194eedf5accaf8f3b3aee8989301d09749 +size 73293 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png index 4cef2b643d..bbae82f1b8 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:685a1e99238808e83a4774bd139c14049f4dfc19dd8bac757207d1e697d9c716 -size 57240 +oid sha256:7aac1755163a1f12fc077e20a07ed5948a944b7cc345da0963516945176501b9 +size 57237 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png index af6eb06dbf..510ffd2f60 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:93c6538ac1c605336df02532ef5dd38bc657414095d0900cefe2da16f10afecd -size 52187 +oid sha256:9264c3aab735dc4546e9a12eb7698ad4572c911489906310044c8a5c65336a56 +size 52219 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png index b25188b298..b70fd7e6a5 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_AccountDeactivationView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8594136f07338d981c1e9e395eb52cd7088af03565397ae416169388d721dca2 -size 48791 +oid sha256:457f431e515a880cf91bfe7678cfb0a6e3b9a62cf368179c06a8bf08c7647ed0 +size 48788 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_1_en.png index 32a224afd0..529cb5a98d 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df37af587f1ffc1e20e6b584091e38ab096ea03f2cab6e3a7e838c26540ff355 -size 37251 +oid sha256:772449038ec36ff05b464a011c1407e7b46afe434edc2e6b39335c6d197b4fa7 +size 37223 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_3_en.png index 32a224afd0..529cb5a98d 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df37af587f1ffc1e20e6b584091e38ab096ea03f2cab6e3a7e838c26540ff355 -size 37251 +oid sha256:772449038ec36ff05b464a011c1407e7b46afe434edc2e6b39335c6d197b4fa7 +size 37223 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_4_en.png index 1508fd4f8d..0447f40ba2 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:942a50f272ad0d2762031227c1637f23f41e353f5afe8547cf91cb7992534f30 -size 23894 +oid sha256:de22224d213f6399bf3e811322d7bcbb5eb8aef57db08b3b048b567db49b23c4 +size 23885 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_5_en.png index 91fe3d524b..674f354fbd 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bf525e951770a091e60756fb4f184b30a3d393865cf7f1ac4225b9bb67106846 -size 17191 +oid sha256:a95faa7a1699adbfa186632e76375709fe7389e7cf441d73c87e4007d7070423 +size 17195 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_8_en.png index 79639643ed..c2862ea220 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07f104c65dcbbd3f6e1744b18e389516f813d13524620d1e0ec6e2b54af476fa -size 33579 +oid sha256:6c724319145e4ce3d2222a3e5c0728aa52b7945ad1f2b902212fdabf5542539f +size 33548 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_9_en.png index 0fc505dafb..12017470e0 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:479b76cfc26f68975462a1115ee3148f416084f749545c8364e6ee720b7bb9ce -size 34503 +oid sha256:b160178e86dc05fb8ed2c39b65e894ce130186af1a9f784d8dfce2cbefc46b94 +size 34470 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_1_en.png index 0571572f73..0c49362420 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87090b82ba29beeb773e9337bb2e5ff4d8800fe53d2f410e99e60205790e6c8b -size 35973 +oid sha256:9e53e6e8cba19c5477bab4382159df0f6947ea04999d57e2722d5f14e370080d +size 35932 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_3_en.png index 0571572f73..0c49362420 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87090b82ba29beeb773e9337bb2e5ff4d8800fe53d2f410e99e60205790e6c8b -size 35973 +oid sha256:9e53e6e8cba19c5477bab4382159df0f6947ea04999d57e2722d5f14e370080d +size 35932 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_4_en.png index 5a7bea3599..f49d3fbc02 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5295018abdc3268a0b5aefc625402099368c1f3061eb2d45c50422c11c0b115a -size 21850 +oid sha256:965592b3ffcca5ad0f26c5d1091667586404ead863a342486d8eec758b56fda2 +size 21910 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_5_en.png index e9c0eb651e..e367803f60 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:04b0c48532199a84ea66a8126093840291e562eb2c5a82cc62461bc7d2f058fa -size 15762 +oid sha256:7ac1998c5803c9a88013871354e1840e1004cc91ad96de443ffa9b78f6a92298 +size 15837 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_8_en.png index 555795ad61..fdca0df7fc 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f64aeaef55e3ac4290124eb4b42590aa598d52a0b3828b4481584d5e12098640 -size 32600 +oid sha256:1186164d5ad6badf0427a9f5225074f8901b7e5d985f3aa220f13fdeab61bfa1 +size 32580 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_9_en.png index c9ac5c93a5..268495d87a 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee196494353ba6c675efb3caff715ae1cc593a39b197e67df95faebd6d34da99 -size 33528 +oid sha256:9d4efdc68ec5dd1acee35e387cfb5542068724722054aabdcd58a04beb0d8de0 +size 33504 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_10_en.png index ae1f2056dc..102de3524f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa83541d31d842a2d89beaf5effd07a7c0326f492d780d4390914ec973755a46 -size 31773 +oid sha256:ab41e6b8fe6c235a4915d88a3d42e29cc84678a2b41bafbe38f55111632d1eec +size 31740 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_11_en.png index 2a383f511b..51af3e4480 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dfd9526209bdb36863765802036b08a4a61ae8035afed4f47b262d521d8bd37d -size 45145 +oid sha256:2fb57605dad290919daa4c331442d69651e26db88235f77e4912ffb9631a36c0 +size 45151 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png index aad99c4b83..87c7906ea2 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:67210d5b8bba63c7c18013967fba0ffe92b1263733f66f26f864c6b52d73783a -size 46864 +oid sha256:baadc64d3b4f9464bc6063cc9cc10adfa256d25308c83f647e508f42fd45ef1c +size 46852 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_2_en.png index 401cb28ba9..0d058f0639 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d4e293e2afd6fefe3511358d43579e7dca452d515f9b0d9a0213a76cbf648916 -size 39629 +oid sha256:1009af703a11348dac63dc071333e077f4bba76c73bd64bf9e532381c7607c1d +size 39624 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_3_en.png index 6f27982ae2..518d669991 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3e623190906f0886f8795b859d16aa056f2183c8ec40cb4d1815ac78cbbda86 -size 42408 +oid sha256:c13e631e41cafa49321988065bedff6081fbc4aa99d9cb3a32b4d860888c7535 +size 42412 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_4_en.png index 1641f71d40..74dc1f4978 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a2d83deb53fbd0ebee942141b7aa36ad570badfedf1d9b2dcd5771ab5219f69 -size 40675 +oid sha256:d3843655f4b2f55b5eb2cdb014e1ca03f9570e312e725fe074a5191e0350c079 +size 40677 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_5_en.png index 205cf1f508..5a2491caa4 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c324e7e4231ac2e7b89306fa5624ff7f1c421ae080796589e170e6d65596ce90 -size 40284 +oid sha256:ce1c3d6c04316fd9f43b86edb04ba209eb6df450f40438f98b8503fb116d4ea4 +size 40271 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_6_en.png index ce4ec6f199..eb710cb8ef 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dff8514a90ac686873ed27fee63928077d64104c8f710c40a4b2d122c623bab6 -size 40962 +oid sha256:4839112543c6ab57848c1dd30440b12703da1a35a6457bf9fa5f5aabd1dd08b9 +size 40963 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_7_en.png index 936fb5d702..a4293ee744 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f9c4d8ef856f8154f691a755089fb1644906f131455c925d216461d278f5e6d6 -size 41616 +oid sha256:41528c85820cbe666c719536022fb52ce510055c8c8ef3f1ce36da32731f0a0b +size 41615 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_8_en.png index 89ae9abf9d..8a828912e4 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ff1ee625e56340bb881090431cea00e5245025f3cdeef6c1a7b43f75a81818d -size 41475 +oid sha256:ac14f7921bedaf7135655775b524fde596120d6ea9b708ba5653b3805f567067 +size 41469 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_9_en.png index e962bfd279..1adcf8bbaa 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03094669e7ac64574c98cc6b4ba40b822227748d250f373c02576e14dac2116a -size 30859 +oid sha256:ce9244eb3b531a4c2816a32c8f806476cd0776f6394f32cebcb82f8a48cd64d7 +size 30837 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_10_en.png index 72d985a6c5..46e42eb390 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4b596f949633afa94b6f734ae4fbe57afac74f9cfae0dbb979c55e13b3fdc046 -size 30808 +oid sha256:4aa886aa0f70c7c85fc25e9366792bd6e2c9e1a9b6c8864282834d9f72b3fcb2 +size 30809 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_11_en.png index 2d2c2ad36d..0c6ae9106a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b82542b62c8a35c59f96c1b348a62f71de0d1302550458f11581ddec65b2172 -size 44342 +oid sha256:756255463c3747888878fef57ec4c3204075993d3fb5bdaf3d1bbe436648862c +size 44345 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png index 3ec416c537..30c644a80b 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f3dea9d5bd54cd6342a6d243760e383e39db8998a0caa25fb3dfb0547789efbe +oid sha256:2bdc999259dabe20157611f27925d6f0c8f9f77eebc1914fa8f793b62aa8c299 size 45864 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_2_en.png index cc21de71be..bbf069a81c 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad79fcd917c9162fcfc75bb4b69b05a232ed95e6a521ceab67f300a68641e067 +oid sha256:ffb565c4d790e24a2f395b12d8dbbfa1ba4abadd7cf9951deae049696e04b206 size 38843 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_3_en.png index 52dc809486..59f8a02c54 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dd959332edd7beab342728deb78521ed9055088c32c3c53844a27077b26d110a -size 41574 +oid sha256:35988d035ddf2eea2463586024703fc630f996c6e03a232fc65196ab5186b89a +size 41582 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_4_en.png index 442995aa53..201ce10bc6 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bcd39540933e6d0d3852e0878e793aafc8567f0f4fefb551f6d029c8d97bb797 -size 39852 +oid sha256:08c6685bec4751c852ce2440c5b3dd006d46b80dfd0f5986a3392278f486e181 +size 39863 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_5_en.png index 3b76de9fb0..d20ad88b3c 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5606c4029f61b44fa1e8bc1bdc55e1afc0c2dcd42db985683e8dfc9142f6464 -size 39508 +oid sha256:04a1cbb1d1e98f87446ad911b61b002e34ceb2725ec24dfd884561d3585b9d83 +size 39518 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_6_en.png index 6ad799dfdb..4113521ddd 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c0e5a9df59ebe88394d62e44fca20125cc3ea5dbb310b668c338b3fd949a513b -size 40118 +oid sha256:d5ba01dbb6e8d1d238fcfdecbd67ee74bf833a3592087ec5ffc24b8ddeb85178 +size 40124 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_7_en.png index d8ab152269..cfb777592f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:55cf64dd8d24eac6688fcefc94cf5d8d0d93c9cef010d0ce6db0c441a5055f32 -size 40767 +oid sha256:dd84e6907dc39e1ad7e6db95d8453aa51e18b14c881499c05a233678fa0e7094 +size 40762 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_8_en.png index 62d5b8a5e2..ec71956322 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03f3777a0c17364e463ba9006b8f45a1f7ca90598fdef7864adbb38061720ed2 -size 40630 +oid sha256:b5c35af3e85d906c6ed24fbb454cf32c7b25f87471e631af8b6ccc1d8465de00 +size 40631 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_9_en.png index aab66a6e21..6d28d9d799 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.actionlist_SheetContent_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bfae4d8c55673dd9a4359eab1c2c9a667a45d7461130ab0244f2a2ce40d387ce -size 29963 +oid sha256:486f9e142212d3864dfb936905feb37421fd4e8c9b5734c5f9ee4f29ec1166f6 +size 29964 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_0_en.png index f055d8e1aa..622f3dc9c1 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c868bffc0ab3ea6c963bef992cc2a3e3c15834eae94b593a2b25b33f2df6628b -size 390522 +oid sha256:3b8b87bd63d1f6febead491dda1cecc0fa9fad0cdca317cf29086fbeec6a9231 +size 390555 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_1_en.png index 4b4e01e554..438fe60e31 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce48284f820e0f3561867dd4d2ee2f79dd625a312eead883578d07068f8a2cfd -size 15194 +oid sha256:6ba4294693123669a24fbdec8093d3c572c639325763c15a1aa53c8f1e4a7659 +size 15230 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_2_en.png index 7fd56f9918..68bbcc5e4c 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:acff11dde81169fe53af0bf00806c4abe8b16a473b89e1d3e58cb627cb844c00 -size 47021 +oid sha256:16c19e5b2a95da604052a86bd3cdb00d4260ee7539d79e8bb96784e2a2920836 +size 47019 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_3_en.png index 493c03bd22..8c3ad63622 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.attachments.preview_AttachmentsView_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e40d1d3073cfb6209f46d58346034b1da8c54ec5cf6ffbfefa30e0fff48657d -size 84748 +oid sha256:a42e8f411d6e54656104cf9472a00713b150ee9978b8bde26b22acd858478bfc +size 84755 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png index db880fffff..a55d34101a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1db0516e8f1028531200b4d4047ac9ab44f4fbd542586373ee1ce700e6af493f -size 56987 +oid sha256:3dd63af2571aa2a5b20cb5dd5211cf1943e7c4c16bc81dc0225e8636c56dd847 +size 56929 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png index 614dd45ffb..df888e33b3 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91d10933faf5c6c207887cb60a0a14d92245864acc31bdb3be0f678d801ea000 -size 55538 +oid sha256:0ca883e1360eafb8bef1523eb87cd0a5756085f323c55f991a01e8a15475bd43 +size 55458 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en.png index 1d3db4da10..d648e7b34a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d27b66d236df0754cc3d138e1c319223feaf1e58e1d0a11841eaec8d33af064f -size 22373 +oid sha256:7d984f18fc4abf9fe56afc74f094aaacfb6926642b37d2d5fc11568707e3f331 +size 22296 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en.png index ddbe055b36..39aed8f6a0 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dbb94e7c3af4ca7c1bb635c314d853d2c8575ca691f515b22a29b0ce72444475 -size 22549 +oid sha256:853541fe1bf56895ed286791d68e13d6f07bd8a5a1fbdaafe5354f10a916f5c0 +size 22620 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en.png index 9a4510b565..c5c0adb2e4 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b7427a78c5cc50e8476cb37458031c39e710ada1f1e9ef453ebb9151089f5927 -size 13052 +oid sha256:95b68579d315a985da5c830fc52aba746a0acae7ef034922099fe735e5850249 +size 13033 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en.png index 558c81c8b7..a2e2ad2032 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7114202a1de9860547c525c0dadc110ce9e2e198465218ac2c33cf65f2f0eaa2 -size 9496 +oid sha256:c26abf1d903b87e7a57ce92add1d9184eba928f4aeed153ca8cdbd1b36edd518 +size 9501 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en.png index 3d77277fec..71627c1041 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e6b5fd9ecc2b01cc8a83f3fe8e34352de1792a82db85c396377a18246adad1a -size 12953 +oid sha256:35f12c5ebb668fd4fa340d6657cc7c758eaac73c7ba758acb5d066009edea422 +size 12943 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en.png index 575d07a9f1..8b88880eae 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:743c950b885f3831034dab99571e19660a608eb8cc93218c939b570c1925e8f7 -size 12926 +oid sha256:08319c4fc0061f86b992357201153a202dd3e0b67d28496ffba44a2a68d73a25 +size 12905 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en.png index 2edb587e53..253ad9cb90 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:868c72733bceb02631f6463e72e86bc13a6638c13f49938dc4d091ec09ba3584 -size 12917 +oid sha256:ee0d5881cd378d19dcaac8d5920bd17c151dc0038552d1a8f8f816297a45c1d3 +size 12895 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en.png index f8259e4e2e..7b9ce68a9e 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d4b9fcd13e378958e64d4e36732b00b659a96ed63395eb5fbeb1648010e1e0c2 -size 13063 +oid sha256:da1830bd06f4dfcef9517b2972f51090b4bac659160beeaa8adbf4af19fca153 +size 13043 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en.png index 791d13d59a..f25c1f7899 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:af3fbce88f905d35c78544c3c6b6b9a685e16c37680585d16ac36a6d6bff937b -size 13081 +oid sha256:9b08a42ab5fb715fc40e49f46f1d20ccd344f30cfba1e040a183da288881e743 +size 13058 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en.png index 68bcc6a968..1862165e0c 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f3b8208ec881ca2138d31faf2f10c15baba0f42c5d74761e67fb83770b18666a -size 12984 +oid sha256:7af8c295872898d5fec145c42d72935981dc2761156893041d8d645fe10def03 +size 12961 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en.png index 7aaa1edefe..e265f5bd9a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e160680201df22c3cefc0ff40a724ec500f2dd69a14f6ac7818cbef909adcc66 -size 12460 +oid sha256:31c95f419e3051b3053136e0bd2164a8bd2f319aa05bdaae40745bbb17386aec +size 12469 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en.png index 625e940b9e..6800b13316 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16658495b889654f152ba80a52111164f9682009b96abf1f3f20e660bd7c2407 -size 9297 +oid sha256:2a2f4ad7969fa39f6c758af4da52b241db5774d8ed5c9f177906a0b460e1a406 +size 9342 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en.png index 3de9e45d12..175cd36d4f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:43651c4a7f10406f1a6a4b995467ba292d4a43bc198dcf352ae2e66694154de2 -size 12340 +oid sha256:ea13db4a7e464584ff8e7581b794f3bd5dbbc6fb30341fc65d1cdfbf90aab813 +size 12353 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en.png index 743791eeaa..ed7696d6ee 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:634006a41aee47e783bd8dcce295aa816f16e8d892f8967debeced863e4cc18b -size 12333 +oid sha256:8806065f1a5db2fa0c4489c9298675914b26820b9f829d0ac97d167af176fa18 +size 12345 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en.png index 7971b5530e..b6815361a1 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9beb00ee8cac55cd598739a89ef30d18631f7624bfc44602e4b3471073530525 -size 12322 +oid sha256:412fae8454f3e96c60e9323fb81077676ac3b45a58a3edd1f561f800e18a2a7c +size 12338 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en.png index 0084beebeb..9f0b9b028e 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:66dd067df10843e6efad2ad031c761f5f2845a0bc0f7f21766e006047ea23cec -size 12462 +oid sha256:1ff23093e8b4b72345ea5d29228e7b6f290b3cd2b84754c09b731c8d168a88e9 +size 12472 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en.png index cbb27dc86c..d51477cc69 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1bb43709935a5f40d1eeb0537713fd481ab50155c0df881ff78a32b6e2c535a7 -size 12469 +oid sha256:773aefd72947b162fce251c2713797fb7bcbe5a23b857570a1c83e1fc4994230 +size 12479 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en.png index b399860a23..eb737ab8c1 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fe13cff71a35eb54701d923d581242279c29311966cf99fae3649d7416a51c23 -size 12393 +oid sha256:cefdbf9ed7be826e1a42f4e58b9ed575915acdcd1665aba883c232b5b1efe979 +size 12405 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en.png index 12d02c7296..54196b6919 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:686b8f1f13927e3c6aecdfdc3e9d174eec97bff28c4bf9f79851f853f58653b4 -size 42677 +oid sha256:3ad96f741491f692e470d175e43ccafa8daf63db12dff3f3f5c1575c2133e6ba +size 42579 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en.png index e26d07dcab..ea89a40bef 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:798e18afce49fbf614bccc815b8a921a69f97cde2585a0727c9e38c555c8e212 -size 41488 +oid sha256:f8d25f4a85ad32798451ae898fbfff1d7efab386621f6df01887d876efe348cf +size 41452 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_0_en.png index f97c155344..f0d070f178 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:772cad24fca0bf90c562e67aca1485b8763f05b586c4ec8d6381832cbf920e6c -size 43781 +oid sha256:85690981c628723b7ae353fe82277967dfda763953d0fca91e2575e3d8d84c25 +size 43788 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_1_en.png index 529c5921a1..dc5c2db4e2 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ca9cd24d763af6170dad5a92629d827ed2fe0108ff03b232e6272d3463c20cfe -size 44995 +oid sha256:d57f594ecf21d414ed0c301b30aa400ad3d04ca4aacae647899ae7550db7521a +size 45012 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_2_en.png index ba32971f1a..25a08ad8a2 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa9c72369a8e38dca4fd169771f52fd23709d40aaec8c2dc24dea7f6098d49ae -size 44533 +oid sha256:f81c06c3cbc14d8f9528a36f46ea9b39510f6eb9b1f93e731d4a182ed2a9dba8 +size 44549 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_3_en.png index 49c732b8bd..17d1bc9b96 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dce39bc89afcdda80f1616d90edd497dc9f2b56fc94b2f8348b5b342fa71a2cc -size 43236 +oid sha256:4fba92eab1bbfc9338db2581f8375c3edf09b3130e7997c1016cf0dcf782284c +size 43209 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_4_en.png index 0174a536e5..43cdcee43a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e04bbbf8271839194a1568dca7ccea7a907d0c08f53e6896fd626866d677860e -size 34286 +oid sha256:fc2bdf0c222a688693e3df942b1c359f0e53799e1a81288f2a04a73bb53929c4 +size 34245 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_5_en.png index ba32971f1a..25a08ad8a2 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa9c72369a8e38dca4fd169771f52fd23709d40aaec8c2dc24dea7f6098d49ae -size 44533 +oid sha256:f81c06c3cbc14d8f9528a36f46ea9b39510f6eb9b1f93e731d4a182ed2a9dba8 +size 44549 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_0_en.png index 7de85d2874..881b25bfc9 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f939249ef3546aa68ef6a2cc4677f57f87e0b8f4ee79a39e100dce7869a1672 -size 42458 +oid sha256:f2801aecec234fa032e060262f030aebbf39cd23c9d4bfa014caddd422e93ffb +size 42482 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_1_en.png index 547aca9d60..379aba6481 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d774ae3030b7fe9021daa8a75934b123038b994b32a7f2a64b860ddee092604f -size 43645 +oid sha256:d0b38c4e39ce03f0fbdcb51425872a3ed096d58b5c16d05ced11bea882053c58 +size 43652 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_2_en.png index ed11165c5a..1de6cb8edc 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcf4d8f0cbc418dc75b7a6ca1662f5edc4a5e9fc0f8473001e6a2b9a5c22c100 -size 43306 +oid sha256:a26fb7c853e0dd27b48a5d9ef247067f6bd8f8668695949be592dca1e54d3634 +size 43311 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_3_en.png index 649164dc86..66366c0610 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e41a6bd9d8c62d90e7c7b4ab367988414c3bcfccc19bd3f1c9605fffe45b6cc -size 42199 +oid sha256:c79d8c292de4b8dab500345a737274d84580f3d8c886652988c004363f975597 +size 42179 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_4_en.png index f3f796496c..272384b9a1 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e9abbaf245719af26a5f8da5d28810ac3e458896975fa15cceaa11caf12ef7bf -size 32069 +oid sha256:02826a3e3870f8c64a91a1ef0662cf2aa17818481e1c1d5f6ac3512eadb614a5 +size 32041 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_5_en.png index ed11165c5a..1de6cb8edc 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.report_ReportMessageView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcf4d8f0cbc418dc75b7a6ca1662f5edc4a5e9fc0f8473001e6a2b9a5c22c100 -size 43306 +oid sha256:a26fb7c853e0dd27b48a5d9ef247067f6bd8f8668695949be592dca1e54d3634 +size 43311 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.reactionsummary_SheetContent_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.reactionsummary_SheetContent_Day_0_en.png index 3fdfe25ad2..d0bf72416c 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.reactionsummary_SheetContent_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.reactionsummary_SheetContent_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9490990c863318390d0f088ff82ad01a688c81cada63d749872b22b633fa12fe -size 23040 +oid sha256:674823bf585f3093fc209469a849000e026b6fdf121c1865268ce66c7e2dac79 +size 23038 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.reactionsummary_SheetContent_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.reactionsummary_SheetContent_Night_0_en.png index 1a24a720d8..ab107a4499 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.reactionsummary_SheetContent_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.reactionsummary_SheetContent_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:730c2c5ab52209366611546dbdbbed62214f6f5e13328be66cce5f08d8f4f0e5 -size 23125 +oid sha256:67cbf2a05aac40cbdcb06095f3473cd89d4284d8330cc05e4cc020312621f066 +size 23107 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en.png index 8f4332c353..75d69f4777 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d3c6c3091c2b57691639009f90c5e81640e784f1041a90a79f89a800ececa354 -size 10895 +oid sha256:050fa3fa32b857b6e08f4e932e51e5ee9332fa0eafbac2e21c1861d342a217bd +size 10955 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en.png index d7ee2e21e0..098d6efc22 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f207e49eef961b107b8b1ed2dc70454e8d0cd12ff5a2fb13c65a5e98848378e -size 16016 +oid sha256:96559668fcdb1f9c1975a76e2c5e65de968e2d71299aec9f6a2ac515adaa9cff +size 16215 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en.png index cdd9ca55c8..341b160495 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c2a7d1b145e3bea75a7d200ba676a9b6e8125681a5190f6fd9c00c2322455d43 -size 21183 +oid sha256:48345222fd13dc64bf868f57505b4ae2b1e6c06a90c835217c68fbb3f2cd408a +size 21342 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en.png index 0950a81688..77bca09d13 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fad7c135c01e581dc535f9adc2be5d8304e80bd130ad713c09cd29554f301856 -size 25832 +oid sha256:58f1e74ed2d1cad37234ec1f037487cac55f127811638d6de86c4375fda55d08 +size 26031 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en.png index fe827d3d47..ec0de4d7d9 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f91f4e9406fa8c916291523982179e236568176e07219589dd9a12c51d247d00 -size 31206 +oid sha256:86f2f3b3d3b3c12422886a7fe0e2917360c2176dfe922426882a2804f8367fb0 +size 31142 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en.png index 50685a2ae6..fee81ad5bb 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87a33c0351588e4cd600718a4acd71863a1595a673010b59357385b16f2e385b -size 10967 +oid sha256:f5e9c431ac176be5549cd8d404fb36970d0e8c9d2d1c55b4bc72014a23806131 +size 11051 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en.png index 8468da0af5..75b6d8ac6a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0edd146dd7a94f6711c01b2401f3f025234e9fbbe2e942a35ef376dc721d64c2 -size 16125 +oid sha256:cbb43b5c5c47f4c0cf52d101ecfcb116e428f4a4e8edebe851b76de5f6ef9518 +size 16110 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en.png index 971994aa41..2e00542751 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6518d4d8fc1ff7b4c9ed0b96769ae734a9b22f672f3a77028f9075590ef01cdf -size 21362 +oid sha256:91da94231ae6d20e448af1d20bd0da9eeb2d4fc534840f35ed5ec928a767ef5f +size 21337 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en.png index 0d45f9dc5e..6c06bc6bd0 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ceb3caf109c4e9524e39cb20f143f998a0bf40a20c5e16008ff817e6c8c8a894 -size 26202 +oid sha256:580f66dde83f45bb13c48a1f650573c77846857d780f500382f3fe0eb04a7c83 +size 26129 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en.png index 726c22592f..177a0beacd 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb68d99aef29424bb5359ba3ce1ed24653ad92ca829766f72ea38260fe781128 -size 31452 +oid sha256:94c9759b7994cb18c0030d639f4c753cace52f041626ce71586e75ba4f5464d0 +size 31508 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_1_en.png index cca4e2f368..36fe671fa5 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d61a9caca31bb8911b89848ce66ae515c5c48abe86f17a34f0f26d91907b2158 -size 4441 +oid sha256:c08f8f356c6223e1473766744451a294bebdf3a57a65ae8439143a15bf5ee56b +size 4436 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_3_en.png index 2db7200e2c..9bf21f63a6 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2343333edd33bddc8b190abbbf82f541f45109c9442c0ff51012c9244692935 -size 4190 +oid sha256:f22ace99315575bed9efd12c986ade0163f1dd17f54bdfed092a599d1a7744c9 +size 4269 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_4_en.png index 6dc9c7cfac..4b798601f7 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cc30ec9a658fe289bb1c5f6d5bcbdd2a0609815c7884f015de256b2392f2e4bd -size 4643 +oid sha256:9f5531f7daa80918993e055d395d6557b8b295321251da11c7a26f3de45f59b8 +size 4765 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_5_en.png index cad57b8fa9..92fb3c5549 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:086898ed96ade2d92879558fbf254dc511fc1272af289a9929dc5ff45a0c12b5 -size 5166 +oid sha256:4d64a3d72b91a4fa7e1cc1fbeac9dba72f017df28d8dc703c12cd3594c6c17a5 +size 5211 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_6_en.png index 6e1dcf2d75..63dbed4872 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9b55dfa032b9010a7726f616b6a4703985ae1596207f90f38c780bd0443c90c -size 5302 +oid sha256:2c9d312265f54ccb11d6c8fbbb4d0a8a776abd2917c101188ad7c9662c1d1216 +size 5362 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_7_en.png index c2c45b11b7..da9364d7de 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a1f1f4d913a55422718ba407c0c00c8b71630c9844fb5b6b453f161754dd867 -size 5497 +oid sha256:0b055dc1d33f92987a2618e6dde6f956b94b7b2949233793682ec3da2cd81753 +size 5553 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_1_en.png index 99c1d73667..70a8d14c74 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2c63dd84bbd65b1b109db7758b674d1e639570cde89677f03943f5668a57e7ab -size 4433 +oid sha256:8a7e31ff4f1aa8c1c66bc362165f3bcde66fee701afa48f95616002b505b498d +size 4425 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_3_en.png index 5e0d8f8d37..7f0ca29240 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:86cdec3cb4079c5d2539e4a5d7a785cd002ad4e99058fb9541693374fd7b4096 -size 4438 +oid sha256:8d8d99b64ebe5928181cdbf12df057e98956b2653de3c88fc946eca4ccb4b858 +size 4350 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_4_en.png index f06f2aa61b..5e588d3663 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3fbd89c73da2021a91a20a899a75ee200c991d3674e94522b8ebaed3098f143 -size 5045 +oid sha256:c60c9d961870ec7c05743df2390b11a5fa634926b3e5d1ac5e5ab58c2f315523 +size 4952 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_5_en.png index daa16a00a1..50705c84a5 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d9f16a96fd58b2d2f2eb9bb6d4350fce755373f192f226cf28aaadf50c0751ba -size 5568 +oid sha256:ec70b8d3428373e615f0b247adf8225a7d209cdeda507a540520f50b36809fc5 +size 5533 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_6_en.png index 82b881345a..d788b40179 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e523de93c432c37c2291eb62ea05787657a04b11838e63f244c91712e1878faa -size 5745 +oid sha256:c28562d538463a6bca6c4fc760320f72da9778b32037da300405b85e59f9ff54 +size 5681 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_7_en.png index d1ec829e31..61674b3de0 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4975eebede15a75c54c032177e77e2fe5f420315731e428cbf594fc95d07fc9c -size 5914 +oid sha256:59307c5f9d40e6abd2d77e048b357e13db769899dc75762fbddc106111979ee6 +size 5848 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en.png index e6a112200f..464ad64ddd 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d58a58b2f8a77b06920d650e2bbb146271ee156f990e4136f534bb94d2ade37a -size 18629 +oid sha256:d2246cd94deba78469805df1a8ba4aa36fafee4179a5d124eb555e7f9408442e +size 18644 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en.png index 8defa9a306..5936fd898b 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1843ef93c9035460bbe0d0d02a9d77ba65c612e9b928885cd08a2d65f930eea6 -size 18494 +oid sha256:029ffeafb441ebc800ba531c927cfa73259a04e06a04724310a0440238442b0e +size 18515 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Day_0_en.png index 44a0cd3ebc..4a4aac9d4a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d145a0a656ed7413706acad82f6191facf0b95d278e1479bc7bd7a58c2320fd6 -size 166325 +oid sha256:5570ff934240912f93649d15032c73619e630aceb357e66e41dce47e9d76f08f +size 166272 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Night_0_en.png index 41d3bf3dae..9b8f4dfece 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d23edda3914cab30ad1dc8260f30ed7cdfe3e88ae2d75a7300361e9e0549a75a -size 165349 +oid sha256:5dd36474e36bf27f1355cf714e0b96a608ce48c21b364bcd928cc342a0df14cb +size 165299 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowLongSenderName_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowLongSenderName_en.png index e4117c5157..b0d8acccdd 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowLongSenderName_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowLongSenderName_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc20de77140c6e906bd6462beee71489bfc9ef183e9de6d7c44fdebebf181ae8 -size 15947 +oid sha256:5ca49a36674d994decb5710a0b969458928f003a0f39b701c1c60afade4f1ae2 +size 15776 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_0_en.png index eaf24eb855..1e1d23d6cf 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5398fc05bd02ed3034961afd0eff0b644e07847ddd3983e4a0d2a9d07af16b2 -size 28772 +oid sha256:928e775b4328cbcdfc8f8c13099fd6a53048deac7a876a0651a772dd854cd02d +size 28576 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_1_en.png index 96065d5b67..9cb993276e 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d2c3f5e55bcad6cf6768b3ce3e204311999bcd0d796304afc45d37c54a2c4ef4 -size 31289 +oid sha256:bcf77a1ddc786a985e4e1e56e553a17c456b8d8d0a13bfa70914ab39a8bd52ef +size 31114 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_2_en.png index 7cdb724e5d..4d0dbd931d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90cbf3f26251ff44503b89176c4bffea38df8f4312536eaa1e525f33c83e4756 -size 30445 +oid sha256:93f6343aa0e76535d28717b12271b8d3b123852d9294b060f766ae0989febbd8 +size 30271 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en.png index f15a9eabed..4c7f4dce27 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b209f1c2a0f4cda9c341096b4cb0aa90e6350d5a031da5a132985fc4dd80dd9 -size 32767 +oid sha256:96ea6176a048b8d47637d96345e7d3f64cfa6f2c0942ee022dafeef080323f66 +size 32592 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en.png index 85bc5a3967..1e01e697ae 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be954f6c72dc4a2180789d70c436bf81577c2d63b3d5d0c1fb8f6387f254f2a5 -size 34151 +oid sha256:a2751b08b35dda3d7b897cc0618964935aa968dc5cf1738e852286e8149c69a2 +size 33958 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_5_en.png index 44349738b0..9678512c21 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:83f31e92c531e650f97e37f4a780dd9edabe152e9b836c59f4cf0d707eb2034c -size 30884 +oid sha256:b7a5a6750213db875928a93c8116618a0194df089658763e570effd7a288b51d +size 30706 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_6_en.png index a520b6ee47..26a6d1ebcc 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:577e1ee2a73e920445001f0a386842b3dc2e66db0b520cff3123b0f05e158c17 -size 30743 +oid sha256:23cb761e3dd47d763d046d53ccc1a1b76b3bc3c53dee6038f2654bc5bd75b111 +size 30571 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_0_en.png index d0f9d1d219..4f781b50e2 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b47c27bf01e2a71b7e037b20db53109b38dedf9fe13507734202c6fc0dc69229 -size 29235 +oid sha256:658f03aa4e13b408243826ff0f1658e354a44402c3b39eabd229e5cf086201df +size 29136 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_1_en.png index 76591201f9..de7dca8600 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b601760cf8904a9e1eed04d762dd1b2c58459bd02a097b9fc58884ca8eced17 -size 31859 +oid sha256:09ba6ac814cd860273d25b4cb47e891e18cea86db33f3a96619c742c6ccd2ae3 +size 31768 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_2_en.png index 4f8a35a68f..7e8efb7399 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c6bd733f8e52718f15c3d2170467be077e9cd86dcb203ec7987b858e33440c9 -size 30678 +oid sha256:67163c484e2a0bce436c6ba04b9201a4d258ef38727c127b65ced0999d2fb579 +size 30575 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en.png index d35514bdf3..ec53631cee 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cfe9a6fb4122acca0bbb92b915ba84e161307ef78ace346bd05d64624fb23463 -size 32985 +oid sha256:1c9fb8c24b7259894d5feee5c82b0d0e43487ce32ec37208bb4adf451988351a +size 32895 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en.png index ca464bbdc4..27ac7d39df 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5b6f9fc3fb82ed73db20b7aab390918296c711a84b4a985c844c8cba7460863a -size 33998 +oid sha256:0748ada58c8868cbd971cc5dd97408ee272c9c6638391fe9c47190facbbd0e76 +size 33894 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_5_en.png index a028fac3ba..f5863c8d04 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:148deb96638007984af850971e5b63021a70a6b628c2725eaa9258cee30153b2 -size 31167 +oid sha256:0a5bc7b480b31995f7828229b6cc70b12688552cd08ed2ffd35e66fca5539101 +size 31076 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_6_en.png index 805206a5f8..feec1017f4 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c2c3e7eeefb657b5cf5d731897858baaba3ef01b5ea82ba0943842867680eb12 -size 30960 +oid sha256:9e4a33d0f86354eb3930c3227f96d4012606cd81609eae76ddfd5d9f7f216ceb +size 30893 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en.png index 9d0cf12a94..348a85cc4a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c9d727972d35cf0739989bcbdb93925df150ba9881bc6a9967f78fcb7781a6b -size 80157 +oid sha256:8a5525a54573e55affde093f036e9d9dcf9313fb545306bb367e3f92cf20b48d +size 80132 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en.png index c3bb055ca7..7492e5284a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:745571bc22e6be1dd24620b9c2e8f9e9c38b06f7bb0cab4c7c07586aee30f790 -size 80546 +oid sha256:e3ba6d9e751b63bc92bbf5198e430f4f5503441de822b669f72c20aec9412e79 +size 80522 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_0_en.png index 79e3ae35bf..5e74e308e2 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:49166fbffa0d70087b8ede16a8e3ff64a6595dc3b669d06de8270e5975dcb345 -size 25584 +oid sha256:7b958e710dbe02df0227d8e911133c2fe1a976f8b473d11d0ff538f26315b756 +size 25544 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_1_en.png index 1ce60f8444..0e52bb6071 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:83daebdb5dffdb9b9ca8d76831e91c4bc96941526c7ac8d5fb0fd9080f3b3569 -size 25052 +oid sha256:4b0a963f8dc72feca1f87ddc504e41b9d7d1d40242f9ead03a82ada4ce41bbea +size 25012 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_2_en.png index afbf7b4ca8..5bfa10ac6d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7b8053ec3f6401b0650a37834cb6e207cbeb0fb257051ec734fcbd3f023ea1b -size 29166 +oid sha256:1950690f0b07d0cdea54f486832e2c89ec7c633d745bc2849185d3e7f14bcf86 +size 29316 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_0_en.png index 82670208cb..461a8e18b6 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6aefba380792a6f123d42c5e28352ea4c9b5fe000e79e17ea984300bdd56137b -size 25133 +oid sha256:ef17d8523647d65cf4ffec14af068d5fec1185e3c6864b45ba66f0fed21860c2 +size 25105 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_1_en.png index 35617cffb2..bc80a4a665 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c7f5ac60e6ac34f1126967231701363c3d3748f51cc5b242ca660cc1a94157e -size 24586 +oid sha256:62ea3fd76c03b02cdc2367faf1b4ff20f5cb88568cabd2da50b37b004afa92ba +size 24552 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_2_en.png index b6e6661e58..72a7a31c3e 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f427b479e6d9c84abdd72bd075aff89dbc6666e5f0ff90631f317fcad776c32 -size 29934 +oid sha256:6eeff40cf2e0457b210a784bd5f73303efaa3356ff650004c6de3b9dc9138c67 +size 29911 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en.png index 7a26d2c196..0008ddcf87 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d8912ccd4045ef458851f50dfa93443c1eb86d550b1aca2bbf5ef9f4b1e95151 -size 149065 +oid sha256:d1574b190a911c47c56e6bed804bc43df35abfb54bf7beb7c2e927fdd2ff7536 +size 149028 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en.png index 13412e0cc3..8b76d2a9da 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d8b105e208da6224d6cceef2d2e383118cc789234cb8fcb8c917fe22d00136af -size 154472 +oid sha256:8d03e48af7b9b231ae2f1a559925548b1867b714835c505031a904f4f033ef64 +size 154441 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en.png index 0724439446..36ef1115e1 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:529c28c65bfd5d2b3e7b2a645a17d846fa98d5ad157ed6b172d4699190cb8842 -size 148797 +oid sha256:2502ede187b87dae2f4dd2a2aca1fbd889fd662aac022d7f491a043e7fdfbec9 +size 148753 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en.png index 8d22da6a5b..8ae3461baf 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb2dbf8932d037ded9ec3ae1d85a124e1406a38e854795931da06d020cf4db24 -size 153945 +oid sha256:ce8393e7b0fe7bc049873002af6c3d476a8efd72872d5de4de3e22daea00bc33 +size 153901 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_0_en.png index 66a8597758..e06bc2bb0f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:017e6c8d9a6109add2ce90934872978ba52a4a779185ab5eb9b62cdccdc20777 -size 134794 +oid sha256:6b26c57ff6d960c53bfe25306529397c5e4f649ab239b3a53ac97161e6b0696d +size 134762 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_1_en.png index 691894fc5d..d8d9bbc201 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:afb6ce67a5eb79a785a1d7912075631c65282248f5ebf50d509d8d3cbe52b3fe -size 144045 +oid sha256:f35c5da381410d573704d51fdecf578986ee413de664367328429e148dba9933 +size 144013 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_0_en.png index 922b91d41e..60e1cd3f01 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e931a42efa3a10a073a145ceb84df0288941f3b44b6cfe91b9c713ff872fc84b -size 134470 +oid sha256:0527b6fee58ee0aee884c9027c56df6056aeded45f732c85fe821d2684fff8b7 +size 134434 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_1_en.png index 4290ebb2ad..e9085203cf 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:482208c50b32077f69502818ba4b7573d9d114d577728f5a51645a5518935db8 -size 142940 +oid sha256:c036d41362553348b7d0e94a375cdcfe8ff25fd6a87d5322265f93347646698c +size 142914 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_0_en.png index 7011f45419..21c0edc885 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ef074da5eb10c11714e5d0f1ef44d672638b6a566cb1019abc28d9ed88e2485 -size 153878 +oid sha256:ec3ceb17cad25bdc7fd400de87fed007652260fdb844f1c94726703d220eec18 +size 153858 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_10_en.png index d22b7d9cf0..de590eacef 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eaf4589b7e029d67909354f83907d431465decbb785be75984e30d15541580de -size 139902 +oid sha256:82e2841a18615cb4111ddbb8d2ad6f224f3925dca7cbaaaa032e8ca3fdc9943b +size 139873 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_11_en.png index a8baf83d7d..b810769eaa 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e44b464b2f437c0f74744b6d29569ade5463b742241f4e059a93d5fc44d2336e -size 151785 +oid sha256:4295f1505656671238f52bc266db484999ce9b54e2c51549d8e6550817a986a3 +size 151754 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_1_en.png index 65ee487f3e..767b7bfe8b 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ffd4cfe759eb35aa1f0c223b8ab6f71cf1242a020c5295c0f07200eeabb050f1 -size 160585 +oid sha256:71a7151373fbe647116cbb45f941f8d2a237208f2ce0b09c159e607a2085a5d7 +size 160534 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_2_en.png index fb0ddf4c19..8843da9418 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aff3e2b548614c883956f4e8649a15b4fd64951998bf5912d903bd3bd709f951 -size 142407 +oid sha256:01d35f90258839990fd145d7705dcc922ee215301025b9190b1d2dabaa54c9d5 +size 142376 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_3_en.png index 8486d86b57..c53f38c882 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dadcc36816177251154e3d30d3e30b6e75984977c48dbcf60cc2f7301db973a7 -size 141043 +oid sha256:2fe6ff541b02a70684ddee8ab23bb5e9ebf5ebbf8894736b502046c457e37af0 +size 141012 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en.png index 1aba7f17b4..8974b868ff 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c845f0f9d1f4dad34b4af7d781cd064f1ab698b986d6b8342a078e6b524748fa -size 148581 +oid sha256:bd7c918de1d5ae1df41f6ecc8f71ff96c4a7e447958b060c846c130d53ca8a28 +size 148543 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_5_en.png index d75eb2d9cb..c8009989ed 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d06ffeac9f9e13a7ed63ac212e0755aab75ba484941be836d863c10060efe9d5 -size 140189 +oid sha256:e47997345500dbde05be43640da93880c4ddbef86c2643e941c0c48a8b2b1333 +size 140148 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_6_en.png index fdaef7125f..9ac562354c 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:082fbb4529fc78bb9cb1b1a1cb58ab4edecd3a77c8ceec9f39e85a1258518039 -size 140933 +oid sha256:6096e1365d2ab4987d5d1d827e4d2fe8d14cb7977fca35a4d7cc7aad157ba639 +size 140904 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_7_en.png index 98278847cd..3b27f79f8f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3bf3f977d112ee4436febdcb2159988d55278a76919fe47fa997bcc288473c58 -size 142619 +oid sha256:b2151e5ad75f2df1358e0717ed73afcc729f1dd83e2c65bd0b4b6a49d58bd5fa +size 142585 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en.png index c6e6877f2f..12cd318e57 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f775fd4967c3acb1fe6f3c0fa6e337178eba38570c9b947b5a937362d5b71198 -size 149037 +oid sha256:31cd37875c57588ee2403ea21dcda0ac35b37bbedc11d249ba0bc836b3cbac76 +size 149014 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_9_en.png index 33209dc785..84061966e9 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4da37bee53f4c686331d2f1224a5316128d1d2f5f4264cb31e401684f473c36b -size 140449 +oid sha256:739b154f1f4cc6432f317f35be43f484d970a30b186da0170edbab61029c9141 +size 140418 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_0_en.png index 4d648e99c2..9caf623da0 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9b834ccaed080e08d7dbaa64890bc4491802866e8c480af784589384b156901 -size 153490 +oid sha256:c58fc185623d5485722b15ff4da898bd67f2de943b829fb4e2822cc672089e18 +size 153446 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_10_en.png index 144bbc1238..7853f51db9 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:72269aa981ef18f8128534e62f2437584578d49aa23b83f413f156f441ea7f25 -size 139313 +oid sha256:6d203450dd2e6a46f79a0358c8babc758f70eed8d3ce0c1d8d24ca09befb6353 +size 139286 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_11_en.png index d697824f96..9a1250bf34 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2c6c83486be3b40d436fbb7ac7cdb7388248cbc87ae90d84d248c2618aceec7 -size 151658 +oid sha256:09fce25d56a9b6591faa7a54b357d35914c5033a53d354600afaf9cf5235ef48 +size 151615 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_1_en.png index f33f54df1d..a8194c7901 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f56349b7f081de78729d6765674b2b6b3fdce558a10f6a23f0d012139281b2e2 -size 159089 +oid sha256:22d7a6274ec746f9c393b0c30a430672214b95488afe4eb34b95788271750d06 +size 159040 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_2_en.png index 0513ad13d1..f05b150164 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec288a6c119edba853f304ff291d1f1da59225ceeaa9f6002e8e76a26c098882 -size 141958 +oid sha256:2f8cfe0b07aeae86800264afd18ff065726bc2ef13d091f903278ea94dd07a4d +size 141923 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_3_en.png index 6eae5d3601..cefd305781 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:424410f165d11323ff05845f8905467d79604a1926cf91b2b9ecc357587f1965 -size 140570 +oid sha256:14ce8cbd856ec966f7c2f6eef97f143012eafb497cf8b44229ca7d626ebc78d7 +size 140541 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en.png index 5351def2b2..a83fd98bd6 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dc8cb9df7191d71fa70d0e0c9fdbb219c38d2152fa8509a82b16a24efbd8a095 -size 148421 +oid sha256:11609976ab2f65de562f2db39e60e0c6d54105823c36ccff3e8976117ecab4eb +size 148378 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_5_en.png index 6bcfcf31e1..b697e0f6d3 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c7c6dc99480090cbe98f70081b1b2c9c568dce2107bb8bbbd9c9831e5bedf637 -size 139648 +oid sha256:b64cb4cadd68db4a6d7de7cf02f9e9a0bb252a20a412e37f4ee46e6062527549 +size 139622 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_6_en.png index 1430deb822..a0e27e3fd8 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30895fbe7c22b770498ae80df58d6ab13fa7cb8dbffab34c126ab1c58083d383 -size 140336 +oid sha256:98fdf3c429ec9b1a49bdfdbbd8d615ef0f7bcd566bda646fc1f45d021bcbca1a +size 140315 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_7_en.png index 2a22b80621..0720ff0498 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa1b0718e16c9fe49ea7fce771c48a1325c79790514059cbbb47336a42cac7e1 -size 142313 +oid sha256:25f4054db92cad3406b148c98cbc639d968e976174a956a89b73c65eaf0c4f07 +size 142279 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en.png index 169af4e0c2..d867aa40a5 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:756267bbda5fa77575b0daaa3f9670767da797d5bc89e17f4c760279d7755d6c -size 148835 +oid sha256:5a0eb3967c5e6a3bde67cbd16a62ab74e2331a699c122a51d1743c9f8b59d69f +size 148797 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_9_en.png index 24c03035a9..2f3709d352 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3dc0f3f512f86b857dc4263d83b1841d54c3735f16ec37c0c5bba294c2b728b8 -size 139826 +oid sha256:d9b85054f616057e3ae37dd4e0cf1870502c841d77d2a005c06eebcfd1517d98 +size 139799 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRow_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRow_Day_0_en.png index 88e12a9f13..c5c0261879 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRow_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRow_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:60517df11b25cd85392a3d1c780896938e4ad1796b0315438b366aa75a2b0d22 -size 184307 +oid sha256:e8595ddd19afc9ba533038fede1d22f4b2f73c339dbcdcfd180039f49ada24b0 +size 184211 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRow_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRow_Night_0_en.png index 2bdec189cb..5f38409082 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRow_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRow_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff13a3abe5738dd00980edb3aef92517be1d653cddd65dc6091188f1a85ef5f9 -size 183664 +oid sha256:843f2ba8f9c4ce1ba229d4e4fc517ee18ed599cdc6b03a165b738eb774e0ba74 +size 183572 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en.png index c0934271eb..63ae407543 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:445597a8b51ccf0a6cc6ef11265e2b42c97b9ce22e0fc02b180fef436403b0be -size 52878 +oid sha256:18ad7597add50647e32a4825538b1c84c2cc6cac1bf804302e10d6fb74891980 +size 52851 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en.png index 3c00a80479..601699d461 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89bc8cece794198bfec338b64f27fed791ee7a44067c92749fb1dd9d7c7242f4 -size 7574 +oid sha256:c40ba76a333adde1f32b628ef3d58278a928d3469528c74f4a65218bb9044027 +size 7707 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en.png index 126a835358..4af432ab1e 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:50eb84778335b07331cc4eaa24ce8c77efa93072fc9e6f0b959dd134ee0f9af8 -size 7920 +oid sha256:3e6348ac9e1b74900165063cf0abf55b174799dfc4939424b193933e7d72d2e1 +size 7857 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en.png index 532a2494e1..2213b2413d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8117b6b0b75f89c56d41d4f113cfd0a9a7a26487535a83431777f38257cc0ad -size 16706 +oid sha256:37d73e9663a9cfa1d3a69892f159ab27a8bc480bf24b64529ca978349d9e2842 +size 16823 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en.png index 8dd4523514..2d8226e1c1 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3c4be8e08e5d21b8f374c234c38f95cbe775cf20c84c5d5c5c243d00cf7abc5b -size 17006 +oid sha256:24184c76715671c2485dac6d6ad0a2caa88bb9881bf2ae256d6c298efeac3846 +size 16876 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemStateEventRow_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemStateEventRow_Day_0_en.png index 99c578a7d8..6ec2751d9b 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemStateEventRow_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemStateEventRow_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87f68593daae93ee1a287215b07c70945f824f4376a115e2627b32c14e60304c -size 6469 +oid sha256:72fc440e21a4a1d66050a4bf8e566b44d07b7b9afa75dea0d6135e55984660d1 +size 6540 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemStateEventRow_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemStateEventRow_Night_0_en.png index 554b206e68..15fc0e1e33 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemStateEventRow_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemStateEventRow_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9238f5901849eab96f9157549f48629c008e64ab6a22ae7f9d26e432c5d03755 -size 6636 +oid sha256:4a4cc9b595b6492bd64a080df464da6212db1f50eaa5742e46e06948eb901548 +size 6550 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en.png index 07a784c077..6f32f236ae 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9283443e77ea4fbe6e9fc2a8df71d041fd7410c6729963571c0e287bb544853a -size 37336 +oid sha256:19c0b06cfaa83e76b816adfe19a82b3d95fde44aa3b65beee2962a41999c5708 +size 37294 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en.png index 45f06a2b8f..a61ce46ff3 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:619fe93a717266ca28789d2e6d4868940b3268c82cd507cf0f91e6ebcf84b80d -size 35165 +oid sha256:6ed5ef667b5c7122be26c643eded534612d6b7f38958e4565981297a24073795 +size 35091 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_0_en.png index f2479a27de..9ee10bf83f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:691e3217c863aa8732a835856d473207e368dc96fa7aa2d74b0bfc7d30019abb -size 50216 +oid sha256:07b56a24b5bd8903c6086b0a5367bb82b97d36aeb9e7cc323e4463448e88d817 +size 50130 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_12_en.png index 80bcd2a71a..515d9bf92c 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f2229f2d050f1158769045587174c3ddbfc1d99e9266a34955e585267151dd5 -size 51679 +oid sha256:9d2f76a3dd81888f2b97a10f61a96ca24fb55d14386940eb4aa1989a1498e25e +size 51618 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_13_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_13_en.png index 7465e27f13..cd0330271b 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9737249aaabc01014efb6d269d3f68470f5f2d8595a5c387b871ddcd4554c4db -size 63479 +oid sha256:290985153d97f2588a37d3cfca87bb7f0e25c0643fb15dffe3fc995f4d0c7741 +size 63387 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_14_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_14_en.png index 1f118dfc15..aa2e39b213 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_14_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_14_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f7942f3c21746787c1b7a8ba0f2d3220905b0a496d6fc7fc203c1e4abfc443a -size 48097 +oid sha256:3519286487e66ebf0857cee55f1b5c0a8804889773f55c68af6406015de96425 +size 47997 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_15_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_15_en.png index 22028b2086..7b0ecaa398 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_15_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_15_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:215cc3cfb8fda9297c1308536a2933c78d6f6f30194be816f16ad4bd57318486 -size 64553 +oid sha256:a26bd749e6dda1f3e3f8f4875f5b764d3cb83c1036a353bb3c947ae1e19183d9 +size 64449 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_16_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_16_en.png index c859982c63..c83e199ef2 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_16_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_16_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2cb80a0e66f3c76251b17628e73afccb233b2774066a9fcadf42e90335505c06 -size 55262 +oid sha256:79266ac1746ef8c14c77954ef5a5c5a7492b0745262334fba6c78fc47211729d +size 55183 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_17_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_17_en.png index aebc7e7d22..7a2dc090d9 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_17_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_17_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:062919eb9e5e24aac4b31d09bc6c0b96bb2485086bb3eabfff245fb9a078cf84 -size 64302 +oid sha256:bf5f019af499ff9124157de1e46071f316b6a68bf67f9e23b756c8490aa392b9 +size 64238 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_1_en.png index 2e2758d0dd..5cfa02c7e4 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f7afc7973ad556af6b1100894a10fa39576676a48e2c7caf7f4c4d2c0a4dbbc -size 71232 +oid sha256:b6853ee78ec79829516310b6cd1b6ddf7375bc0baca390a037f6d212301c8cdc +size 71137 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_4_en.png index 324739cbdf..feb74c4340 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:527d63336a5614a8347cc43b3a2776d5378dd9f1b1172c953f8cd85d5d450d6a -size 70326 +oid sha256:c7119e9a9b531e83bb5d5d21bf6a5e9e61394b0dd56e7faf3f8344928b68f7da +size 70257 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_5_en.png index 9bd31443bc..0276fea74f 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:058fa3fb610620105bbe7be371c785acdf7f32fc588ecb9f7da57685bfc81bc6 -size 85075 +oid sha256:d10bae63e418018bdaa6d8736ea6f3e3bb706b8cd14db9a767ab44f34ad2a8aa +size 84987 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_6_en.png index c837e60da7..0d9123b63d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:743bf4bf9ca677ee7bfa8fa45a8337e19588cdca694a30783c0dd7eb23e63b8b -size 72809 +oid sha256:28c094fc4635241c22b96f8483ded0d81ab8d1f79a767aa7b6c744915a0b643f +size 72750 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_7_en.png index 6321bc9e81..48eecfbc2a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e187cd5e0104cc4833f9e82e81667b09e555f139f2e5156a8cb88ce5d70f0a73 -size 103121 +oid sha256:813d6a1b4c979bc256e76419eda8cd402d74b634bda5defcf0cbfa9bceb49854 +size 103044 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_8_en.png index 75f37c2d9b..9dc09ab494 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58986f292fe2a87cc28f0d2667ca1d1d75bfd0356618b163f262c83d60fe5d88 -size 53206 +oid sha256:1c1b4428df6c80d12d66220ccf6285814803de9755827dfc415825aa89a1d25c +size 53123 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_0_en.png index d045916316..58e94c8b96 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82b7d4adfa143db5b234122a9b0eda658d8abd2074578292134bae8b2dd79821 -size 49248 +oid sha256:4b87ceb71f82ad5ac34baf34f0ad34c6e4112bd64f6d394b69cf15544a435bb0 +size 49206 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_12_en.png index f146ad1dee..bb2500ebe2 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:23d31f3bd7350059c2c04bbc457614dcf9667f8c1670333a1d2cc4e10d8d73df -size 50894 +oid sha256:9197739c33689efb2c8d4c741869ff350391adace8dc54a41a4dc8019079fb98 +size 50853 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_13_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_13_en.png index 92eadd82cb..25bc1c8ed7 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c671cf553ec48926776325c07d59b6bfbcc1b170026247f7b321fb78eba538c -size 61920 +oid sha256:afb31d8543f04fddd1eabce8984871b7b417018c4e93425de132c3c621fa47bf +size 61904 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_14_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_14_en.png index 3f125ffe10..12ca4d52dc 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_14_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_14_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e6db73347adb62f546a183a31684940aa379221acd587ffd8cbc3aa9407ee3da -size 47199 +oid sha256:e600c2786e3245919456f08583ee99d379b49ee087bc40222659d649c0badecf +size 47157 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_15_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_15_en.png index 14c819533f..591eb79725 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_15_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_15_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f32a01b188ff4faea2c5fc166e9ec34ec346e88d3a05d5878a522e4830fc6d72 -size 62857 +oid sha256:30d7b3d551faec10a647f011da62183f78e7514fbea52b536ea4f468f2eabfd2 +size 62856 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_16_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_16_en.png index 817922faa3..bfe9570e1b 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_16_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_16_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d6c1cfac2edb5d8754f621c301403e30afe058828eafc460cce403b4cd8a6d4 -size 53948 +oid sha256:c490dd6b8ba10ae7ff0fb05cc7b133cb744abd28e5a991b12a6afaca16a42092 +size 53909 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_17_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_17_en.png index c478e62187..48da42ecbd 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_17_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_17_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b4a84b82ae56782c38def093efc14371cc3daddf6ff8c8a82688bede19ed063 -size 64289 +oid sha256:7d616e1f1f7c111400e1752cee9daa67ece0720cf336442e38baa1991bd984e0 +size 64280 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_1_en.png index fb0a3cdc3e..0f594470cd 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c07b48bbaa7a95325329f60add7214fa82db269a2f56d1d476109199a3daee6f -size 69356 +oid sha256:c599dcf6d41dbd5cd4cb42f62ac10f1c26a3bbcc6830aa31895e851d1bde5ac5 +size 69339 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_4_en.png index af6a8cc215..c8be22a8c9 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c3d0df0376d2d0c5cb44d3354507556acf488499ac21e8882a80ffcdf07e7468 -size 68837 +oid sha256:7183e0c153650cddbb561384421f54a22580b59d306ddaf74a0e8e4a920be6b6 +size 68805 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_5_en.png index 20e6e612b2..81000a5a38 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:65d54f61ba78b63c08ab905b52f9e0636a8e2e1f05198ced9e22f1c651eff251 -size 82962 +oid sha256:f47641cba7db91fabd9d784a48de39da476da15de5c115a0cf8b884eb5ccf856 +size 82916 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_6_en.png index b2aac9290a..95a4607337 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:686e248708a1f1f827e11969f675645954972cd7336884127eec9488cbc8b4d6 -size 71725 +oid sha256:b3646fb87adfe319c29804d56f5efd4be1a7597283a04cd2433001cacc63a17b +size 71688 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_7_en.png index 6cf6001652..b9d4fdf51a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:faf4693af57acecf873540f70ed44fdf1ad16b1d96b1d16083aca0a3459319ea -size 100917 +oid sha256:21121ba654a63f1b6b5157f422037c054c938eafb8180de8e7e5c79dc6b2d988 +size 100877 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_8_en.png index 9e0be19e2c..68ce096019 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline_TimelineView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82b242a8b44d91a7e0c293505d879b6da91d3c1f7621780cd58efb66f0b127bc -size 52756 +oid sha256:c329898591c0d3b3e2a9e9032219af35de81e1a371d0fe128949fa17316371a4 +size 52741 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png index eefb1acbf5..b24db82a01 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7f150c56b52f813f902031a6d94be71add9ab64472b246c953645c21232166a -size 56240 +oid sha256:a3362ec1abcd1847d44fabdd31537666fe08e0999037064237d4b8cc2af653c4 +size 56202 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png index ed3e257b7a..0c35f04e3a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec0877a0359b5620a7bd58bce1417dffa45732d31afca30913465918cafd64a4 -size 57081 +oid sha256:40b55ace0d2dc9409bbc4f455632697743b0675b6a76892952baae7fabcfc2d7 +size 57043 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png index e88af59317..0b868e8904 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:98417d72e3a6d0599be0dedcc888cdee5ac1fd068b81bc48df270e41614b4286 -size 53125 +oid sha256:4ba8c98bc110958f2503cc3373bc1e383edfbeb89bbda4e240456ecfa9b8db93 +size 53089 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png index 664601d1f7..1219d812cf 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c96b0da54abd317e346a52af2755bbd2ed72571ea4f93caad1e2c0a9cc6dd27e -size 56711 +oid sha256:663e3766f80fcd1bfa0a8c983f365887dd3738a0114c5b3bb1d70abf352c5eb3 +size 56654 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png index 12bdf77104..a686834219 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3bed4c4a20e82bd8da4abbdef2c1e2cdc4797ef36fee26f1d418ee99bdb4e236 -size 57538 +oid sha256:2ca3590ef781d41cce91811f796409436beedaa9d62c1f6b325c03300f36f4c6 +size 57480 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png index e1d04576bf..af7e08335d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5dc65d9138537d8eb081bc6b1c24b46b4fd300c03a24db8ccee71b076f87dc11 -size 53661 +oid sha256:387b6a484615c291cf015e2da41ea9c4d70bcfd81f01468aefb6c5a9ad43c0f1 +size 53599 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_0_en.png index d8232b13b7..b00fabeb87 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9084e85ffa4475b888197ae2753ea8292226af8f9e06915424bd45c28e3dd5a2 -size 56815 +oid sha256:ab03b875ef8b9988ef443122641e6e6a67cc2c9a992fb7a735fb4c6805c58a3e +size 56767 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_10_en.png index eeabc6c13b..9fd7f195a9 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:19336f98e7d891ea051a3cf95be2a489be011bf656040867045f30189c5e36f5 -size 58389 +oid sha256:37f724a6f3253a5b9382062b2d544ab0542a1383e0d68c15128fdc99c459d7dc +size 58341 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_11_en.png index 1490843f70..352ed39365 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:af50d4b4c00672da0e49583c31fc8d75755107f03641f0dfe082b1fd34664472 -size 48521 +oid sha256:094ccf2dedbdd6c4ae0445e85dd266ac1887c466e475b809dcee8401045528ed +size 48519 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_12_en.png index c431bbe1ca..deb9792881 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17e8e34d96ecdfbcf470c0c44e84cec733eec6dc5e4d8b46323314fcd2360868 -size 56841 +oid sha256:ab1fdf76117423bc1619a3b012a2cc87350af056a2bac78fb7b131d47f340d89 +size 56792 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_13_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_13_en.png index 567f00e3eb..04e03219bd 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a89ff09ebc2baea00f451c5d3e5892e2b4ba181dad234e5d910a611e5f041863 -size 59907 +oid sha256:bc098e01a00c0635f719eb7421d9774a108971b4afef1a5d86fa5d9eb1d35e7e +size 59859 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_1_en.png index 6732827666..f6379b0626 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c070199a8756672f654c25383f1c41802d9c41d867721802110acd9cd9c1c710 -size 55974 +oid sha256:9867dc81318bf7a463f4a437c9c0d6ae5e29fae84b7ec6387fd502b52962b88b +size 55942 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_3_en.png index 8e5eed787c..bc87a81620 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e1ce3d6ecd9d567bbf299dc5597d3310fe0dabf2755f9617754b589e199e5e22 -size 59859 +oid sha256:673663a51ee0c976753d7e90f6919b00bb912cc75b931709a7329ed6ace32876 +size 59838 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_4_en.png index 2d87e483c1..572fc53291 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09492ba6d74933d54a5d2ba1004aae205e7bd3cf205c8e60e5ca0773abf27eaa -size 54607 +oid sha256:3ad728edd8fb715a66154c052b9517116f75f3256193e4022bc3e410d3dbcdf0 +size 54604 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_5_en.png index 3ad745df96..f3841aa4a9 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7bcf1aee6b67c9d1f5a513d319ae7926b5979d13b1ef9c7a54b290840ecc19ca -size 54667 +oid sha256:aa25c4e31ca828c06830847a79b29ef1f1649cac4fc47ca71839aa3732855395 +size 54599 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_6_en.png index 4b43f12e9d..f4dd44edc0 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:45d741a597e1a14af6776375f0769eb65ffe4baadd14ed0bc348ab18562531f7 -size 54401 +oid sha256:af35a0036e99921d591f2abb56d03eea41e96c0099ed26056f8fbd506c349cba +size 54369 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_7_en.png index 3a453ca5c5..82aa0526a3 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dde0bbd93ee3bb929718013c5436ea131b5aca19fdea35c3fec76bf3df83b4af -size 57721 +oid sha256:8417392e8f7728273f6675847183fd5c71db958c3686ff2c2603ade909167dc6 +size 57722 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_8_en.png index f972d5c3be..c2e3110023 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4de8ade0a2bc34aa4067077a61fe5a9e819b4ca674336cb13ca6f8e67a27b61c -size 39961 +oid sha256:b96bbc50a7fa92abc6a9448143a73cac2b347cf1faa8db590a8242242dc14a3c +size 39996 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_9_en.png index e58294e1ce..5f7e8509e5 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:11d7d017584b55a2fc265be4590cabeb61ae74a0bb0812a5b3cd0a4b52b743a6 -size 39900 +oid sha256:24e32f248f152388d866205c20432a696443de7df1be74d73d750dca5bffbfbc +size 39944 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_0_en.png index 50e95b7924..34634be07d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b018596cd7a19064562ae3ee2cd364e84c13a015eb790c02cb95ba5bb2ddd8ca -size 56552 +oid sha256:172b1b27263136dee77cf8fd781a2ad5d84ebb3efbf3f6dbd97aaf4a4be00433 +size 56495 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_10_en.png index 899e45d357..f82efa3afa 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:73a79b6bb3b8d76bb28ee7be9417931c25619e25a7c00627d0134aa33e39c36b -size 58014 +oid sha256:92ca278062813f53b0f7531cf68ec6b6fa03821e25d836a97657aa0443ca8841 +size 57948 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_11_en.png index 7d8f7e83c0..8a20ba0561 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:36a2968b69decb5a0ee0d675ed05d6943cfbed33ab6f98448d107ea5f8037e51 -size 44484 +oid sha256:ae837cab1d1290b48c389886025a2bae20ccf66454976856e2747d00326ed015 +size 44410 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_12_en.png index dc6df176ee..c4ebc5e758 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d5acb2c39850c304a2ea3ec6494c03ba84d1653c25ad1cc0260206125f2bab92 -size 56589 +oid sha256:0e45f0da05123b566449a46cd1fa7c54bbedac785b094c0c7a8515fd56ab10d5 +size 56539 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_13_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_13_en.png index 338b0b3f6a..89bb5b75e7 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4b9cc1eff51eaec307c26d2106d5a21307f9968e77d0290ea5c5cfa2d13739ca -size 59302 +oid sha256:4f90b17cf8ec2307ebb17399f4700f4782ccb40996c3837716587873b2ff8183 +size 59229 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_1_en.png index ba30927cd0..d36bb661ee 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:01eb925171076a6e8027797a8b555719d462c72827223dfab799968128f48b80 -size 55440 +oid sha256:95a3a250d24523e04ae11c4db7a5eca986f67e39762a86cd98ba7e2c7bea9a28 +size 55386 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_3_en.png index 5c3c2c295c..69c701a11c 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c74a2f2483499efe27d2d5fc8609b059251c5fa65e29d0ca4ca072ba0590eb93 -size 59346 +oid sha256:6404b12690c838e4e5dc396ef5b7665851eeab4d2a60c9d1044ceb79731d5c32 +size 59232 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_4_en.png index 34d88a218b..315c0ad993 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c3db32ed43ed76f115ffb7088b14dcb2fbbddf912acbcaafef27e964df82220 -size 50740 +oid sha256:156af9ce76aa014cb9f25bab91394cfc2fdc1f1d57c65e0b0b1827f4a3826fd7 +size 50654 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_5_en.png index 1dc7fc64a4..0b2d5e5f7d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:43f3830a188aa11623eb3028d9d575e86d9afac3c255e9f1ab58b77c59776ad7 -size 54218 +oid sha256:ce1a774249006fe142253d87c85cfd812f2ad2779bf6fa86250c7cbc1efe083d +size 54269 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_6_en.png index ac020d4bc7..fc3839f132 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e00c6fe43eba1a88381992653b5b51b7d42c3d51ced68e9820c28e36413f12c6 -size 53961 +oid sha256:cbef425f1d1666bef4ee1eca6bfe70a149efd7eadb3926d6c68cdb80f346b68d +size 53919 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_7_en.png index e24aeeb7a3..a5fa4a610e 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a10ac7f5b24e11d45b2f950ef78fde83df21a4160c142d470d3b1d93061472e -size 53542 +oid sha256:36cccedf89c1e8ababfc5c4a639b429ad0fcf738fe8d719acf90a0604e0dc982 +size 53461 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_8_en.png index 9a4aaa4cec..e34cd56838 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f46c1a30e8a08a51b17438769e96a4069e1074a818a39a74de2678396b327d4 -size 37481 +oid sha256:ee40525ddf73dd81e3850b77186cf0dde1c01ef177e325fb8b5b57922202601d +size 37388 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_9_en.png index 6a6c8eeda5..995e83f27d 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl_MessagesView_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a960dc721d164ec3813916aaa7075298de68c62bd2c71fd1cf235ccc54b5f24 -size 37259 +oid sha256:b4de1129f3034f766df25c53a3682c224c62e5c4c7a4e07803d6daa78ce12c99 +size 37168 diff --git a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_1_en.png index d58e9f6bab..28ab1805b8 100644 --- a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf1c1f8eef0976a1fe4f62f58b13cca1d554bcd7afdf80e1912e64e51da166fd -size 7989 +oid sha256:f0d132ae9ff818bc72e2865c1765d4ac9415a83fe735427305e518358aec026b +size 7914 diff --git a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_1_en.png index cf98a23a5c..6e5076fdc6 100644 --- a/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.migration.impl_MigrationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e53c313bdc23663d0631b6e5336ba9b14590ed4b3631ba89a2b5160ebe0dc388 -size 7848 +oid sha256:ae9d8a1de1ebaeca2a8dae13086739a22ca0f054f1c4918c132956a394792b11 +size 7868 diff --git a/tests/uitests/src/test/snapshots/images/features.networkmonitor.api.ui_ConnectivityIndicatorView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.networkmonitor.api.ui_ConnectivityIndicatorView_Day_0_en.png index 4586de39f0..789520675b 100644 --- a/tests/uitests/src/test/snapshots/images/features.networkmonitor.api.ui_ConnectivityIndicatorView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.networkmonitor.api.ui_ConnectivityIndicatorView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:289da5d5bd60210d50d3e398b4b930d9255eab079137fa8245fe3a4cd5c382d0 -size 5530 +oid sha256:b62c398c035a386bdaba180f3090e122b78131c741cd6fdb97ad533137b6a15e +size 5531 diff --git a/tests/uitests/src/test/snapshots/images/features.networkmonitor.api.ui_ConnectivityIndicatorView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.networkmonitor.api.ui_ConnectivityIndicatorView_Night_0_en.png index b25e098519..7eff425d13 100644 --- a/tests/uitests/src/test/snapshots/images/features.networkmonitor.api.ui_ConnectivityIndicatorView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.networkmonitor.api.ui_ConnectivityIndicatorView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dbc78ee3adc4780bfdc8bac8192a7414092cc6412ecf18e3d24753769dbad868 -size 5388 +oid sha256:2e55da84c46cd5d7f211f7323425f561b234c50144b8477c348015828b5656be +size 5386 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_1_en.png index 56c53770e6..5960d6c196 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c29020df93cb6752c10bb6daad3a5ff6ba8e6fcf15bbc04e6936296aa2f753a6 -size 296902 +oid sha256:7999de0eac9ec04abc1820e7096188aef997c50675b8a6748e918ab18ba79026 +size 296905 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png index 0f683ae14c..7621393731 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1211158215fb11a4e1a6fcfdc768bd4dffeb858bee8d1d8896098653676f3623 -size 300480 +oid sha256:d342ab1a3873461526f43ed1e65e7041f734bc44a2f741343c135de259cd531a +size 300487 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png index a92833a7c2..ae88d0a24b 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb7737ad5381bd6c3048afb320e06a47c86ed8910102d76b82c5c0455883c2fb -size 294709 +oid sha256:935d4e73357506db12757cd594eedbc4f06d5fa302fe7dc544305830c965f101 +size 294683 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_1_en.png index b249ee4aec..3938c1f4c2 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa780d7ce938e2eaa28714390d4d44ce9156806145da3979fae83cb047045abd -size 375086 +oid sha256:f5ead68818ce32ac0254f06ee127aa6ebdcf4d0865e7a5a608ab00b9e8ab9e70 +size 375084 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png index 3dec4d191b..d091368900 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5035541a1aa4cf2e3460b40b293fdda0d131232583b5e5f706f9c68bfec2a1a0 -size 378291 +oid sha256:0af010aedbec3505637f3934534e1f4e453d046938fb85d13e59423368b1f93f +size 378342 diff --git a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png index 9fd65a1d89..5f1df4b3a2 100644 --- a/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.onboarding.impl_OnBoardingView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:45ae95ae922e05cbb1fd2d2e44721fafab50bda5252a317d758817120f9b8331 -size 360000 +oid sha256:76e7ca557f970634d4ca63eb7705c3a09c6379881c47ca5735092ed54cbcabb4 +size 360016 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_6_en.png index 490b98c1a6..0d0bbf7a07 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8075e6490c12acff5c73dfc9706c72df2e218ad7e8b8e62d21c58dc1d97df94e -size 32816 +oid sha256:3b08adae478024d92e8d7d96832170ab7e40b6f76526d5e17405aa28f2afb3e8 +size 32810 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_7_en.png index 010ee81fe0..3ef5b7dbdb 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c84f954c105c68db873a49239deddeab63d234ed4c54a51ab57a73c31156b7a7 -size 32738 +oid sha256:7af8a815fbdf00bc72ee8bdadfeb2d328b28d0f5a25d845f195889af8abba25e +size 32770 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_6_en.png index 36df3742a4..8236584ae9 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:454007fde8d22c01cb3ce3b270e7918543340f02db410f421e89c037440569ad -size 31758 +oid sha256:42b5f4b56b8b0a5347d6f6bdafd552cdbed6bd02bab846edfbd98c640de2dc03 +size 31749 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_7_en.png index d7b8822bd8..f25bae71b0 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:45419eb840d93424675c7c568196407d1fdcdcec3ee0635d04220713d43df339 -size 30275 +oid sha256:cf1b3633e2a946b3a63c326cdad8ab14dfb4d1d5b41c06754924a696cde47ea5 +size 30290 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en.png index c2012eabf6..35940476b0 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e0a4cc56a77a19c645fcd5f065180c9d2459ac412a8dbd8f071cd1a53f32bea3 +oid sha256:35ae2f9a46586dbff631851775e80fad98baf9e525b9bfa13a59ff00fc59ff52 size 24891 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en.png index 02b3a095c3..11f922522c 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b52fddb5ab81fc6fc137071227383e8707142bb5e89e41aae5e3ce6b84a71a7 +oid sha256:63e7f018074b6b0a591823f5ffdc156937a0a23ccafe39a0d4af88a7a05980ca size 24269 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en.png index 05090de69d..22107bcc4a 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8756b8241164179e25035d35b1d220dd63ea27460b0f65d887dfe538f24fd423 -size 59275 +oid sha256:7b11cef7bb2350a627cb626064d298166b1b1cb2f964eb17cacc052cc944d65c +size 58754 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en.png index 87ad040103..20dc15e9bd 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3974f101f11a2b2d7101a1624b96c47220a3bc95c648d81d895e9958bc4a5df3 -size 59240 +oid sha256:9c7aa1270075d019d450713afdb29acc43fec9e2603632c39be38f5ee4a036c9 +size 58629 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en.png index 7c94f160f6..3b40ef8905 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1878ac0908db66e1266543f4562b8c594a2cbabff87710f784cad911ce4ec6f8 -size 55017 +oid sha256:75c0d9bfbd726f0c61cbddd7e09667bf2a061f7f34829dc9f5a10451f896bb68 +size 54860 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en.png index 2f6423b680..cfdff06aa1 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:98da34b85cd2690d279a4ac24da62841e16f84338c3411525bdae47967b761ed -size 62045 +oid sha256:a1ee65e2fc9f52de1287f2c0f544d1c677d17282977d5d4ce14634e9ae234119 +size 61526 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en.png index 883f124b27..004dd59872 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b9b2e035357a05f59200d594dd5ed2eaaf50821dbbb75e5d25d3b5ff43d1600f -size 61653 +oid sha256:7705d3fa49210822414ad3a863ae0bca9bf0bbf4d223c14514834b00c0d12e47 +size 61141 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en.png index 05090de69d..22107bcc4a 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8756b8241164179e25035d35b1d220dd63ea27460b0f65d887dfe538f24fd423 -size 59275 +oid sha256:7b11cef7bb2350a627cb626064d298166b1b1cb2f964eb17cacc052cc944d65c +size 58754 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en.png index c109be1373..59e99f47d9 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b7d2eba8e072bffb25ac885d1e076a7e35fa094aa6573ca51fa5120d728b5f3 -size 59968 +oid sha256:7337703b42b69e563961a6b8afe85bef7ecdd06c5d837b2f3dddb227b336690f +size 60000 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en.png index 667d51fff1..ceeccb86e8 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df7b759282427e3ad9d5d29f29c467509f8882f57f8c79fde3b142e1f4932fc9 -size 59249 +oid sha256:f76a52cf817e489c4fa5b2f353a246c75efcbe6b0c9f92c868aa78146cd54aa1 +size 59384 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en.png index 6cd2731be2..18ddaf0c50 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39778ed9a02c7cf94ffdd3eaa73e91750d6af477a43b039009738a561e4dda0e -size 52697 +oid sha256:3491ceedddc07068c1a03400e5d7eb2dda8afd7cd0d289f7b168ffc689c8713b +size 52665 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en.png index 278ed24dc2..1635050091 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee21697b864454c407f95e4d58409dfb36df1d34683493d9491ac67900c4ccdc -size 61632 +oid sha256:de7e8056b66afcf13d8ebf2d333d535beaca30c882f3b14468e90df71a6848d3 +size 61651 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en.png index 196c55db29..c79ff53179 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c9156650882a564d2de107f46034d2c45f298a828ff2825581bfd2bdf733d63 -size 61359 +oid sha256:441cca0f48414ed65ec3874de4b1ea225461939ac32c69fd8a73b1dee0ba4407 +size 61393 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en.png index c109be1373..59e99f47d9 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b7d2eba8e072bffb25ac885d1e076a7e35fa094aa6573ca51fa5120d728b5f3 -size 59968 +oid sha256:7337703b42b69e563961a6b8afe85bef7ecdd06c5d837b2f3dddb227b336690f +size 60000 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en.png index 20df415e18..edb1a24759 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81084bfdc23266f1075598fa8fad4057c3c2c66cfb6e49e4cde92c5bbbf21b2a -size 42545 +oid sha256:4dacc18ee89d3a3bdae730b558946de7c46af7e4ff5281c64ca48f287d33d9c6 +size 42283 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en.png index e1d8db79b8..de9acbc6f7 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:da4eab34b66652302f6f781b87bdea3629ae0883a128c651033876a832e207b9 -size 42416 +oid sha256:110d1e6b528f9c4fd129f42ee779004bf3c9229ea1763c6c1d0c277d739ba9d4 +size 42151 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en.png index 7ee921b21c..bc801ef511 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e589be6085875c2da9003274a91df9e4b2b881eb65db8f3bf401f5a2cd702f72 -size 35555 +oid sha256:e64c465e13a10fee45984bc5ec22ab2a84ea3c7c9a184d846cd45a30f97985f3 +size 35277 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en.png index 23189fc5f0..3f35dfc83d 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d36425a75d7d4da4974c7d6b3b8b2d79f3df3ddf7bd85693ff476b13278272b -size 37900 +oid sha256:d4e00444adb06fcc2f95e2c0f8eacbaa4d9eb03e3b7803b7e759374aa82ae2a6 +size 37767 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en.png index ac6182cde3..723a4e12d1 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f606793ccf853a49cb87df3dff5b7431d56b2ab4be7fc22deaf5d756bdd86a8 -size 56071 +oid sha256:51fd08c83f40da8e90d5a7c653ffc8e2692ac20cface19480eaa89ea79cc11cb +size 55787 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en.png index 3c6f6d6b14..fd7ce2b8ab 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e02ab27cb2f244bff08a5520534c1d04674e624d79e7a0db1379f606ea0aec8 -size 41741 +oid sha256:b08106edf873a7131439cfaa75b3bd4074ac86caa14d4f95e18e7ad741e977fc +size 41905 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en.png index cb1e36aa8a..9f6c2be4f6 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f98231ff59ef1f33377fe6f6b2bfd561a0f0a8aa8d3eaf824e037189bfdee2f -size 41639 +oid sha256:d58d34bd389c999067fe99edea5f732b17a9027ce3f62f49acaf68af41c932bf +size 41797 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en.png index 8c6c8f904f..9020263754 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b82015829e697337a8a2ddba041ef61daf2356268df7510b30f33de4d47eb3c9 -size 34195 +oid sha256:d3d0bdadcd222a612f5f8729035208e27ae9b67fd00f392b6cd209c46e33eb17 +size 34341 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en.png index 531847447c..944003ba4c 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3d198005670785ecd320719c49a72b14b9b9efe6c4620a39188b44c692950d45 -size 35212 +oid sha256:a9040f1588101ac65489baab82a2bc748adc67a22647f9c3d7a99039bf7f2e8c +size 35309 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en.png index 2d288df15d..f4dbe7706e 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:743c0a853bad3f9f952178c7b3f4bed5c8a08302ccfa6f798e322c27a542db8d -size 54985 +oid sha256:dbf8cdfc8da70970994334df6c9791b310374ee2002a939823bbab093b865c0a +size 55141 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_9_en.png index ef3501f81f..4f698e9134 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:917e1e6e2040a501928be528d13ebb012ed9eff8de1d97689b0c0ad0beec73c9 -size 44451 +oid sha256:1a1761143e25b567e6395a40cf3df6413d3d15c7d4d7cdb925483c9524ff4c42 +size 44390 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_9_en.png index 06da7dfc71..00fcb87b1e 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16bd67c1e9362163e3dde641e89c3cd432be6cfeb2991262539bb0cf8cb3f5a7 -size 42057 +oid sha256:5c3a2e2df13ac46ee58cf7b4a51effeec0af97ca0a1ec66486ffdd27642b32d6 +size 42022 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_0_en.png index 6e91a26672..6328b35ca1 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f99630ffa68c56bcfa9f20b0c895869ccf285f9dca4b9f4d60518ab7f09944fa -size 37993 +oid sha256:3f16fcc4cc994ceeb80df964e9a9c40bf8f85869cd6c11ec14ea327d3b0fa80b +size 38074 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_1_en.png index a8fa281a84..af9d5fb9ba 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewDark_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fc7114af573847a08d1d331a34f13ea2ee6d1b02e52995c3657b493eb2cb9fd -size 37747 +oid sha256:a432b76372ca2bda9a8f84b8aa779c0eca61e61934ba81d8428e1affdd1f35ae +size 37818 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_0_en.png index ac15df98a7..0f474547b3 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:32996754db75d663e65844ac5bcdfce45407154dce88afa5e6a6914d4717ad81 -size 39033 +oid sha256:4e8b512463d51570c4645311fe652ee704fe7e67cf2d8f2f6bdf936b987828ea +size 38908 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_1_en.png index 1d6aa51b79..a14b3a6c7b 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.root_PreferencesRootViewLight_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14d283a64fe6070713fcc0fdac0435da664f4644143db758eeacf18fd9d5ed07 -size 38987 +oid sha256:fdf9185ce8776451ad07410e1cd8169918da9c4734ece14a91f19716d6b3d00d +size 38915 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en.png index 15577c5993..51d11a709a 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dee076a76ca941590876b49a15ad7b47e916bd6ef822acdab9cec5b690d75395 -size 20457 +oid sha256:f1c5669f63f761311a49a7d82475ccd7463bdb5051db9add2875e13514272690 +size 20189 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en.png index 8f44cac348..232c02e380 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99fef7088bc0f4a1e42fb3aa3749b7f1db166b6f9373b087b61d00c8f1595119 -size 19876 +oid sha256:fe8c7f7de0d56bfc60af6771fd076104687e1f123ced09dfdedc625c03431458 +size 20361 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Day_0_en.png index 92bb06a0fe..96eb3e81b6 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59794b75363d0f15590947d2466ecd5b35f4d1b19387428878000111dcd1403e -size 11012 +oid sha256:49fae039923308d225b27ecf987d75e068ea9bcf33b1490913dcf298eb6767a4 +size 10831 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Day_1_en.png index cfd4d601d7..c2e91137a4 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:93e34061a52164ae9e58965b79c8f45815bb087a5f18d104cf81ae0136884c91 -size 10778 +oid sha256:33af83e77a077110665e2486dcb278850af42f747d8c9967612867fbb57f6c76 +size 10630 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Night_0_en.png index 172bb1c8a1..e7894e0662 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7839f4238271dc892256f53c0489d8d7691ef69ea3386b0328d8d7b6ce95edb0 -size 11145 +oid sha256:e9adc34c7bcdddef0d8c257679322e6bd974c443d64c5d8554f00e46b0d5b6df +size 11230 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Night_1_en.png index 079ac9bfbe..cdf8986668 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.user_UserPreferences_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:57ae644462dff919e7b6fa860f49ae93f5def342fdb9a2e3128594068b25d852 -size 10891 +oid sha256:7710bd3d1b81dd4ef3c5fe96f61c78f4b7f0a14754d9934b6cac1b703afe9dd3 +size 10953 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_0_en.png index ad81a5aeb3..d99653f691 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9bc61706ff6198d30eb5825de9be06d685b2192d6ca10855294bdf7a728c3b0a -size 69476 +oid sha256:25ed56a0bb137ff47a8888464fa192ce6abf0cbc90580be5e58b1e8aeef40d9b +size 69441 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_2_en.png index c21f93aa09..e645076330 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f60ab6c9dababdeddf172f85b00dc9e7bc6c79de1091487f0fda0e43a1ab2cc7 -size 65850 +oid sha256:a6a792161530746c31b165898988b15ec9c8a982135b3cbbdbbd412a91a781d1 +size 65829 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_3_en.png index ad81a5aeb3..d99653f691 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9bc61706ff6198d30eb5825de9be06d685b2192d6ca10855294bdf7a728c3b0a -size 69476 +oid sha256:25ed56a0bb137ff47a8888464fa192ce6abf0cbc90580be5e58b1e8aeef40d9b +size 69441 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_4_en.png index 0b569308f1..fea39839cf 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:86560ee0eb1b48816c1abfe4649d8695397515ee2882e24d244c3cbcad5c163d -size 52957 +oid sha256:720eb9530c47ab826fedd2ce9d46a47258b38b96e730729b4662dcdcb78c7533 +size 52963 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_0_en.png index 4e1d43fa86..d3b3acc95c 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:23308c23462125e558934c526b185756f1d43a3085bd850417369f3e4621c545 -size 67962 +oid sha256:0fd4e171ff84cc320d0ccf88225a381469755aa131fe6cb0d5101a19748b15b5 +size 67883 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_2_en.png index 8ae3706c17..0672422936 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd0b528af7dae53c692b17f2d20dfa7fbeb25d01e4385c88cedd01e4b86e4237 -size 64789 +oid sha256:ce0c8fccb44d193364f9f3535a5e27c75acbb267936a305578bd46c69f257fd6 +size 64790 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_3_en.png index 4e1d43fa86..d3b3acc95c 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:23308c23462125e558934c526b185756f1d43a3085bd850417369f3e4621c545 -size 67962 +oid sha256:0fd4e171ff84cc320d0ccf88225a381469755aa131fe6cb0d5101a19748b15b5 +size 67883 diff --git a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_4_en.png index 700ddb4d9b..56e8d14d97 100644 --- a/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.rageshake.impl.bugreport_BugReportView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7242c0bf0d473a14437d48d2bc08705d12ddb482ecca71b1ca89776b4d229e58 -size 49672 +oid sha256:df211edc8c8dc1bad32dd2e4cc703416f5ec1c366d2807abf6e569808353896c +size 49650 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en.png index 6c43411442..a12d8d94a7 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b673b2bd71feb002b107e3f39e7d74a5885f7990139979c236e5c6b9bf726c48 -size 28044 +oid sha256:e534ca2cc96a4b7a0e840eb18d153479f9e641348216fb4237c431dc8ef727d4 +size 27831 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en.png index 1173ce32b7..72dec9f406 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c02291161a28c139cbc8a4d8c4bfb38ebfec9ab53760b41d0cd900b23588b010 -size 21712 +oid sha256:31f588a58c0e79c37edbdcc72748fb1cd69e15e2313f48c5800fcf7f473d1f57 +size 21509 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en.png index 645b9757dc..cbe4baa6d3 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39dcdb2af805624acfe37cdd377bc286ecf55b1a64a8bcea111a66a2ecc22e02 -size 29575 +oid sha256:1e085b1745cd0445b7954af882a73b50bbd4dea74ec6def5d49562f6839c6095 +size 29353 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en.png index 3d404b9cd9..ed56e112d2 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f561c6ecfb49b573d7dbc3d8f85549b24a0dbd5a6d5a7238aa8b9ff28b0ecbdf -size 27537 +oid sha256:cea328e94f7fedd4a0d592a0c67ecc9f4b3b1b35e0b54151c3f965f850625502 +size 27342 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en.png index 053ce34bbf..6bab2cf57f 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0075c84a20f9d9ba82ae74caeaa220b8b442133fe70ba143c427921772fd68e3 -size 27685 +oid sha256:87f8feb9d779a8c5e5fa8015e8d4ada01e57ae93b439bc8899f0e3ed2bab63be +size 27481 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en.png index 39f2299ce1..ff1af3dc3e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f2edd47fc00fa4709f5601dcc05e05a02a398e71ff2dd4a884df839274fd7c1 -size 26162 +oid sha256:6409d38501ea210df531b74b3b738348e53249fcae65960171cee8856381e3ea +size 26006 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en.png index 9a275c46c8..0c20d41838 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3ef49d84c87ad9783e2f1d3d341b591fd34f77a4f637dbbcc3ce5bfd1b2fcd5f -size 24126 +oid sha256:1822081b86aa17204d227e369d079f93bf3e55786dfbd78ef8a75f247f880fc7 +size 23969 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en.png index 90db07acbb..2d095adb03 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:383dd0a0c1e1201805e75c9a64749ddd805b2597cddf499a4e5b2a97a11ac90e -size 26987 +oid sha256:2244f0a3d3a52f80f3fd1000d2bad32780865bca788bd42a961ed4f70f7c003f +size 27078 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en.png index 2e8765ea6f..b30c0f7ca4 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4736337c9c7a0d3898800a37905ffd248385e0bd6dde6a5393ff5764992aa4e4 -size 20848 +oid sha256:f680b481a827995e012cd5a2d8312c7f716031e2142f829c98fa8b0e4d52fffe +size 20943 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en.png index 6d4dbb51a9..4feb318cc2 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:901d1dc956e91a9231f151fd8c9fed36f866b1c76b88c79741522fc2cea62a2b -size 28309 +oid sha256:73b2156af0a1abe814e0a21a76db8b01bf02122feaf7a4d056b8079633e39a8d +size 28415 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en.png index d7fb8fbd7e..ed5f2416cf 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c0f7b9c45c115d94842640c116738beb348e7770225b6f7d3cd41e3dceeaf352 -size 26664 +oid sha256:52636fbfcc05ae12af708bb2917824fcd1a9412effdc1cab99f0e7653182e587 +size 26767 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en.png index b59bdbb119..f52afa8147 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74f24574b60095a3961669a2d5a0f9a183168dcfb2a9e79c8d6190da59c07e26 -size 26924 +oid sha256:46479f053f64e87550d7e4a857bcb9248376f6d372c1e9ccc7c3e1652da2a1e7 +size 27019 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en.png index e989532d76..af3c7a55f0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:294c350baf0dabc86bf08c52443227cd83d82bf4157dc6093ddcb49bcee78f20 -size 25238 +oid sha256:ee31b96d17043a217b28cf3be1635ce3946e2da3d59915156063c42f68317a48 +size 25276 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en.png index 165a5380f0..a72eac504b 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a52d853d89c07ddc2ec111bc57bd657f107b4e31e8ca755b2e2e327457e1f8cf -size 21999 +oid sha256:ab06d1af4bf44f75ee8df25fcb5e18043c0620ee39c99fd1854da0d12017bfeb +size 22054 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en.png index ed143fdf60..30d890117a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:286b81a1cb3590cadc2ff3d71a6f3f4cee21e6cb0ef614f098feb2cd14dd3ef9 -size 25215 +oid sha256:3a44efc28c8872981747255f8538e6bb60a804426e85d372a3b3bc17ad73937b +size 24688 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en.png index a0aaded38e..8b05387403 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9606f321c904e521da5e25c20b3d442de1ec379587e5847a8fd0562a6cf1283e -size 22812 +oid sha256:73cf6be0bd55e6c83888708176af33b9975fbe0721c4cce86799c547b9118593 +size 22408 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en.png index 343494f6d6..6efbb40871 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0760eba68c7a10f96ed904fcb5f821607b11c4971f7a8ee78b2fb0b810b46a2e -size 42826 +oid sha256:e4ff694ba396bef7fb87243548a18faf25a1c1a02589fa373dc2f3c89553ed0a +size 42417 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en.png index 0e1336a34d..068035ff74 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f06110fe9ae1d9c248caf43991278f80ea2a9cf26cb64af498cf811f0fe382cc -size 37688 +oid sha256:5e3e15dff6a041cab272fba75089bc8f373605630709e6120625ccb81b52be6a +size 37510 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en.png index 20818446e3..9c3a9fe439 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fdf190d8b3d3a7a2bc99bf358093851a26c9811688231b40b6fa29eb5dce2d48 -size 29655 +oid sha256:48351de48d44af2e1d22d72e6e3fc7511a3d9ec7af3a0bbaadc2928e822795b0 +size 29660 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en.png index 3f4b28f4e9..a118a76eac 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bcc9f4dd231d54a5331730af14a5b93fc70f5eee5a96034e668d43a0b7636218 -size 24833 +oid sha256:3eadf6c716c78a8913f36fa003e19ab863ec3413741e91212bad67b876aad9e1 +size 24906 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en.png index 4a06713286..38e0cf9d7a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a491667f1e5bd94c03cedf49dd78e89495947b9d2cefd846a767ac2cdc21da82 -size 22794 +oid sha256:f3ea5702dbc2487125dd3ce6c382a10cd67dff580240cc81f510a4bc7d06bfbb +size 22833 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en.png index 69e977b13c..7fce7f6e4a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ca941b8232d37dfb4f10c882664d0c30736ec4b5cad5a39f5dce2931d9e1a69 -size 42867 +oid sha256:7c694257b40356f4112b3e0f772772287868cbd7189ea0c7840771ee6dbe7fe0 +size 43114 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en.png index 6941749bb1..9900befc1d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:41dfbee63ea47ff3fec3a8c883653f7317b619d4e57168128201035ad35f562c -size 37332 +oid sha256:efcd5a2fdd381c599e143d0bcae5fa75d46814de4b48900170a03abe38219905 +size 37448 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en.png index d4f9589b72..7849027ddf 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f23161b4e4ef657c6544d3651402798fb691372d30376fd07244c0d0fb0485e -size 29033 +oid sha256:29f1fa7d90f26cf8e4a6ec4d0228673f3a5e7d2067910b6bf1e2a44f74d3d6de +size 29028 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en.png index b5ec8380f8..5aec452dc0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f0fc57dab85b37c2790fd059e92bf9ea99ec8285f091344e23fc02e302fb9766 -size 16829 +oid sha256:346b55226273559de0d0d7298ef877c7f4e5441cd672bf224c2eead14d336c76 +size 16835 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en.png index 24a33f9780..31d097182e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9837343fd6bdd5cf08b42189f538cf1c2286d69a98b0001112eeed4dbaf49313 -size 21359 +oid sha256:b5cf37333070202ab26168d65639fd3913e1dd2cd0508b52e021789d4827ece3 +size 21362 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en.png index 16fef1216b..3b75bbad3d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c77a9bedfc15cf168207f80b46daa01478dbb60d2740c30a5274897c21c7e97b -size 26315 +oid sha256:49d02751c7a36b988249c03e355af1b038459ad20410e8e88256f767ebfc9b42 +size 26323 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en.png index a3361dffcf..ef15138a1e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7f9f0ac97ac658dda11e934efbd92614500b2ef3b0355ce8541cd90f284ac8d4 -size 15924 +oid sha256:e24080b2731014102634cea433fc357ab5cb76bfb149a266a61e345d1c718a28 +size 15875 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en.png index 1f76877d34..9d45f7b9c6 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58239cbeea75521887153f0cafb4f1f5b4054ff098ef4b177c17d7fd2a0d1cc3 -size 20299 +oid sha256:b0a79c489f22ae47dcdc8d212dcf2cea595d2922b816e1625f163be4085182c6 +size 20271 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en.png index 6acc8bb8b7..f4f6854298 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e8434fcb82debe68599909ff75484978ffb3bfa53066682e4f443e893cb6187 -size 25092 +oid sha256:907246ef2913f37b087e3bc96b8361b75e3a672854d613c7788b3dcf66393796 +size 25036 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en.png index 42bd3498bf..bdaefd7b5f 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:adc342a97175aa99da733c363601e11da20de17dbf2421f8321fc1a5961ef838 -size 32392 +oid sha256:57c93d6c2373777214b59717831ae6d4198eb50d904c6f22332c631b7025e259 +size 32736 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en.png index 9ca27be755..10c82df294 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b89b0c7b09ca5ec912e7b030521ee7dd8ef84ad8e7f89692fc181b56057329bb -size 32744 +oid sha256:858ed6bf83404f532a1ff258837ccef1fae650401d23dc5aaaf59c6dcefa7618 +size 33112 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en.png index 36a71482bc..1fdf12a4c2 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eeb743203d61bdc129453b53706645601b359432d333390a24b4ff83b88a619c -size 32078 +oid sha256:5a54b853c55e0fc1fa3cb9f037b02dad50ed50c9897ca2caa03dedfab34051a9 +size 31965 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en.png index 467340a9c4..63899b0d93 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8d200f50ff2ac90f7ebdefe6c6a9095bcc3200f8a68191cea923ce4150e7678a -size 32641 +oid sha256:03d537d678449cc51c47d8ba6b10af12d2afd5a259e4bbea4747e2462977e054 +size 32505 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_0_en.png index 8c59bc4a5d..9e8807670a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:329f338922e83a1b34476fb317d314795f60a1ec5b4e268a080fe9eefc4c65e8 -size 44418 +oid sha256:bf7912cd69d2ad680d885462e19544ee56452bd5d538a8019a39199dbf93f124 +size 44374 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_6_en.png index bf60949feb..942808435a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9c0091c5304bdeefd5c2ceb8f55fa4541a426beb033aabc18d56429de83b4f4 -size 24532 +oid sha256:ddb463eff5c3174663e6543726671708cef04bb11c9194b20373435e1441323a +size 24543 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_0_en.png index 0b1835eebf..17d7af8e53 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:29d2ac88879341e3fdc10a9f96a637361caa1928c0d673a7307ff51448620866 -size 44597 +oid sha256:b15475fbe36b0255b21a7492195e516dbf24298f6d3e40e164ba73897da24b10 +size 44429 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_6_en.png index e945595064..3473f077b5 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.members_RoomMemberListView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:29e2b84349b8265425fb12c1829acaf84e63a0781ee24e372e944f3768dd8fe3 -size 24628 +oid sha256:a6bb04b4dc4dfb43adb8ae45670f20232e8a3ba50c409c50a86feb96dfb00d56 +size 24486 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en.png index 46f660b149..eb1aecd078 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:60d63f269fda06deaba32ee28a2d95812dfdbc2e8a24741b38c5ec9f06a31010 -size 50537 +oid sha256:a041f30a016b9a6ad00db20419172668f7fe1687dcc0212350d146f61093a607 +size 49723 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en.png index 34a309897b..388e200921 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:188ad922f1150bab822ac700ca95c14e89aae0595fbce9090b70624b4632b320 -size 67479 +oid sha256:208673d60636ded48443f1e55f1680c6029aee251e24b7934b07324a539a802d +size 66492 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en.png index ef03739126..f5b3344d93 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:310d3a1967f6b5495033bed9e5821fd85b5f61aabc7e5adae31eec8bd658dd2c -size 61765 +oid sha256:1e23b71ac5aa0898ca67e3264c87c8da9b1b3119e44f507df0a7ad13fd252eee +size 60759 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en.png index 8d738582ba..92a8334cce 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3056c9d2a53739974e0844f5ee59742317f1ba9aa1eb31facdde0444bcccdff9 -size 61715 +oid sha256:048f0e1fcc198f61e43616406453a911c270b5eda7c2729dd9d67ee3a619d4d6 +size 60695 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en.png index 70d049b9ea..28310d7856 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:40338753f44d3370a7ad507c55399753efd77f571fd4c9706561b756acc1ee11 -size 56362 +oid sha256:b2dec4d26f6dde325be4f2bd42a8f8517e31cce46a9db8e30d7b457f612b8bc7 +size 55725 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en.png index 0813de7ba3..85bd84bb10 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:92a548ac226f7baf5f6b115dd7d860d4f83cf6bbb2f0340e5d9a56da51342b58 -size 12931 +oid sha256:13c8b71ef7331e86d15200b8b1979688b21337237bcccd309ce70d866f9304f4 +size 12932 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en.png index 749d24c2b4..72858854d9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fea9e072ab18f27e9769cc385d2e1906d8342663eef25a516566197e0b88b401 -size 57881 +oid sha256:9c1c92e1d7c6d3e2f47b83f9c8ecc2f2f98620e80c1edd5242d25637d949d293 +size 57140 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en.png index 45b70cc57a..d63036eae1 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:40674c16777d92dc625f2ccefcaa0122a85ac9dc6392be7ccf5b9f1c41735c73 -size 60309 +oid sha256:cc64bcad7e0abd05248e98df0be2e42508312c78e3665c6b58dafb163c6f36f8 +size 59609 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en.png index 7673da710c..53b8438ee0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e873aab9f7b3607879d1061d0c94c1644dfd5f64833459ba5a2d8652fdd1590 -size 52430 +oid sha256:9af957c2cff2485fcef1b9cae18ab2a69f27901d732e521aa650fa03d1cf7083 +size 51650 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en.png index 75e8169dc6..a790cb9168 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07aed38a2eb95ce31bc6fd9374da3dde9d9cc6075e01b3d3e0d107b52738a18a -size 65588 +oid sha256:350db30a95ddd750cda52087c68fb121b6d4601f7e354a1ce516ac6a13f9a6b9 +size 64563 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en.png index d03eb51401..583af373e0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:63e20abb0ab34ee9bc9529c18cbf0b17bbbad07fae9d4c3fa1f4d39b9a5ee6eb -size 48215 +oid sha256:7a8f70a15e2abd6d0acffa2dabb1a13e9ca7e438709d68318f48c5484a6db728 +size 48557 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en.png index 57f166a748..33bf48b028 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:22e7e47d795c944cd8a9a001fad7c44f8116f947cbae586b0ff8b9a3cd922d90 -size 66869 +oid sha256:49ba57a1ea2cdc147bfeebc68ee5a076c7239abfffdfc9c9975c0b7c43fb33d1 +size 67287 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en.png index af2ba85b1b..def16fb9bc 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c8acc8bdb5518bb87fb5a09cf48483eede404a2b4301d1cf76cfafbb99722a6 -size 61214 +oid sha256:c96a37c2b956bcf92a2ada87e517a0dacc21984c0791b8a5c7fe94733306a2b2 +size 61576 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en.png index 6638a393f7..97288b3c1e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f4a45108c13d2eccd6e2393ac097d4b1ade61800f56aa4cc8e61ee1d5741fef -size 61091 +oid sha256:08df2af6d1595fc825183929025cfc9dbe9e88a07b9811dacc371c7d6ee625e9 +size 61458 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en.png index 5c3b62cb56..f25fc4763d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87d7787ea0d728e10e804af7fb5eb4eb6fe4ca43c7ff1e4d01dcf5f93c7dbebc -size 55560 +oid sha256:7031799ddcbdb44ed40e6f843dc86558545885ae2a16d794cc7dd92d805e4a90 +size 56087 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en.png index 5c35348166..31bb7dad85 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c3653ef1022ae3b7056260fbbb0a1a57813e20aa0af91875e115f802c373fc3f -size 12806 +oid sha256:562dc9be79006376346ab1b2635890615eecc381e82c15b16a9ebf1855741e24 +size 12817 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en.png index 3d4c107c88..db9ced912d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d652c43b1297bc72db009b4ff7ee5dd1ca6881620370e564b397bae9195f14f0 -size 55405 +oid sha256:e6e5a2197a3fddcd2f640f6dd4ee546c13179eb62daec257d159261049e5004c +size 55678 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en.png index a56ef9e8c5..e2bccc9479 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9eb9f754c60e7f29b3a3920641cd4a06eaad9239988ce6c00c60580b56ec0ee -size 57825 +oid sha256:6ef4c956fdd9b9ed36fc6d949c0a166245941068b81683b8a7278f02d6e4ad7f +size 58119 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en.png index 9f7a272148..3df5c03456 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e73bdb76f0207c574936281e750f4ae1c3e68aad687f3de6b0bbdbd8e49650a4 -size 50900 +oid sha256:1cda6faf6fd41e9ab912af2e1d307427a0b6f7d6eb364cbbe1c19f8019cf133e +size 51291 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en.png index 5039d90ffd..659a2949aa 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30c0b0937be5cf4c1bbc39693e818ed595691e0bd0df242000760d282b917e20 -size 63990 +oid sha256:8f0ac658661ed11e23eb289547a5b789b020c5501846f0fc3b4e56fa4c875eb4 +size 64361 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en.png index 65b5904f91..9d3238f0a9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4dba3d02716303c10092cbf3e0fb395b00b4e51cbfe6d67690adb4f87ccad0aa -size 40761 +oid sha256:53023f46260a8ce65cb13fc22022b48d8730234c68ab270969d3df5ea3792595 +size 40759 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en.png index f8582fb2d0..00cf1f20b9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:57f8c2db3088e0c0163760f2a1b394dd729466304d185f9368210c8633b5e78f -size 40496 +oid sha256:a8077f68c48890297ae599d97b6f813e01b7be492a9c927503d056f9818f6c77 +size 40491 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en.png index e0b22472db..d01d523dd7 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82954ecc3e72dfb85cdf2d0c037ca3ec5c7b705012f37268ac754dfe98d6bc64 -size 37656 +oid sha256:9d4218aae68741cf79d5a82cfa507ae3b32b41d489fe2b857124b86da22ec2b2 +size 37658 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en.png index cc0e1cb8ab..7cc3036718 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c923624d2cbcc3b5f37daebd62077d52b10b298b0166c4037fbce79d81e8d86 -size 36161 +oid sha256:3dd8be9ac519970ec8246bba92c2a4b82be68c32a0f83e1e8504ef323e1f83bd +size 36162 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en.png index f964b0c6ba..15c0b6e897 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:57b02ff5665f0a0277164bb93e84f7e013f08f4fe036da03712a9313274bef9a -size 46167 +oid sha256:cd6f359ce80ea980811dead3d7ee49f217019a020e2b84ddeac45943f9e6c16b +size 46168 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en.png index e0b22472db..d01d523dd7 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82954ecc3e72dfb85cdf2d0c037ca3ec5c7b705012f37268ac754dfe98d6bc64 -size 37656 +oid sha256:9d4218aae68741cf79d5a82cfa507ae3b32b41d489fe2b857124b86da22ec2b2 +size 37658 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en.png index 50856e82d6..d637517ea6 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b37a221f61304f3c7b4f22a23b5487e29483cecc3d89c7e7bf33082cc69a904 -size 36553 +oid sha256:9e1e2b1c3d390a29f069124cdd86e065e8543a252ebd59f2cd38019272cf6631 +size 36551 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en.png index a6a6d01901..2bb840bb1f 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39fbd871bfb39c41d821512e6f941daccc005483502b41227130f36de7f1609c -size 39392 +oid sha256:436f788ed2ad56a71e9dfa07b148124a50f5cd2433ec0bb29ec78f7878b87150 +size 39388 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en.png index d04e04e817..0c8da7db9f 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3687a479a2bdb14833b04074307397ba082787db2a6e7416a7c6af26e9eb2dc -size 39138 +oid sha256:22d27b6b968014623823134af13e6ad472239f5ccbcef70d7161e14a6338c16d +size 39133 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en.png index 0128d0b0c0..47b3cd02d5 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c395090e7fa824a9bc0811f99cb09e8179905aee66b4ae852abdba02b2c902cd -size 35726 +oid sha256:dd1b4e134aa359718b9020f2574f3f196d765c6d270a1bd66abf161559d6e44d +size 35720 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en.png index 8e9042bf5d..f090a50e60 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:124a308c5ce45fbe71bdc1d3a526a13ce9617baa89632b09168a00376d8e5860 -size 33688 +oid sha256:6f2609b64dc66da256dd3ab4869c77f82bffb95ac34cfa6d27c6ca2c8bc18064 +size 33680 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en.png index c580660301..ecc44ce716 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0bfdf9528520fbd1b87ccf1d2d3e01e590345cf5a96fb5a49f8d2cb7eb6d9a4e -size 43052 +oid sha256:fad13fcf6146aae9225f503b01b696e79154ea6f83a78c7c56265ac2168bfebf +size 43047 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en.png index 0128d0b0c0..47b3cd02d5 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c395090e7fa824a9bc0811f99cb09e8179905aee66b4ae852abdba02b2c902cd -size 35726 +oid sha256:dd1b4e134aa359718b9020f2574f3f196d765c6d270a1bd66abf161559d6e44d +size 35720 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en.png index cdd62b368b..3ad76de0f0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d9f748875b9b671fa650d4625fc1ad657af256f59a8fcab302200aceaf7b8dd -size 34176 +oid sha256:264532e1e9ae89b672dc622c8e01c30ed02bb04e1007172e018807d04df6763a +size 34170 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_0_en.png index 303b996e77..891bb58ada 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3d65eaf4e2574dacec9c981515b9bf0dc65b59b23e360564b9aa19cd8206cb68 -size 40913 +oid sha256:eb42b92dd7f5fee39b51bfd0a7159bb2598bcbad1795afbdba774545887eef4b +size 40976 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_10_en.png index 71a9118689..71d26703dc 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8cf879317d93f860736995829dfe3094c1319a339bf761c06aaf0eeac7be7f9 -size 45053 +oid sha256:b14a4d595143cb070a4da9337c7f71f188ed1ebb0c405329bf1897130c67d529 +size 45115 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_11_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_11_en.png index 666e34ef67..35cf71ce2a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4c2f5bdad4bc5b2b2732788c59853195b3b6dded00737896e069485883172de3 -size 44015 +oid sha256:a0a81c42785eb96c2f05f4b51fcba6bd9f23c75ee12b9016732b59432e423588 +size 44073 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_12_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_12_en.png index 7e0da8acf9..5da5c1d1d8 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4b66a3c6b707d3e5acc64b77f3d66319dcf541b1a9af8319da39befa2868f513 -size 47094 +oid sha256:9e1f1359f4d25e973efdd8d087c5dc0e4adaae756343a5a13e353bedec49a831 +size 47224 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_13_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_13_en.png index 231dd5fe5d..81d258331e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c2ed5843b61db2188b6673a07f899966ed041cd5acfe12dcf40539d96e77eaab -size 45455 +oid sha256:b516d9c5d672ef78049f2927df18bc116d38465c8f87455974b19bb869126ef1 +size 45516 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_1_en.png index c072c36630..a853bd83b6 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8174892fc81c156e43b00fc7d8766f34cc74e898d2fb85cc73e03c81a943c47b -size 37426 +oid sha256:ecf7dedf819aedb39eed575f8c4f7135ed2a8afe3c00e28a723af14dd8d92edc +size 37490 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_2_en.png index 71c1474f85..f013d01c17 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ef4711d604a74a38ede750a19f109332d3bee1bd49b3ddaffebe427a753a253b -size 38293 +oid sha256:56d9350e54e2d59c892d9101cb7eb2803e6469e6bd9cb7b33cd54c2df9e9dae6 +size 38361 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_3_en.png index 1b129b1d6d..db36cd0d06 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcc53150701e858ae234c5a52ac1d8ca9327b91761dd3c49bed82c94f1ce6f52 -size 38425 +oid sha256:4d72eb95fc23bab73c3767de4d55065894eeff9f764b5eab057ee03b4b3bb02e +size 38485 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_4_en.png index 3caace7342..ed5ca9c492 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d109008e7721560727d2ee99e015f361156eebac90a821224be362351ab1034 -size 44246 +oid sha256:747e1f74b9ed9668023432f59720a04c42dbf587525af893a2cd942e4db3b852 +size 44301 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_5_en.png index 636daf625a..e55839bd1d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b9920e3b344551f91ed35a25c1a6b3f39506eb0ad32e82f38fb0388b22feda29 -size 42336 +oid sha256:f9d3d78555516e89ebabbf4a42999c3a5eaa592a61f21cedd8860acd7a77210c +size 42214 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_6_en.png index 636daf625a..e55839bd1d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b9920e3b344551f91ed35a25c1a6b3f39506eb0ad32e82f38fb0388b22feda29 -size 42336 +oid sha256:f9d3d78555516e89ebabbf4a42999c3a5eaa592a61f21cedd8860acd7a77210c +size 42214 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_7_en.png index f77ae789f4..a82f8e2670 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6566ae413d6b08695a5c79acce05cbcb927bb467fbd5ff6bf21c99fd8b44b009 -size 46357 +oid sha256:b84053fc1792c01e90ebc0a3fc3813abcd08d186cc8be97517ae868368f22434 +size 46419 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_8_en.png index 24e8a57812..9ad48f0c53 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7044a64e7a8d736ad671d793856fd1c309bdfdf657bb617514defc8f97d7c48 -size 45298 +oid sha256:f16f57ddfa8723665254a9dc2e813f602ad9467a18a9ade32972aab9d385e9dd +size 45359 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_9_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_9_en.png index eb29078722..f5d13190c8 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8dc581686de37dfe58f05501181eec0f209b18f8dc65576dcea8ebc3860766c4 -size 45242 +oid sha256:c8a7e68ffdd3be3b8f53a1a4ec7f62bc5ee665f77f9b5b10d37cdec81106cd62 +size 45419 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_0_en.png index 63c74ad127..043315587b 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a8d0c03ba01a775791bfabe6c29eb52282e80c9b63a05f5ee3abcd7050f1adca -size 41792 +oid sha256:acde3fab94448571085c5f941d7f713191841a675f261518e2a5aedb723d262d +size 41907 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_10_en.png index d795bb966b..24456505e6 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:53e1af829752e02d28f8c1d2490dd748b6b1a8876667b88d5e1186d5b5a6cb1c -size 45887 +oid sha256:db7b7d43907ba44d2294014ba980502f4870b8fdedeb38c976457a38c50d48f1 +size 46002 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_11_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_11_en.png index 95499ea43e..79e39b331f 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a7d2685aa1545d71db50d817eaace4badb4d5365f2313df34e323646d716fe3c -size 44864 +oid sha256:d183aec1bc50f740ca2d9a381bcccfcd8207c5ead283d0c07c26bb36cc274ca6 +size 44973 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_12_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_12_en.png index 45a1801bbd..5969e21c21 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:491fb076a1d629acaa88a81bbae10324d1af8fc79efdf0862b00444d3bf0f1bd -size 47975 +oid sha256:1a05167ae287d2e2e06f7b60f0b9434f7cd2307e4cfa2b73468eb933226750d1 +size 47771 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_13_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_13_en.png index c221989a49..1546729dc3 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f346764da31583076508550c339be523d15f338b00f2f412e1b117bd1e3b5062 -size 46333 +oid sha256:ea2569d50de897e2df9e561aa514c61818c40085b6cf54561b5788543e1df89f +size 46437 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_1_en.png index 7672dc15ae..fa326bb5a8 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:832e31b9e3d13b40406542cb8d2887335b77632a41eaa71b0d065544687a548e -size 38280 +oid sha256:dfd69c661dbadf04dce808d154b40f587144060f058f6ad68f26361babbb25df +size 38378 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_2_en.png index 9fa20307f5..fb34195d6f 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e6ec0b56d2885b0f37803ffe82770d5b7e40ffb6d4785b1f0bb7c6c459562318 -size 39115 +oid sha256:5a2501a0197144b4ca6dc60d8b840ad6a1e31adb96d7db3e051d06c48a65a4b7 +size 39224 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_3_en.png index 3bd1f837f6..4f7150b6fe 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68c73fdb4c03caa7e6b7b52cfb9d5a10be1b2315c3ccbd312b680d4896d912ef -size 39020 +oid sha256:dfd0a2e0991868a08697e86a63e2bc152a9f7909ac395e0773dce442e4cee5c3 +size 39117 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_4_en.png index b94b9e696b..75610deba4 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a71481c9dfc5ee42fb65c4dc6480860208691cba1514062725ce33435f6ee812 -size 45099 +oid sha256:b19d4b33824ef077ba86717d25276f087e758185d3c0c63f3e097112872a4834 +size 45204 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_5_en.png index 6d2f6c8f21..43385fb15e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c627d14c06f05b3f2aad06f43a7c4bf2880956e27391ab958c52fe0bb1228260 -size 42963 +oid sha256:b785267e5fbda41dc3b7ee054459cbcd19a7e7c6b750ce747034a11ff1236531 +size 43065 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_6_en.png index 6d2f6c8f21..43385fb15e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c627d14c06f05b3f2aad06f43a7c4bf2880956e27391ab958c52fe0bb1228260 -size 42963 +oid sha256:b785267e5fbda41dc3b7ee054459cbcd19a7e7c6b750ce747034a11ff1236531 +size 43065 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_7_en.png index 73322deacc..f78476776f 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a60de938c3e3fab2ebc02035ab58819611ee5cc6794e4e90f2a14ff949af79b -size 47337 +oid sha256:798544bd9bf6a4716865d22c1f1a2d14801d4fcae3141860ecb15ffca2a8937b +size 47446 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_8_en.png index 6b6575c810..e6e20204bd 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4ee6162423ce2cba74de4289a23289712ee6cead68284b874457b287e6fb4cb -size 46236 +oid sha256:ce9084dfa664f9e949c01042dd2908a5ce8f229a72d490ce8ec553e29a28348d +size 46344 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_9_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_9_en.png index a7c4752d8f..2eee75accd 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetails_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:475ab11e30195520a13785ff188a3775705ca217556b6020b5b3b612e3cb81b3 -size 46130 +oid sha256:7c45ec40208e2d6ccc52a75e30fba51ae6a4979f1272bcf6c79519d63052f257 +size 46360 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en.png index 838f9c935a..c6aa14578a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15bf69697f988611a5e1ab3cf0b73068e79cd4f43c01a5efa239b511f4d12183 -size 28054 +oid sha256:58b7a2cdbd6bd8969495064ec270ecd52ea42264ae4e77b34727a252d93c55fc +size 28111 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en.png index aa5649e011..b8e9745427 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f185d10f69af1d3609ed1c00f0b97f8e2c40bb591011c4cee4f3fb6dd2a8ea06 -size 29679 +oid sha256:873b1d91371366188840d89c9bf05a891dd747d5a0f4d4496ce41b337aa9aa6f +size 29735 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en.png index 286f7b5863..c787256649 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82157dc3d61050649d26b4281f57e4dc4f1cc4398066ff6d8de49d9bf83a1fb5 -size 28095 +oid sha256:be381e174b8d4e3229456111e7d528d65820dfc1533fab219cbc52442e216494 +size 27945 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en.png index 6e57b51c1c..b65073e53e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a5d43c1c98658b797cc733382ff30878317b9dce54887438ca467263ae3c626 -size 29702 +oid sha256:462b2a4984fb4032ffc607c24ce4d20f24be7c7ed02cb051cd9b09e6a66826cd +size 29550 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en.png index 465e4966ee..cf91d5c85a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c5163c68f2f7f2a93251e13ffb80bde8d246d6c2e0261b90523309b2666b552e -size 27719 +oid sha256:f6151a8574c95aac3473a0c1d42565a03c7616e32ccb41f31073f495b69409ba +size 27711 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en.png index 01ffce7935..99ac375b38 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d657f4642e509f2804599a79d3145e3b5ede17889dd58f0f38bab236d0c60dfc -size 26803 +oid sha256:e0c5f643228e0a3330f977ada7133ae0f43fab528aae01cb43a72d7591924c68 +size 26756 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png index afa027ab83..af5d935a8d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:557834904e76a77f442cbe9ddb653ccea1010767e12a4710dd3396c94655ac54 -size 37970 +oid sha256:f3ea3591ecafd089a834c818551eaeb919f303cedb23106cc4295eb443273506 +size 37192 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png index 6d6de79d13..2c3a18ad3d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c6d820925d584c25097363835629d43c8cdd4d29c9e18ca2f9b55fa354223ff -size 46766 +oid sha256:c5a213813a4539a0a3d32960e7ec93f6972a5fe8e75d26037a82f0d9eaa47926 +size 47000 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en.png index a79f536fc5..738725584c 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:408f5df5dee91ca24552a058ddd9952dc8ed7af314150fea3d770e4f2af8a462 -size 37653 +oid sha256:a6aee0fb024f80729f7e39b89f638ce6d6b5e2af8f134b4745c523cebb542b04 +size 36918 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en.png index e25a42834b..6f3a1ce963 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc106a9130376cfb934e24b6707cd5049bc28b511abf117c1169025e73e9f11b -size 46415 +oid sha256:c291e16eb5eb3c7853ada8c968291169c7e17ae8cde0f77b0a6d3f00c856e254 +size 46648 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en.png index bb1cac60ec..9f8a02bb96 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d21dc4a7e149fb23b083cb0b1865ab5350c77fe285b620aded033794a5d8cdf1 -size 29499 +oid sha256:dd176233571cae4e796a844223ced19fc4b874d51b2fec29fa08fee3a4aeb72f +size 29501 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en.png index ce8e18600d..4092f4054e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b1a46a461843f916005c4037d8d9543c3b54ff62dc0b393f67c40b2657a3fe9b -size 28797 +oid sha256:90234775ce5ce9fdff40ba81a9bea8717814dbb3d80c68ac03d6bab8dfaed198 +size 28808 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_0_en.png index 3e221c0dd6..db9812abde 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:05b16b3f488a8b9d87e6ba2680859c95ec0f1c77bbede574d7dbf14ca07d1e45 -size 40855 +oid sha256:77536b81116242dbedd516972cb4945711dee01832b2e9133051d33ede8a8e1a +size 40882 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_4_en.png index dfcee5c2f6..e9c46d9fe5 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f4ee87f2ae823b3d026b70d6b91463ba6aa3ad7e454b915c0eba3901b219169b -size 72188 +oid sha256:8a4e60263d9fb57f115abb852eb5a080bfcdaa5cc1c786b2b0716c8313a94955 +size 72153 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_0_en.png index c63d0334dd..c42500388a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aefd200713404898bf05eec9a4033abc665dd82ddc0208545b405978990a9717 -size 41102 +oid sha256:83ce6ad6b6d5940d95a817b9f4da70d094407f1571ed541c84457cbf59281329 +size 40819 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_4_en.png index ff6ac65155..9cd7e9ca2d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:863e7f66501f357728aa048560dc59fccd63bff8fc4b648296d82db119b0137d -size 71031 +oid sha256:df340436aa5aab1438bd27a917273d7aa48096efbb373b28308e7a89817241ea +size 70845 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_10_en.png index 86b1921a09..096f7fef67 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:952c1ada0bd744350c39831c4effd8ce32ec057d875d0a5b8744c8849103ab24 -size 15048 +oid sha256:3a7f39e6f32a7e9e31e248dd1b11bf497dff4af72ca062e5dab420c729ce3dc0 +size 14789 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_11_en.png index 6885b4ada5..b882e60098 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df91c4a14d077ac53383a885126bf3f0621975db877b1425e0be4f1018056487 -size 17318 +oid sha256:b8e74109592d5179a78ad46dda45f19488c1cb3dcfa42127046071b0a89ab4a4 +size 17104 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_12_en.png index 2d3c1a9bf5..85642f6947 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4c691f9a5bd79b322c84cff3e0dd0d38a5b81cf18934c77efe83856b8bb32af -size 15622 +oid sha256:446608486deecfb266e5771f08dd6c4f78eb566acc8d11aa2c60c2ec8c69e53a +size 15405 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_13_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_13_en.png index d22f2eda2a..2da0b2bb83 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:95c26434c0367d9da9f8d91f8db52a4cd9715e70917a403c270c6284581f0b4a -size 10410 +oid sha256:a2b59c1a252126fce6a9f172ac9180fc6e67bb903f7593ac5840aa8b29dd529b +size 10166 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_14_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_14_en.png index 762dec5585..e876450d45 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_14_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_14_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f97c1b5a05618436a731a7d2cb1db1468c9d527ab58bd9e1cfc392198c62f2b -size 11435 +oid sha256:493aee9429be3dd4de29bf014a6c66d81ae15da4e53f20d85740235effb8a6f7 +size 11193 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_15_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_15_en.png index 97ddadaa70..5da4c9e477 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_15_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_15_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:24fcbdcee1c898e4caa3902c9d985d4ab379a9af6210db8f098cef3bd8fb68d5 -size 12802 +oid sha256:d58f551ae4e8f8ffe2e208e0eff0a821d894e0976e722c47a33215cbd7758bdd +size 12565 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_16_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_16_en.png index 1232225841..7ff4472642 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_16_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_16_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c688de7ca3f4910c2d44cc8cf52bbd1b18d6ca1f2ad6d930a1d6b98ae3fd46ad -size 11094 +oid sha256:6f5bccec41dfbaf4331273e979da717ddbc6bb35ea8fe575217d868f270239b4 +size 10859 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_17_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_17_en.png index 7b9ff7ae79..ec9ca0e888 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_17_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_17_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a745f4480df69713246bf49f2c2dea35ff330151f236fec1310af962983bb7a0 -size 12763 +oid sha256:97f3abdc06847d5707d63783391e73c1a1395dcdcb8e29b9a909d69a879f58b6 +size 12545 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_18_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_18_en.png index a00554e876..3fa9c2d0d0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_18_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_18_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb949cbd02b22bb9a7da4f580863303aa54a36f9f8ede086421a860200a26013 -size 13805 +oid sha256:f4aab412c4d50213b7ae8935c101db57c98f70227808f4dc65b19cfe72504650 +size 13603 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_19_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_19_en.png index 7a7127ec79..7e6127472c 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_19_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_19_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fc40e79afd8066a5bce7b1186d828f586ec1e1a517756990ce3ad8f2de84cead -size 16229 +oid sha256:b188fed66a2d880e5090dda57a96b1b5257dea58ede231c444e5ea0f861fec98 +size 16058 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_1_en.png index a7c02af2b8..ec95152d9b 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d77c6d7225a2bb198e384ebc7914290fb9c87dc768686385fbfada9416739efd -size 11498 +oid sha256:e99466244eb70758be6c366b819503847faf4afb18f6dd4fd0e8542bc4ece49f +size 11307 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_20_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_20_en.png index a81295bfce..40ba739476 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_20_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_20_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d51c24b7f5dbfe952adb11efdd6f9fd3980971611e95142fcf19e0ff711f555 -size 14353 +oid sha256:7f2276e1571a4b38bf8f2d97c7c616465ea8273fd0368ed939b73a9df1ad29c8 +size 14174 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_21_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_21_en.png index 124c272376..5bcfb07a07 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_21_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_21_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:95240efee2cfcf5bfab7cd6036944a75008ea06d75373961dc2a8be5f694fceb -size 14778 +oid sha256:66ca3110e3a8b938fa9d049c4d9e8e7de485a6bc0ea0c0289c29429f8fe14f6f +size 14507 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_22_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_22_en.png index dbe699456c..3684ad4ec7 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_22_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_22_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30baad00c462af9556526c0bd203b7a34bf1fcb656a6cc2fd7abce6a4bc0daff -size 15801 +oid sha256:46446b372107aff33ac4973520f34fae214630e2396a8e6bd83d904244773c89 +size 15560 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_23_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_23_en.png index 8397baee6e..69ecec75d7 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_23_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_23_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c9a1a8492b16054caf345db4ac700c0f64ee18e1189026cae07ff234bc2f7c11 -size 18258 +oid sha256:d52799998219a376a52dc91f7403a370ba8d087059f47b73b205020074c325c2 +size 18027 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_24_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_24_en.png index 661bfeb1de..aa39fd0012 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_24_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_24_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:af2484f9f242f7c2a2a88dcb2f59e3d85dc2bbbd51818a13c0fdb12257cf4560 -size 16365 +oid sha256:6ca5c000812145124e7453767d6b3188b05377593f31009e9f8ca02c6f58d8c4 +size 16155 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_25_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_25_en.png index 335f606605..4f1401f331 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_25_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_25_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:11896c5c3159fcf2adb08dacfe6e28f2b915deecc694a4ac5b473f9f659a1c5c -size 11189 +oid sha256:9008d80f02aaa06082aa0e1ad3874a05c4a7e56f42a8bfbfdd82ea15e66739ba +size 10948 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_26_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_26_en.png index 905dc0f4b0..4576caccce 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_26_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_26_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68b00db3ce567375f8917196ae29416882d554b7a2c084f94250cce345e8c394 -size 12195 +oid sha256:1b1dff3c0dd88c5f03fc61d5308b0c1219f0ed59af1d19ef28a80ef8cf5f4c2f +size 11957 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_27_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_27_en.png index ca1b32756b..d952f46bfa 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_27_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_27_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3a5e1718f5423c687707a3df71c5ae41e362695689437832c52919312dbe5102 -size 13716 +oid sha256:815d1f3371427015147f32de4003d308e95d0b00d3ba4793e3ace0c822e2a93c +size 13478 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_28_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_28_en.png index 482dbb62a1..9d55290390 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_28_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_28_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f97db4e4898425d8e45d6346c77285e4d906ee55a4baad5ea6c5c3f62ff6c51f -size 11850 +oid sha256:7f9977ecbbe50c849a21f0cc0fd9727e7812687cdb1494115f1043e0504683f6 +size 11615 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_29_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_29_en.png index 3a0614dc88..640f5909f3 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_29_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_29_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7de7e616304cf0408f74a61789bfdd0c52afab725b63c08f2ce0fbaf6cd22d57 -size 22955 +oid sha256:c530aabdc8bd8e85a60c7daf7b88c56736bc2c9e10b251e5d1312da66c79586d +size 22812 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_2_en.png index 780b26a99c..013df83586 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:48a6e4f6324fd308009f155a4c208702c5d990d8f6332d23afe90a2c38ded218 -size 12672 +oid sha256:df79185ba2bb29e7b0212c08275033fa63a7dbca4bcb27139adf80a065a6fdc2 +size 12467 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_30_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_30_en.png index 40460f17ca..995fb8d4c4 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_30_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_30_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30183a701dd1d720e12128a7648c36228bd6c3d0f94802869ec0ee85bcb7fc47 -size 15520 +oid sha256:3bc31af570769f2234195cee41c8051b9931d15f8a10990fbc230e8603a0c178 +size 15328 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_31_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_31_en.png index ce722399e4..e904aca6f6 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_31_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_31_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4737caef87dccf2c5746921d4f109ee26ebf93abbbed3b6417d03948ee020f2 -size 21198 +oid sha256:e6afb5e2e6fb3766ed18412f624a98c436c45de6956b996e7d8c947f0523e5e6 +size 21107 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_3_en.png index 6518cdfd2f..39e88b87fe 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ccd14d38da593087dd19e570bfc039d510a0cff0834b31b9d9c7b612444ab55b -size 7566 +oid sha256:30694901bdbef0437ddc5ffd3a62db037d9241214065c83b7cff7dd44bd86f55 +size 7382 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_4_en.png index 2590efb36a..c58d9c97d3 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:70b00447fb1203b0cc163148b68188cb39614ea88b36e5faade9352d38559fb9 -size 20473 +oid sha256:0907bba7717b82bb938adce14e2f7846596a69f759386765dcfcfa0066922398 +size 20275 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_5_en.png index 1407cc3af8..e1db844fc2 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de311eb296538b36e8b769695798bd134f1b00bca993b04d59a4cbaebbe4a1e1 -size 11986 +oid sha256:d8666b8a724dc00fc8c40b7f0445bef745b12a1c9dd82e43ce0d5339b7db51b9 +size 11764 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_6_en.png index 4dad274b68..e50a4ba252 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:47795e130afd10a5f3f1d72b47fce22ea5572326889c8ca3bc6f5eb3f3469582 -size 13041 +oid sha256:97afc18cd94d6f2676fccd2bf6b60888f7f9243a94aecd3c49b80b7666766888 +size 12834 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_7_en.png index 817246e4d0..6ee9a3c62a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:951a1b2ada13489b5184e1100601dc4e8f43f1ffb830d9f7066387116e9a8eac -size 15305 +oid sha256:dd82394a4b31d27088d2d1080ea2f2015fe96722598c9b0b7bf60b3502496496 +size 15128 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_8_en.png index ba1d65d87c..2cb4a8db0d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b89886558df918c536b669482731aa499929d5d59c0c574b9ed299ca4b748cea -size 13595 +oid sha256:db4000cb646b838b22a04d1db70e308ef086d2ab0420894d33e545038d7e21be +size 13418 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_9_en.png index ab08a476e4..8ba86844b7 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c0a3bdb570f4fd5ba422ab44869f8d425c522c9b6e00aaefe75049dc984905f2 -size 13994 +oid sha256:e229598ab469886e53009f2e911f0fad0b518e4dc23802f1f5748f493019a167 +size 13716 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_10_en.png index 00b1e7c34d..7006b43892 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f270535cef35dd29c166ab479ce699286c4b3d6046191587138de571fd6368f -size 15014 +oid sha256:617d62c6dbfbaca4918a376f0e5e0766421da2165338f0fab5850e18a21921e7 +size 15102 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_11_en.png index d3c844a1ba..0cd747e107 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6fce171e03af79d9a123e731d18649ead825d982220e81296be88412de9051cd -size 16916 +oid sha256:3bbe43ab0974c418e38e9ff8aa04c2747713e1760a5a759bb93708a80e1b2294 +size 17014 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_12_en.png index b14ce1b1d9..73eee0be02 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69cd50cda7b767fc6915d3d2409f931614bb185695f3ad4c1aa15ecc75c60481 -size 15342 +oid sha256:3bf95f5a1aea14c8bd22689d7d34db4594381c86d11a979493d65409f2a61109 +size 15437 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_13_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_13_en.png index 9388b95d57..a9e42f39bd 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_13_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a644b5b412c69bb307487c32d8d6b66c8236d216eb8c42a5ab9e158cc2b5279 -size 10398 +oid sha256:0e43f28c5508904bd8ed14a0ae877d5b132c81858c63563f682c23b113b8f5f3 +size 10482 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_14_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_14_en.png index 89d009f465..4a579abfb9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_14_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_14_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec0fe3383d014ae3ee36cc1241be1aea4ff83d52723221e6c101744c670ab170 -size 11453 +oid sha256:c00acbe01d3ee6bc41fdb5737c98adba7a3404a5dfaf469a28d466c76738b5b4 +size 11543 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_15_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_15_en.png index 4087098e41..666a61ccec 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_15_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_15_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15ffb812d611d1ccb0727b04166a99bd8e3106a5aef7364645b54fa1d56ae125 -size 12661 +oid sha256:9fa4cb99ebdc09b06385da1bdc28d6bc77892c19a6cf1cfc48ba5143a7fb73e2 +size 12755 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_16_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_16_en.png index 291bc51f0a..6ba947483c 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_16_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_16_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4edb2bc2902444f71147b2f84abdd900968c23b74b2eaef696506a97129442f0 -size 11097 +oid sha256:ac6e281f2a8df01be1afb5596b9e47fde24727fe92e953fc8eba21e19517e791 +size 11175 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_17_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_17_en.png index 126ed38e24..fb8c1a6d40 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_17_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_17_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3cb81cc268b330dffe2bb1ba305dc86ce959f1026a48b53475c29e878a14553e -size 12732 +oid sha256:c8716b73e7f995bde64456cddc55c0b4521416d083c306f5ccbe2b1a789abeb4 +size 12830 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_18_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_18_en.png index d3e1a9eee1..4ea5241acf 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_18_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_18_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f296eb93c70f8bdbc6e04a2288c76aca34815a754b7655034e536d91698e9bf -size 13779 +oid sha256:2c19421ce308f93598cc65294c906328d590f18606bee8c86273ebbe681b0ce6 +size 13874 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_19_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_19_en.png index d4faf8b5d5..a66f56c067 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_19_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_19_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f089855d422701a90abd55eee9a89f8f47baaebc25754bcbcd62af0f4e7bf06a -size 15792 +oid sha256:dac1e513ac466c934b04224b9f3b6bb27954299ddad704e9dbf875ca5bbf3802 +size 15899 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_1_en.png index 374f1ecd15..1f334db3df 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7688257c4784d00f43f9eb5993fa5c10016ee054afeb6941b2ba2a2aefd5ffea -size 11496 +oid sha256:828d877ba4a7e5ae697eca6186cc2b2636b9eaacff1af5938198e40b947fa8c1 +size 11584 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_20_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_20_en.png index ef551e6734..dfa7817619 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_20_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_20_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:67f7c5d8c8e9884a9c48a97a686e3d6d02f81f00a66d0b560991102bdb45aa83 -size 14105 +oid sha256:28b922c6ff4c66d70f3cdbdd128978ba7da116518ce63674b45d76f1fa095548 +size 14214 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_21_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_21_en.png index 8982cace99..46baf49af6 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_21_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_21_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f84feea10d2e7d8c5142b849b2709edbd86c008c9b3793d2102db6087dbfec3a -size 14711 +oid sha256:d76c6f5ea865ae93e39fa0d0abcc3ed5904c045d67cac8749a7ecebb58fb1436 +size 14796 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_22_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_22_en.png index 7edc035417..adf465b7d9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_22_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_22_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f8e4536a8ea916c2423dfd05e9638b85d0a042a5598b308dd5a1ab1c0ac6b292 -size 15749 +oid sha256:e1bd1b8db8d89a2aa25f1c66df16ac321bb2f6ddc84dc6bc095a96be022702ae +size 15841 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_23_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_23_en.png index 2fa14dcb90..59f6f53dad 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_23_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_23_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bdf8a252a6cf8e1bb63d84c4db6c61f74133e36281ae88ac34db5dc2ef6f3323 -size 17775 +oid sha256:7142c873157da324c54ac2cb66ef54e04ab5be11d95f9c5eb21c7729bf9e8de8 +size 17874 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_24_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_24_en.png index d7e6df4c36..66f1fa75de 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_24_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_24_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5f3a335801d0cb47900bd894c464fe472112960b55eb5609e94787635fdb2ed8 -size 16089 +oid sha256:1fed6d4311f720b4e78c883b20209ff33c5562d7506ed799f791095b3c6454b3 +size 16187 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_25_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_25_en.png index 0b01b0134b..eee4aba70f 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_25_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_25_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1feb76bed646492624338fc31a82bc9075bab67415323e17bce120757ae881c0 -size 11135 +oid sha256:a697496489632cd81294f8960ff1ba03108867b4bc0a76cd1c4935a410992fff +size 11214 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_26_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_26_en.png index 2050560cfb..67385aef93 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_26_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_26_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ecafcb6f06915e149d2885fc446dbc868b327a24ebf9382668234ac1b43077a0 -size 12184 +oid sha256:869d1777ea84db3b830a68750a9583e384be318c9598ebbbf454b8ec9825adce +size 12269 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_27_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_27_en.png index 53229e122d..32fe4a1fa0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_27_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_27_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:992385a55d8c6bb7186719ea6edd575e655cc03bad43767301a5a68fa6447c00 -size 13503 +oid sha256:1169bcbeb3b582da046bd6dfa49d04696b5454ec4e79a4c30ba2c95cec9bea0d +size 13582 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_28_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_28_en.png index baba40da0d..75a37d57b9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_28_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_28_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07f08f87bbe7a00615dff2dd85a91f0badc305dc3331975e4513a1d93b371c03 -size 11832 +oid sha256:b42108bef3d47fd4e242597ff31925fbc2307e5a728459907765fb9b94908c99 +size 11921 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_29_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_29_en.png index 3df816f1b9..ebc79973ec 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_29_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_29_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4367b801a831bdfc2fb384f178bc5eaaf87d875cf153be0fb470482561b542c -size 22553 +oid sha256:427773f5702b8830f4aadf70bcd19ebcf253085de027200afd21fd33ff8a8a3f +size 22646 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_2_en.png index caccf17637..b2cb66d800 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:611e4854fed162654a06cc7d3b1b49dee3f31e5bbc580c6ac177b3b69b13266b -size 12683 +oid sha256:e54b4a84e930f6bd468aa38e9928275f36358b908d05a6ea1ee832f5dc0e384b +size 12769 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_30_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_30_en.png index 40f3fb52fb..d8e61124ed 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_30_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_30_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ef2e5ff7bf125ac9f127a93d68ce906c1bcf925ac42b3db17857621ae36058a8 -size 15150 +oid sha256:2fb1474bddd4b7e5a98a7ad07e71a7f4bfd6e653a22cd12ab9ef23a8d88f45a7 +size 15233 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_31_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_31_en.png index 8ca1a4aa4e..dde7fa7c2c 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_31_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_31_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f3151e818a4a0973841b3e549fbe1a0e21b0ee25a60b834761d9b09c5d2883c7 -size 20868 +oid sha256:35c0c73bc2a40f787f97d8b1d94442d379e7dc2cff708bd16d259d1d9594271d +size 20911 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_3_en.png index ac562e6e04..6e10272b84 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0bd829e4ddf39ea5c18682d627bba88c89a5a8a42c88a8b703943fe8559af335 -size 7722 +oid sha256:dd13f2b0d8f43bf174f208c027a0a88d7ed37434384165ab21d576ee54978e35 +size 7809 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_4_en.png index 4b434a71d1..db512dbede 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a4de7223acaeb788a5b3f217ff6f48e83f2a61899f829c646e9b514287a13db -size 20252 +oid sha256:cce9580d8ffce912a92be9f4e9568f83dce5c8a83f353b9c42da01d4f344f197 +size 20339 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_5_en.png index 874817a878..69df326325 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:94fdc0f6c5879b4dd02b44904f7307b80cb20e279ad9b2f8d523aae708bd02d4 -size 11985 +oid sha256:650d9d54bda7fe2ffa4e0fcf9f5aa83393983e9735620d0a683784adeda93db3 +size 12080 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_6_en.png index b7bf15b047..54afa88ea3 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b30e32382e8b37b2b7a32f597e8f9eaef6a79cd7ae535fc1fdc7eca214c50b5 -size 13037 +oid sha256:9ec8d7c7046ef148f7909b03c481be0833c8d850f11d7e192a493497f804599d +size 13143 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_7_en.png index b651356869..1410c3b9ed 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:159be28703a84c3142280c7fd9987793ed67ed0a90d446e54a09fd4d34da6d6e -size 14939 +oid sha256:9afd6af31ec43d815ac678eb4fd2d4e29c711f7fbd80d780a0e96c747ef76585 +size 15048 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_8_en.png index 7283238473..0eb06cfb8a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:19e43b977609f155cceead577786e7036477fed141fe2fd31bf4100f8a191218 -size 13356 +oid sha256:c6ec7566c366e7d892b42d993f8d535ccf03044c2b4adb66bb0fd7e40dde47dd +size 13453 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_9_en.png index a61f86cdec..95ba238027 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_9_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec75542371da828ca9a78f84b4f2f17ac0491db2168e6ad859b1609649937132 -size 13965 +oid sha256:7461f743cbc8d86b581d8da41492f0c191bf90bf53d59c0d8b6841cebbbaf14c +size 14048 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en.png index 7bc734b404..f1ecac35c9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eb59f6e1771481bec3e96b89cbc9255685e6ea154412d7bf7e1351130f42173a -size 28896 +oid sha256:259e72d177d2ecab0192cc5be7bdc48c697d4dfca83eb72a1487e83c9e3279a9 +size 28889 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en.png index a2920c24ff..54530d68cf 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:413e055704ff0c8dc82321b108c1fa90e7d58af1a781244fbde3daf45d638331 -size 27829 +oid sha256:09f49efb93873a6bffd389ff4edca77bbc00d622669ff25bc5b0c042d65e283f +size 27781 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Day_2_en.png index ca0965b6d6..125e11836d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:166943a3f19c491b2257d3249c666cd597c79b43a8f5202cd0c813405a0e2075 -size 43551 +oid sha256:7fb36e51fe4e047d3b7299622ed41acf3fee6b717589972449af57b2163a25a3 +size 43528 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Night_2_en.png index b26da015f1..f6336ebafb 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ac40f022aa61bdff52cbc89eb5a98e2dc9d8c835e1a438fa4238ea62477b9d2f -size 43448 +oid sha256:736fd7a2ad72251ce6f9cea37ff907639b5234a66f9de542041df85917b8cdb1 +size 43253 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_0_en.png index 18a0e79f7d..06672574c0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58710f2adc11c4e33802203837ded078082f0e87e6f51a92e963b17324119b16 -size 79807 +oid sha256:7c5897f6945dbf3abe154f26388987c8223f65748d90fa6b049d306c64341ea0 +size 78588 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_10_en.png index 8a7b5b5edc..441bda873c 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:193cbac59848fdae0726656c3d4d63bde359a528dec9d887e7da66c0c9e987e2 -size 100331 +oid sha256:61d92b59ab35acebcbecab11064734141bf543bd4c3fc5cddda7f7fdf4631ae5 +size 99173 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_1_en.png index 18a0e79f7d..06672574c0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58710f2adc11c4e33802203837ded078082f0e87e6f51a92e963b17324119b16 -size 79807 +oid sha256:7c5897f6945dbf3abe154f26388987c8223f65748d90fa6b049d306c64341ea0 +size 78588 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_2_en.png index f3b9f7d504..a4f67e7d75 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:102c95f269bd77c456f98789e179420ff40f4b2a6dd1bff07636b484f226858b -size 80257 +oid sha256:5709694ba5ba479bb1652cea0218db591ba9aac83213b8a05d155cf73707a913 +size 79045 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_6_en.png index dc7dcc81e6..2dbd00ccca 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:591756991e9c947cc8b274318ed93fbc1908c2ec76a1ea2cb205de9ca9f62916 -size 99168 +oid sha256:4bb464339f602dbf8f0a3046ebaaefbe64808351289ba70450eef0565b23ee40 +size 98084 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_7_en.png index 3f10d34871..5f20f70675 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f26069b6fe63c85e2c94cec0deb70e5ee5efb77572b0091adc401e60b712a599 -size 47735 +oid sha256:6476a55d5fbc17aaf3e72ff29e3e92430f845236615da48573ac526dd35f5ac5 +size 46519 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_8_en.png index 0d0964b948..5e5baa079a 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:090299c16d0ee79f84f1cbdf8a069404f0e2cb69aa3a65735f06935b0bd8e009 -size 42406 +oid sha256:db8f6633ebc3f856dce986bbfb2fd5ab46037e1438e896a3d4a96404cb50571d +size 41236 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_0_en.png index 7f0aa30754..0707e57659 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d6c33554c71b680884d17089e4fd4ce1964d50ad3eb8e7aaf19a6e965826ad3 -size 84326 +oid sha256:7fe52dfaeac33dc77da9e741102a6248a8b142fb4706bea34b4e1a9c9f0062c7 +size 86083 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_10_en.png index df7392331c..cccaf41942 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ec04410c7aad000eff2236f4cb78aaf9eb2a99d395a25e57b59573dd00dc6a8 -size 104268 +oid sha256:dfeb3170f15fc62836bed2961fb190af7ee1fea59c9f7ee1c393c7398c4dabaf +size 106113 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_1_en.png index 7f0aa30754..0707e57659 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d6c33554c71b680884d17089e4fd4ce1964d50ad3eb8e7aaf19a6e965826ad3 -size 84326 +oid sha256:7fe52dfaeac33dc77da9e741102a6248a8b142fb4706bea34b4e1a9c9f0062c7 +size 86083 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_2_en.png index c1608b26d1..fa94719a0f 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4bc7c3d00846fa5123e0eac8e4e7b3e33da5255f59a76c6bfaabcabdc7602eb7 -size 85037 +oid sha256:1a4e557d8e3683fb3b30b7d3264a6953f713684edd2c07493d9cb3a04da4ef45 +size 87017 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_6_en.png index 14feecf4a5..e6a839f4a9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f9055540dbf408bb9e7135cd87479156baf84e5a4cccfc6ddd603ff802a9b55 -size 103083 +oid sha256:00492d7154e1ea7468b544a2fcb29fbc23c8b54260420451fb7f912b5226eb69 +size 104915 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_7_en.png index 6dec2c4008..731e9f8217 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4ed18a04c5c464ade2a1908b75751c3fe73808df81d99545be8ace7a830f7ba2 -size 51637 +oid sha256:ca4a0325bc6141db37d6e233421edaa69bc1a302d328f46e8f926fb7caf1a888 +size 53737 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_8_en.png index 07bd432402..45e247d568 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:25e0fbcd976bfc12eca470d90164498c69e15661f2b9c78a11cc55a13990da82 -size 45745 +oid sha256:f1a530e4685b92a73aa1eaf15c6268c77692fff0cc1995db251d2c24cf5b77ce +size 47797 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en.png index 73cc40c167..268b126c3b 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e1c9d6912c7ad37608e5cd5511fbe4c659d14974bc36662e1ec4aa6e8ae117d5 -size 28049 +oid sha256:842a7b0d2129dbd4def64b03027c7b8c62ebbf1a84f3bd4ce2a03952ff2f0dd4 +size 28048 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en.png index d47284dd71..4a8960d36d 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6e9f44e49cceb8bd4bb0ca73ca3030afbb91279a9f5776d6c63955c88833691f -size 27121 +oid sha256:89161cecf041cfaa46d2dce70eb40c03c117fa85d4826565466dcbf5353b3236 +size 27124 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en.png index d47284dd71..4a8960d36d 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6e9f44e49cceb8bd4bb0ca73ca3030afbb91279a9f5776d6c63955c88833691f -size 27121 +oid sha256:89161cecf041cfaa46d2dce70eb40c03c117fa85d4826565466dcbf5353b3236 +size 27124 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en.png index c1f3447d6a..7c67950792 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d3958955d2d5a0325b7c7ac2c4ca109caa1d2c7188255b9279b2e4c834a2e140 -size 39478 +oid sha256:37030eeeb29874df284cad00fb421fe47dedcc54809c5bb2b3745c9e8c4a309e +size 39482 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en.png index 0cd0ed74d5..b03c81b789 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5727d595c0767a62e5658c8b7dd928a90c98507ca3d9f65742d6ade87e9e39c7 +oid sha256:6b90f14008d52b7b182277478d3db855baca96dde041bc628c5737a3419832f0 size 27173 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en.png index 7c719848e1..f2e37847e3 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf6fbb12605acbd41764697d58626711853fd2ccb63a145001a24c89ceb5ff66 -size 25289 +oid sha256:32b143b270473ed783c7bb14851de49d9a0231df07ea12cdccff6e67c33f5a16 +size 25291 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en.png index 7c719848e1..f2e37847e3 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf6fbb12605acbd41764697d58626711853fd2ccb63a145001a24c89ceb5ff66 -size 25289 +oid sha256:32b143b270473ed783c7bb14851de49d9a0231df07ea12cdccff6e67c33f5a16 +size 25291 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en.png index 845fea8138..4a1a16d58b 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7935ebc6060c323de937690647d650932a6c0593b7eef81c277d511df325f76 -size 37919 +oid sha256:5d7c8c67552f20fe687207a9ac0191d75129ea6e93d6f91d37fb1eb68768622f +size 37918 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en.png index fc8c6a2053..a470ea262b 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:840bdfd106772193ce22c30217626c0a4e6e8972a027b649199755b4d8cc5c60 -size 47028 +oid sha256:578078d492d56feb0c1079e0918b1cd9c1537c96122154fbf8b42c3508967760 +size 47055 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en.png index 6630be008b..7dc294b707 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c9d5e94d601b2777b64be46e70c1a324d77b6da9dfc0ddcaa77af788db9e40d -size 44840 +oid sha256:5dada350cd2a42b2bb2d932ed022b449ea82c4e0c571f9312d4d67e969d2c8fc +size 44870 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en.png index 10b2093327..f91018dc04 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5cebc48569b3b46fc3cf4dd007399832c37c411968935dabc8fef6eed2aec31d -size 49670 +oid sha256:23045a661504f02da16c37f2742bd2856010340f0d39a611f218401beb74a296 +size 49679 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en.png index 10b2093327..f91018dc04 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5cebc48569b3b46fc3cf4dd007399832c37c411968935dabc8fef6eed2aec31d -size 49670 +oid sha256:23045a661504f02da16c37f2742bd2856010340f0d39a611f218401beb74a296 +size 49679 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en.png index 3419ab24e9..f13629bf57 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c216155248b58b8475be797f85930c54899fae89441f15f0c26ce4f779dc9772 -size 46920 +oid sha256:ef5ed0ebf3a1f7d6540e9f5783a282f2e17090b4945ec1e39ff143ea4ff55c6d +size 46897 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en.png index 08829a1ec5..26b2c3436d 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:174a91ff0cdffb8c5d3504c69c62f650dc287f2a2ffda4228db36dcaa35e9e44 -size 45854 +oid sha256:34332764576b9358877f2379eea9e19ee8ffb6dc22330b5d8957fe4605710b45 +size 45835 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en.png index 5a1b3fb23b..f19d40a6c1 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a93a6c04cfb06826a94c40982c2469e08db23742b1593685bc63ef89902abd5 -size 43615 +oid sha256:a118bbd14f2e7db5e34af54d9709c8eb1399c236ee370d125eba175de77703b7 +size 43596 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en.png index 272fe6f015..56833c6f27 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de66d4e558b91c5ced4882dc6c911632c0637860e4b69484d408784f3ab49ac4 -size 48158 +oid sha256:4e1580176100757f34487458850c13d5673d6eb3cb4b8a01f9734ed577ab744a +size 48156 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en.png index 272fe6f015..56833c6f27 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de66d4e558b91c5ced4882dc6c911632c0637860e4b69484d408784f3ab49ac4 -size 48158 +oid sha256:4e1580176100757f34487458850c13d5673d6eb3cb4b8a01f9734ed577ab744a +size 48156 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en.png index 3cd0795b20..efa5357b29 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:600d1e65e05c6a0d8da3932e668833ab970e4738d5d6e06b0a95f38ece6e5ddb -size 44055 +oid sha256:5a4c58e679cc61581c743e4edf8cb89ae6bb7eb4bc66bffcca468ac8890a7df2 +size 44006 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en.png index 177f6e02eb..f441302fca 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c91648659e5862de45951e5a5b01266b121881339ad592b719a4525a93c01145 -size 48370 +oid sha256:f1be75c7d29e39bd1a0a925f9cd8f7ef7ee1f42f23b4246d0700b255e4765362 +size 48399 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en.png index accf3aacc5..f52f408849 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f69892c07c1a4a796bf761cfad0fde822d577329a67fe8d404196c1dacea650 -size 46365 +oid sha256:cf56492cd22e69b1b9b8f8703a102fe5ca81b80b9272dab0d82a6fb6c91c6c2e +size 46394 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en.png index 10b2093327..f91018dc04 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5cebc48569b3b46fc3cf4dd007399832c37c411968935dabc8fef6eed2aec31d -size 49670 +oid sha256:23045a661504f02da16c37f2742bd2856010340f0d39a611f218401beb74a296 +size 49679 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en.png index 10b2093327..f91018dc04 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5cebc48569b3b46fc3cf4dd007399832c37c411968935dabc8fef6eed2aec31d -size 49670 +oid sha256:23045a661504f02da16c37f2742bd2856010340f0d39a611f218401beb74a296 +size 49679 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en.png index 3419ab24e9..f13629bf57 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c216155248b58b8475be797f85930c54899fae89441f15f0c26ce4f779dc9772 -size 46920 +oid sha256:ef5ed0ebf3a1f7d6540e9f5783a282f2e17090b4945ec1e39ff143ea4ff55c6d +size 46897 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en.png index 5518c350f2..126dd1b21a 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6605d06d34e4ac651d63ecac6a79751ded440e83d13cda2f4cba634062dba881 -size 47081 +oid sha256:009aa982be71d1fd86cfb81f156859ee07ad5239d800bb9d36c75205c77e38fc +size 47061 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en.png index 1de6912870..5115803b22 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0e8bbfe29385f4af141aaca22d515c084c93999fe70af9d52af1ca235aed3f1e -size 45060 +oid sha256:fb72ef3faa8525c79f30919cdf4cc387f1fcc21e1f29efb9644333059926be3d +size 45045 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en.png index 272fe6f015..56833c6f27 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de66d4e558b91c5ced4882dc6c911632c0637860e4b69484d408784f3ab49ac4 -size 48158 +oid sha256:4e1580176100757f34487458850c13d5673d6eb3cb4b8a01f9734ed577ab744a +size 48156 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en.png index 272fe6f015..56833c6f27 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de66d4e558b91c5ced4882dc6c911632c0637860e4b69484d408784f3ab49ac4 -size 48158 +oid sha256:4e1580176100757f34487458850c13d5673d6eb3cb4b8a01f9734ed577ab744a +size 48156 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en.png index 3cd0795b20..efa5357b29 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:600d1e65e05c6a0d8da3932e668833ab970e4738d5d6e06b0a95f38ece6e5ddb -size 44055 +oid sha256:5a4c58e679cc61581c743e4edf8cb89ae6bb7eb4bc66bffcca468ac8890a7df2 +size 44006 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileHeaderSection_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileHeaderSection_Day_0_en.png index ba31af04fe..af2ff95e7a 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileHeaderSection_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileHeaderSection_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fbb4d57450a714d8190155b704b5bdd35024f811459c58f96776bf693ccf0466 -size 12643 +oid sha256:fd3fbba34517626f11c940e583db1b7b058575b4078e260ef5ab146076a9256e +size 12757 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileHeaderSection_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileHeaderSection_Night_0_en.png index 3a867f337e..7d9ace4741 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileHeaderSection_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileHeaderSection_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e97d209a7b10ed1d2186e32e077b7381b08c5174f939ac2131ba7d98021dc85f -size 13234 +oid sha256:7d6f038f3180c2f8f0a80ab608409a75fbcdb363e3e3931dda01a89cc1a7abaf +size 13078 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_0_en.png index 228b9abacf..946bfb4494 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c59e2c55e8527759765b7ca693e2f9f064de55590dd21831ad1f3d7c8c5ed929 -size 21261 +oid sha256:37159c7d2974110a19aded9121c8d72d199007e97d873516bac209f5171561ba +size 21583 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_1_en.png index 800a8d6963..5984745d72 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb865c555bf11c378b1d83969001c8bb32b56600203592ce94050de5db2db51d -size 18990 +oid sha256:f5d7e07f546ef3f9147be979869d007cc35873c1856290f42472d57e3111ef0c +size 19313 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_2_en.png index 7adaed41a1..8e7105480d 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:effcb61375eca558758f9671e0fa77740f6d3d03993fd744ce8c9fe751c8959b -size 21601 +oid sha256:6cbc9ce6cfd64740584e72371325374196904ea68c79dd78c5ab525fe665d044 +size 21922 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_3_en.png index 532ef6f882..f6ca6566c9 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:194bdc3cc468226d24d7803bb4b13bceff736b673d74e79513a09ace0b1ecea5 -size 33334 +oid sha256:fec3a5602442d2fc48e0d0c603971c3d0a2d4e3e67917a00a70cec3421763946 +size 33654 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_4_en.png index 3c87d8700f..c5e7788ac2 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e4014fa2f8d607fe79a74a85cfb72a79bb5073f48bc1705bec7727e8965e8409 -size 24896 +oid sha256:aef57c0efcbc88d0595ac161cdb4805459315fbcc8b27451e958806dee4712ce +size 25123 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_5_en.png index a172453bac..fdb53559c8 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9e4ef783b8b23b84831f02d705cf60f33eac3aca9aa584ea94027752187df3aa -size 22197 +oid sha256:503932aeb8ee7ad412e7fa87e0794597aa6564998f280b88f66257431ab8550c +size 22473 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_6_en.png index b3681fc6eb..94d1e33444 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d2ab2909eb51a03645fe66b60fe01712c7182fd3489f788b26219a3ab8f7348 -size 20592 +oid sha256:6d32f7e0ba91562e8605e1df632c28ac38e301e2df806a46663353983bea8a94 +size 20875 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_7_en.png index 46e13f1a1f..2097447376 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6319c392d7f69702dcb1b148e31b3d13ffa9a2f728b01728727d3becbb4f51df -size 22236 +oid sha256:c75d1e76f2c4c7ec3c381fd3ecba45c4eb62ad7239a97a298ac41f686f839e99 +size 22502 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_8_en.png index 228b9abacf..946bfb4494 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c59e2c55e8527759765b7ca693e2f9f064de55590dd21831ad1f3d7c8c5ed929 -size 21261 +oid sha256:37159c7d2974110a19aded9121c8d72d199007e97d873516bac209f5171561ba +size 21583 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_0_en.png index f6383e2752..249a3709db 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d917407c9e62ad942301e74428c1b0691cc3088b903713d5fe6664c23bb8cb7e -size 21124 +oid sha256:1fb3d68142c04a84073b646d8a2daece4853b6db518033bf597d7e73cf997ca7 +size 20935 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_1_en.png index a363eb7d1e..07423061f4 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f85b7926edabf510eef0d7f378e4066e99373593830ca902a47f8c12db771825 -size 18950 +oid sha256:bca6804dda6c169bfb90bfe562d3609ba0f844e086703150a42e0ec08a5aacf9 +size 18746 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_2_en.png index 4e665c74ce..bec196fd6b 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c3ff4f065b6dd0550c1db5950923bb69421ecb6a7326d1a5621f2dec91d00ba7 -size 21462 +oid sha256:5153d0bf8aa10335fd81fb6a6f33720edf8e0bdeb017c69d30be1ef175cb0318 +size 21263 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_3_en.png index 879baf96cc..ef9df7777e 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f1a56500a8ec453aba753981ce32e1ab8635abb83f0160b295f455f842696058 -size 31401 +oid sha256:9926ceec284b746b2b46c15377ecdca624f1cd8303336f2d082b34602f0e6d3a +size 31172 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_4_en.png index ffb2b1dab9..b89a168a68 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aea6ecf044b2999bf67478864481724737982466a7552a07e3364b19ae4cb907 -size 23246 +oid sha256:3bc079ddb639f05d60cf702fd0a8c1ae01520f19204df271fdc5a203c1442eee +size 22979 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_5_en.png index 6c13ee27ef..06f67e89cc 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:84f5c015a150adba4bc53ef4a4a90efe2373ce67183e467f2211191af0517020 -size 22037 +oid sha256:d5493e7c638101253d4a43b957a5b96975ab99baa76bca5eecb65332d3c0b801 +size 21830 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_6_en.png index 732768abb6..e81c2ab75e 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9971bda3a6f6c51c0dccaef7d19ded03ca7097479459beec7c436b4e13e6027 -size 19320 +oid sha256:58a2a378b174cf93de0925872ea6e980c724967751b0feabba51eeb6261f4318 +size 19065 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_7_en.png index b04fc20fea..24cae66ca2 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74566a2b227be7d781392517bb98c6e80040fa8e4c8d4c8ee781e8384d1d2c98 -size 21996 +oid sha256:0d7d7bf305375a306d1d1f002527f7ac81daf4f3387041035df4f9ef0f80c82e +size 21809 diff --git a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_8_en.png index f6383e2752..249a3709db 100644 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d917407c9e62ad942301e74428c1b0691cc3088b903713d5fe6664c23bb8cb7e -size 21124 +oid sha256:1fb3d68142c04a84073b646d8a2daece4853b6db518033bf597d7e73cf997ca7 +size 20935 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_0_en.png index b7f2cb61fb..a9e9a08cb0 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:205fc4655fed7b11ef133e0df13b8175676ff38d398fde45a2e6a3b140a216e2 -size 31440 +oid sha256:e9513b48683bec56a8892bcc4f953117547bc570acd20dda760fb60904532449 +size 31501 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_10_en.png index 6a0184de59..6886d562a6 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d70ce1538de02146f76c773d65d110b7f5b252e45dec84ff0de61f96059e2b67 -size 32683 +oid sha256:4e5ecf84200d3c3f1e213552568bb8c1893975403363bfe9856414208ff7d84b +size 32678 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_2_en.png index b2bb7c9614..7e1078a125 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:95baf91e6c8690ba7914c4d7e3852f7eff46d863ea4ac1244285133a6eeb945d -size 46597 +oid sha256:936c5ada17a342e22e977ed0f3ffc157b79ab372b15da76831eafecad9ca41e5 +size 46616 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_3_en.png index 8246a59073..452b2bcea8 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9e3e0d4d26d06b131bb378472b4d8a41054376bb9ca386d9f3eec0591db85d92 -size 48206 +oid sha256:d3de8b0e4c239c35690f9e037ece5d4a9e857c0f4d8737f6aa3feb6ce3d9f71e +size 48228 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_7_en.png index b7f2cb61fb..a9e9a08cb0 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:205fc4655fed7b11ef133e0df13b8175676ff38d398fde45a2e6a3b140a216e2 -size 31440 +oid sha256:e9513b48683bec56a8892bcc4f953117547bc570acd20dda760fb60904532449 +size 31501 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_8_en.png index 95204c04f9..f4e3c9cccc 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a8350fe244b42863ee1fb60c403aa2c695a5152755f73bf27598e71e033ef0b -size 25962 +oid sha256:05f503995e71fd66a03efc1b675eacf3bf4f90d1b07e73e171ebb78014862ed6 +size 26020 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_0_en.png index 2d4c2d9f62..6e064ec573 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4307ad367eb24d8f7590dfadf4e4b728ec4845ba4720b72824f5b2c60175f8fd -size 30555 +oid sha256:8ed7b8e3bdda766f21419bec8f60497b3e4d18f54ec41a65160be363e165073b +size 30567 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_10_en.png index 4cf1c19ea2..a45cc3dd48 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_10_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a1952ca6d6606d5968c61ff2987f6ceb6b74881949a65dc494a6de30eda6437 -size 31107 +oid sha256:f633d654de29a28d32308039e9b78b72da948de605fcecf4b61ba3aab6068866 +size 31180 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_2_en.png index b59025098d..b223144fca 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2ce8b559704295d018c6d14424cfc62b23cce30eef00338d30671056274a9a5 -size 45639 +oid sha256:85437a9db8558b901075158d4e48e96a18bae583c86d8558286075721be2c688 +size 45719 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_3_en.png index 2d2361089d..1a69005ebd 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f34e38b3eaa67e37ac5a7eaede42539c8c270907449a373484b3cfa0d43ac6d -size 47278 +oid sha256:9c726cc9658a6fc72ca4b3733f0e9eb896458e301799047da1fa4ed3438d8091 +size 47362 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_7_en.png index 2d4c2d9f62..6e064ec573 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4307ad367eb24d8f7590dfadf4e4b728ec4845ba4720b72824f5b2c60175f8fd -size 30555 +oid sha256:8ed7b8e3bdda766f21419bec8f60497b3e4d18f54ec41a65160be363e165073b +size 30567 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_8_en.png index b023c7b6d6..913427e07b 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b0da42a76838a54311a5ea6ec54725f3bb9c91c4ff7bc09ff571d6cd7b6796e1 -size 25369 +oid sha256:72d7a54da8502a7e70d0e6b1bcf8c6e2e0d2e78d328f73b7edacec58a2bf99b2 +size 25377 diff --git a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.folder_ViewFolderView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.folder_ViewFolderView_Day_1_en.png index a994031677..8761e14e80 100644 --- a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.folder_ViewFolderView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.folder_ViewFolderView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2fbbae07a9bf3916b201ba3e9e8a626436554b58c84b06d16e99994ffb643ed0 -size 9475 +oid sha256:8dc926ba5eb40d3eac7b25ff1aaecbe253625bd4088150feeb2f27aab0ab823c +size 9455 diff --git a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.folder_ViewFolderView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.folder_ViewFolderView_Night_1_en.png index 710aa7d077..bd55857b04 100644 --- a/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.folder_ViewFolderView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.viewfolder.impl.folder_ViewFolderView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c977682e0e61471d8480fb94a4deb58b484ed22511ab8ecd738cc95f3aa8b604 -size 9271 +oid sha256:f55b0a9d592a6c6270fe7464a4be4c75d50142f9261d5e54bd4334dad6dd8d5f +size 9237 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en.png index c37b28f509..40c04c213b 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74d25a9355c2f249be125c06c5c15f6cd9cacd3fb6324f7f670f21cd3ca28e30 -size 9769 +oid sha256:0ef3cc9e6f79d13e9dbe130f98d07d952796a611ed48cac548769d1d67ccf1c4 +size 9779 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en.png index c5d39b6c55..1750ad5fc2 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b85d66fcc8b6e0b49b210800b2938b8d5480d264fd08f07819ea564be5546a4 -size 9369 +oid sha256:0b3e2963f8c4ee95c66e98ed9d738ceb83ec7783a9697da60eb40be2ad4eef1b +size 9323 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Day_0_en.png index bd7e113acf..d80a3c8476 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a21ccf359a01da4a9cfadbdac4abdf211dfed4a048788cd4dbdcb2991b073e8f -size 8386 +oid sha256:58fe9983292ea8d6ff6c8748877943f85e9c2c937211783ca891bc6209f9399f +size 8376 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Night_0_en.png index a1621615f7..4bed98b6f6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7bade36c82911d881465d76accbdabcb71072fe6415d703fb944c541ae246d0 -size 8215 +oid sha256:c4fe00d1d74180ee2ac2b265714dfaf98ff4809cebe78f9c3bc71ce815ffcc5b +size 8195 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMolecule_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMolecule_Day_0_en.png index 043d1da5fa..6c74251107 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMolecule_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMolecule_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3248e3069f85cbc048b8e2815f228c5892408aee11a439d939a22573a0edaf7 -size 8876 +oid sha256:9587bbdc45527c0aa134fae9b60a4f37817b06319d9990cae0ce79afd116247d +size 8861 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMolecule_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMolecule_Night_0_en.png index cd4a4c9a2d..f5221eebf9 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMolecule_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMolecule_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c86813c6946f8603aaa8861a406d4dd6466fde844b15a6d2d4d6be08c1b8e119 -size 8862 +oid sha256:6c1b917835ae2a976b0957cd7fada3ab28ae58c97e7071c50d98b9f60ae92074 +size 8840 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_FlowStepPage_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_FlowStepPage_Day_0_en.png index da0412fabf..e769b26dad 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_FlowStepPage_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_FlowStepPage_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:07c84f87008624ff4c5404d37624366c00d09ac0bd0ffdc1b691bec794406d53 -size 15703 +oid sha256:185025d6aea05c567895476551c4c28b58c2ecc2187b421a62cc27aadf2ad71b +size 15675 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_FlowStepPage_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_FlowStepPage_Night_0_en.png index 0c0c23cbc4..648d234235 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_FlowStepPage_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.pages_FlowStepPage_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b52b89e4da158fe252f5c555cbb13eeda373d765e4d53cb1d658edc25eee06a9 -size 15345 +oid sha256:f4212bd79e7ad47b796e56a2cd7eb06f5eaa609336117c39109d30df0726f5b4 +size 15281 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_0_en.png index dee6e5097c..87d6494f45 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b441a1cf60dedba37d5f530e47f2b3c33b23d6dbe3754c8c9bbf0697c9228ea -size 16597 +oid sha256:4ced8e8c6ada5c2d26a29c5b13ce36419b24182161838f329cb385c25b910813 +size 16512 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_10_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_10_en.png index 4462ff8798..430dea71b4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_10_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_10_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b20a53d7a1bb9e6cdb5dbae068c1934d4716986618596b33899caa975070f41 -size 14802 +oid sha256:248a26d9ce3a0bb41bb39fec680e81bc1016903b0c84353dfff34105557ecefb +size 14727 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_11_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_11_en.png index 372ea84af7..0cf3a95fce 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_11_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:43363ca5bcd72a899ddd90899c2061d7aaf1aed3408a14faf1a242af04f8feda -size 19080 +oid sha256:e44ac29c970ddab492a1b9550315a82f983b88474287165ba732e57951647a81 +size 19112 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_12_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_12_en.png index 44a9f12406..a5fa8c4ce0 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_12_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a1c284262da7cfc1af8aa583d2762084bf1693c44f83bf1cc1de2d74f57dae0e -size 19408 +oid sha256:1a5d7a89a88e183a60124b2bbe1d6887b76e4826cbf9bf046b8792f2e73a7f10 +size 19357 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_13_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_13_en.png index 257534fa92..95182b6e65 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_13_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_13_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:130c300ec896d60e665cd3b11b3d58dd72b54e01365053a677330a52b86314c7 -size 18532 +oid sha256:a9b7569474b8f774f64f3bba5ad79bb3dcc95da232165f085915706331928f14 +size 18493 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_15_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_15_en.png index 5aa2ad2c6f..342aa8c05a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_15_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_15_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90fbc995b03553699a0ea3cfca65b3c0d800ad91f7405cd59d0f6110aeaa3783 -size 17591 +oid sha256:1a5d7eeaf934afe74c2adcf18c26c9be9bb40e3e0fc28840ace5b13222fe4395 +size 17513 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_16_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_16_en.png index 53d55e5152..a7190b53e0 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_16_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_16_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f0d092bc75f8199660f9e527f2712824535ddbcde91da6cefe4b306f668dc026 -size 16279 +oid sha256:92555d078b2abbc370fb987ff6a7a6ed80cca269d6c0e359cfbb3ac40a3380bb +size 16203 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_18_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_18_en.png index bf6ccb2dd9..fe1cbb2e97 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_18_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_18_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:999fc081f03ee5e80036278cd80098cabfd0b776362ac871c4324b2c1c48bf97 -size 19232 +oid sha256:a5522be3761da657c63caf68ba0125ea5c74cd873dc81890487147e97d96f2c6 +size 19096 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_19_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_19_en.png index 258b1f2c09..7adda850ef 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_19_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_19_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be7d7c2ad722d9b3b3ca4f9ec4994df387c32fa28480bb8ef2b0d9b57bfcc588 -size 16994 +oid sha256:571520c08e2479f1b291aaac42faf282f2b3ba2b11c6da1c3fe0fe72c35789cd +size 16906 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_1_en.png index 90889c4d58..652d5a8b0c 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:62c51fb186f7540b2f4c8c3ef2e38cfab77548054ab9527f48a090b2cd9c2e7d -size 15821 +oid sha256:ef4c2b33e560f84573a624c5b22dcb805a68713249efd58b1fbea3dc66b69e5b +size 15760 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_21_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_21_en.png index bde780a065..3e698c3931 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_21_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_21_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dffbd73e81a83bec2d11604411d7153bcda8ec44b1e5edc96ad5efd347441137 -size 14509 +oid sha256:cf0a7203b4e241a0ce3aa6aef8176a2eb1718f5316a33785831bebbbe5585174 +size 14489 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_22_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_22_en.png index 6856025214..4ab78c6e90 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_22_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_22_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e925ecead3a108881093e83a15fa2702ece8bdb950336489def58c860960e177 -size 13651 +oid sha256:22923aa02299eacfa7dad5e14d1db135bf469c292cec86cb7e50e4d49ef9657e +size 13647 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_23_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_23_en.png index 39197031a7..113f1cc272 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_23_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_23_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5fd5a514986ca09fd5d59f2ef6c1061510ea22a40ff74ce3a5048464368bdbbe -size 16583 +oid sha256:64ba8cfebc5697bacedd498a508fe9f95491cb58128cbbbb39fc5a363b56c652 +size 16609 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_24_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_24_en.png index d013a9b536..51e35f1ca1 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_24_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_24_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5424c7ac0dccbcbf2768d129ec31d2675a729ee17852f1c773afeebf9540f3a2 -size 17349 +oid sha256:236f6d52d4038ade79b69117c0c6c70160bb0b1ccca071abf98ebacacd2f3448 +size 17261 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_25_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_25_en.png index fb83908f7b..4999f80ba1 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_25_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_25_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec91c4129a04a5bbd82add9216657d1ef6f61c62cdda8e7969d62a9d3d11b03a -size 16037 +oid sha256:c93ff34ccaa6d4b8e0bc4215103edc5193a8ec440c44edac580ac4982f8709d6 +size 15954 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_26_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_26_en.png index 95efeca161..4e9d8edab8 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_26_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_26_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fbb735a2e27619514a06ebc6e1d84fb6a37d1447a46797e68302dc76655bf323 -size 20700 +oid sha256:38ea2bd258563803f089ed79d897b2832d7b8e3440025bd60b6f3156ec0536ee +size 20690 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_27_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_27_en.png index a183374ac6..2d4a710872 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_27_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_27_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:56b2d5b052303c44434c9752a3d2fcd2c40453370a17c24c2ebf33cc777a7e7b -size 17761 +oid sha256:25e7c79c8a912904bc38294d1f367d3a3a57d03a20e1ca0ae1348e4825c691fb +size 17711 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_28_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_28_en.png index a9bdcd2885..5ebc5d2ef4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_28_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_28_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b09c2ececc08eb3caa70afd3dbd8fd6b34a8d64eb9d9dc99e5ebb1ea2d8d96ea -size 16456 +oid sha256:c4b51da006f111b5fdab3f56dbe6999535dda53554d2144d3c60c6ad1b206f1f +size 16413 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_29_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_29_en.png index 261dd54d80..02297f29ee 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_29_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_29_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b84949b7a5256c5f3881b9811705eb2f6f2c7b108fb85aa45adf2d4c8afd2b7f -size 21127 +oid sha256:8cdac51735a02d6dd9f03a70937cf2a8c307bb8ef8636c6a136c389646cb2e67 +size 21150 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_30_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_30_en.png index 7f11155791..4862e8d7fc 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_30_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_30_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd5e2eac32ac182e297879363f4ca5d9f93c82ab200e9c3ed15fc42710bbba18 -size 16769 +oid sha256:3adb8e047bce6fff40da5c4bea7ff3fbd43ba222f56460fed0531b5eba6f625a +size 16700 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_31_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_31_en.png index 9ddacf9d65..6307a40eda 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_31_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_31_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f6739cf3b393f3ca39cb7f266baf64199b90e4369ed658beb0641e093e572c7 -size 14963 +oid sha256:f7ec6ab8a34282841d7f276aec8222ee4c420612029d8d3dbb0c2f7baf46eca0 +size 14902 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_33_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_33_en.png index fa5d08e9a2..b8427d9047 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_33_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_33_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:06310ae4063a59045b5da45b811b9cb29bd483beb86cce8262494177d3925e0f -size 14583 +oid sha256:0ba2e43a4805ef3c96112d3f7276e841faa37067452611d76ff951834e7badab +size 14467 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_34_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_34_en.png index 90d3edbcb6..874c5cf475 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_34_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_34_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:db4f833beff2bb588fccc1294e76703ff64d427bbf141cf730538a856992d609 -size 13808 +oid sha256:c7e80e184ca359ff7d0df57b705f9420f3fa0ccff15d3fa14fe36766d4655383 +size 13720 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_35_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_35_en.png index 25f01d0c77..1814093696 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_35_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_35_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be37247d044b78541c1da7d4e28a3906e89a369f978a486ae1c1aa70b583658f -size 16321 +oid sha256:32df3f3250f88aa77fea3278630d9f19abd45950211d520fd985969e933c7207 +size 16291 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_36_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_36_en.png index 7caaf879aa..9d30d209bc 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_36_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_36_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:85db59158254fa043e53feeddce69cfe89a308a385dde3dcd9a6ff6b94aef7c2 -size 15105 +oid sha256:fe9ef2104d07bef07f86bc4f0599bbcabb719552f60218ec5058890774508c93 +size 15022 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_37_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_37_en.png index 60077980a3..1e8d0a409f 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_37_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_37_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d22ae88ce675b24306df9d598e78600ccb31e203b30f5cfc9e94432bedc518bd -size 14324 +oid sha256:411008138e0d8e7f3b5d57b8bfd9ac2d408667f22ff435c69d17cbafea897f96 +size 14266 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_39_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_39_en.png index eec3b821df..1a5f94c9d8 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_39_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_39_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f0d524d6f2a6f0cb2b06e8a359c66819dc7e8eb03ad0c17612d35f002f2189f9 -size 15484 +oid sha256:0997b6a553490f07c97e2d56616101a579e367586ff2a86ee1a43c5b71008022 +size 15459 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_3_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_3_en.png index 8f54e4f0be..6e66244ce3 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_3_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:134390dcc21a7131a88b8060d15ae4a830dd058b1b89518264dd58f503c8b81d -size 22547 +oid sha256:b3dadc50c3d8b9b8476f73b08a7e4ab3bb557005b87d838d34e0d68fb7ca77a8 +size 22320 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_40_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_40_en.png index cf8459e6ba..d501078964 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_40_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_40_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ebe050aae72443fdfb7a8cb11e7b5d89a0614907155c3bbebda656c8d44b30a1 -size 15141 +oid sha256:5e2a82d613feb2fc88fa43c77668af2305750301ecea564fb2e65ae4d42c5e4a +size 15118 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_42_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_42_en.png index e96833b111..f3b2441e94 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_42_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_42_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:77d4c098189f99f7091738791218ae663d168d30a442804b8923243c8727598b -size 16145 +oid sha256:1eb10a2627a2a7be8af030a305cbec963f6d3f03358d9acdfe1d58e852247759 +size 16058 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_43_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_43_en.png index 1478eba397..1136535f88 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_43_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_43_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74da4791ade57bbf0b0393143c3f40e9c8aaec36f438ecc85a872ad0f0e03da3 -size 15388 +oid sha256:8d294591f355f604bb101abd6b7f27fe4f6d884d9d561baf46fc45e6d8111fd6 +size 15332 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_45_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_45_en.png index fcaf26295f..5088cf47a4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_45_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_45_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee072668c6161aa3e2195c2f963bb502112bf6ade57a35be44b013b30aa3d0a9 -size 19308 +oid sha256:af4a8ea34761a5af0f14f979e9dc83680703a9ff8e5ce53ee0bcc4b36a39aa3d +size 19231 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_46_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_46_en.png index b63064c734..301367e005 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_46_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_46_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:06d03aa5e848872228a58b399685bc78dfdbad783cb28bfed609dcdc371a168f -size 18520 +oid sha256:4a3808fc8a5a2160144e93508dbcb09b62e52e9f7f83cf4ec8d8e7a20c7cf554 +size 18469 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_48_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_48_en.png index 598a31fd16..729bc5ae58 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_48_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_48_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f96f83d866d29d3eb713adf9fb8e216414a1eb924a63d0458c77522ba0de0499 -size 16709 +oid sha256:1424c9540b87a819d8fd4135db963552794ffde39f5915b1bbbc0ec83d747bcf +size 16595 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_49_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_49_en.png index 0e609afb69..315e227c79 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_49_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_49_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:93e866bf58f381020d9516662332a6c986bfd61acc9954723b27adb52c152d68 -size 15473 +oid sha256:53d2bff076eb5a8e855b54f79cd179e57750e24a457b49a64aca9f176d34b294 +size 15348 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_4_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_4_en.png index 99f1aa1671..bce55a991d 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_4_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d8ee1ebdce2f3024b4f813afd80732afbaff74168d4d7af826e4c5dc1714d15 -size 19159 +oid sha256:f67ff8dcaffa28940828798827e10986288393292207dd7b7afc22d95ed82ddd +size 19021 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_51_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_51_en.png index cbc5a4ba10..88e494d6a8 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_51_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_51_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e531de46bbc667647a29dc40e8751bad96a089d6765fcddfc69c47147602563 -size 12918 +oid sha256:38cb5a55723aa8c0e8044bb732f8013d3cdc030797ef981d5cc867f0c70203bf +size 12923 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_52_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_52_en.png index 1d1884a7ac..8de56ec748 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_52_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_52_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc57d1ccd6657417469d0d76de066f3a555a5296a83b1cb7168cd64680f97bcd +oid sha256:f6458f921eebb7ceebbea2b8e6da2aa18071015e02ef68e4904e3a84cb460e5c size 12584 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_53_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_53_en.png index b42d0c123d..b87579d730 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_53_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_53_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0960f771d8158f52ad925c04c3d9770f4babec0d9ce017958ccd813b4c0012bd -size 13796 +oid sha256:68cb86e7966e17d3240de09ba69aa4af36e4b07c1b669b5003af8071d6eb1ee1 +size 13832 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_54_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_54_en.png index 488c8a32d2..1bc88154e5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_54_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_54_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fe2a0b40572b28fb5934d999ce4fecdf76f7efb61caf390669054c084af594ad -size 18778 +oid sha256:115d72ff7fae6a8673dd1908ef749710042d04c4b37f6cb13ec647682412d22a +size 18643 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_55_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_55_en.png index a59d5f174c..d92dd4a1f6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_55_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_55_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:57358f0990a41b7d22a42b5f06662a8549de79a50126491fa9518bc3ce33bf9a -size 17099 +oid sha256:780cc6ffcae4754ae67fcc522a2149a1cd8b20cd1e1441d28c5441a2d0d760a3 +size 17006 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_57_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_57_en.png index 69af73d4be..f9b3e60905 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_57_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_57_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16b2c55f72419639690b09ef46c85c1d284d1da79439adacb38775ae6352c3fb -size 21125 +oid sha256:5f826889a753d73bbeb71bd9706a21c476f93e448b2491160045392b6472b4da +size 20976 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_58_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_58_en.png index 696beb67c6..92617a1ff8 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_58_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_58_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a86f83a07283d0c98c64d3a041a6d0b285991f64a34ad372f07d2e04e4d0eff6 -size 19455 +oid sha256:efa1c5a898ee842b444115e45eb57c1c1624d84448fea79436a7b153f97d0c73 +size 19356 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_60_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_60_en.png index c670583b4b..1d8756b909 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_60_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_60_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7eb42896831203a1cd8f1ac85b96d33d1048d626f5ee4778733a28d48aeebea4 -size 16744 +oid sha256:f3b7c704d2aa78d7ca48ea8a2c44e4038a543e3a42df9adb6170a9d8e8497335 +size 16661 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_61_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_61_en.png index 6f8e06f572..4391b4759f 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_61_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_61_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:93f23803bd0b5633615fb7c1cb40c76a7a1a755f43fb755a08cb390dfd956d75 -size 15967 +oid sha256:c403904d27f1b0c7b7964e8ddaf96b27df9f7e660c67fca72849a53591b8360d +size 15912 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_63_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_63_en.png index 3e1cb98594..ae4113574c 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_63_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_63_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f600185bb7a9fe6f4e425d8bf43b2743e6169f3a13c34117059aaa863c1b1de0 -size 21593 +oid sha256:76077b390e22e005eee695d0da5dc3835182214675d4e1b5aeb1f05cf5614ff6 +size 21544 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_64_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_64_en.png index 5a6d361d40..f233bfc0ce 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_64_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_64_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2559b3b0e5242e9867aa5c821551a17dbab723e1018476289cb91ed9b9f9ffc4 -size 20736 +oid sha256:2a624a14ff7ca0fb65e89e69357eb551ee4fd4aab4cebbb38cfb017fdca8f832 +size 20702 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_66_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_66_en.png index 821589afc5..4750a7f71d 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_66_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_66_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e70ce111262f22f14ada0993a32d23e1532c6d7a24f71c38d6aba4af6610054 -size 17350 +oid sha256:631ae3b88cd0be00dfc4ceda6ecfd49f56526c2605c5c3c1f3975443a6a726b8 +size 17310 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_67_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_67_en.png index d0b966d6ec..643a670bbd 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_67_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_67_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:88fc583b69d153e9027a2df3f98b45a607dcf32838af033b82b3b94e3e03dcc2 -size 16486 +oid sha256:c2105c726a015292a180feb55164181d331b9f162e47152d36d49d6ccbe6e3fc +size 16460 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_69_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_69_en.png index 3697470264..1f85375406 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_69_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_69_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6be06e6a243feb8096a2f121e5cadbd5d82351807b537c938e0e7cbfdf52739 -size 21115 +oid sha256:e66799a7ec09998d9377fae8f6ff79c46cf8978a6c2a95c7fff7f21f55bd87f3 +size 20976 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_6_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_6_en.png index 1ae28cd8b1..ed869b2797 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_6_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:29b4f035a161707d8c551f70478651b1c49136489f282f56c1c10af399e182b9 -size 19853 +oid sha256:81ca238ee18e8d2c1e9d88e587af8bff1540d93c0b514c54463f5564c60938f8 +size 19727 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_70_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_70_en.png index 7ad7b48d2a..f097d7b073 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_70_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_70_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:94607803d470f7f5772cbf421b3e56a845556773b3545cae5b42314a1804a02a -size 18858 +oid sha256:c2db8f5b2d57debf2dfc4dbfe807ebe8278d27994242761abb709119374c9786 +size 18769 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_72_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_72_en.png index 2202019ea4..e2704b5cc5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_72_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_72_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61d634e424c3858902d03a50a128ecbba4c62766ebba97cd04f6eb147f41f71d -size 15042 +oid sha256:ad1c15d26a5f2711585276388d3595a997249e336950937a57c7beecd4b6b984 +size 14956 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_73_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_73_en.png index 594f49999b..55b9858dfb 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_73_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_73_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4fea2725865c6277387d8f9d4f1bc980548b671f2946c89dbb9f4cad34be80d7 -size 14267 +oid sha256:ec1f5a41d1039cc3f93011fc6d05420964cc0d5d53db393c47a6dd9916588602 +size 14211 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_7_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_7_en.png index 8a3b5ced60..aa519d44aa 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_7_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5fd0e375d985f2e77eea87650455c7bc5b4e8f1f5f58467811f686316c5449c9 -size 17581 +oid sha256:1ac518288c95dfb20dad98d20a938fcabe0865e93e92505b18ba84afce076bdf +size 17498 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_9_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_9_en.png index 2740280540..29a3b0f70e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_9_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69dcd8a997542d56ad3c327f3937f9fdc31eecebe30a07a2e6ee26e631c140e6 -size 16047 +oid sha256:519a8cfa95f167c3079db311a1742521f1b507bf85f54a90faa66b409725a698 +size 15977 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_CompositeAvatar_Avatars_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_CompositeAvatar_Avatars_en.png index c48605599a..d14745b783 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_CompositeAvatar_Avatars_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_CompositeAvatar_Avatars_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa80768048c3247ede26c831a9d16a2f9c27774b5d9b75e70cb31e0f26b4d411 -size 27620 +oid sha256:374b810a6ef7011ec1270b7d4faddc8feacef10d167a5b2fc2c920d87f7d8e2c +size 27831 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_DmAvatars_Avatars_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_DmAvatars_Avatars_en.png index 862b5b2ccd..3637ff4319 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_DmAvatars_Avatars_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_DmAvatars_Avatars_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dea2f3a3abc6779448f3131a90c7bc03baff57c3ee7d625606064b68d8ec9f97 -size 13938 +oid sha256:0592a31cca999b182dd721b248833d4656ecb58fadb65da93549746fbe2b08fa +size 13828 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_UserAvatarColors_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_UserAvatarColors_Day_0_en.png index bf2e5fa8ca..07192c3f75 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_UserAvatarColors_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_UserAvatarColors_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:691d8e4dc14d18b506bd44f919e7c21b8c4e361343032a0b254ad5d8fd2cb684 -size 37791 +oid sha256:0a60334ab53573805f1875255ef5d9695ab4a9eee5a4870a1cea955406c8da74 +size 29145 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_UserAvatarColors_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_UserAvatarColors_Night_0_en.png index 8f6b93c8aa..2c87ab1cb4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_UserAvatarColors_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_UserAvatarColors_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ac00ba3c6effb8691caf14a6ef4e7163f97aa191dd274660149ae4665315eb17 -size 39284 +oid sha256:f7d2beb0f0646b71582db6b88a54233d5af484e92792c3831e4dce31ec73d6bc +size 30343 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.list_SingleSelectionListItemSelectedInTrailingContent_Single selection List item - selection in trailing content_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.list_SingleSelectionListItemSelectedInTrailingContent_Single selection List item - selection in trailing content_List items_en.png index 88f75477a3..7711847d7c 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.list_SingleSelectionListItemSelectedInTrailingContent_Single selection List item - selection in trailing content_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.list_SingleSelectionListItemSelectedInTrailingContent_Single selection List item - selection in trailing content_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a18e62759b9054d442a6db0728cdc2f9be909e7210fe5b23624c5e0ad51176f -size 15707 +oid sha256:6d438d36942250c60ede8576302626c5153abd57b4978d7d562bd71b53bb0062 +size 15702 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en.png index 9d4fb09fad..08c005bab8 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b2e036e6ced55fb8032f363a28add114827916f7ac980fae7b111f879c7e50c4 -size 28665 +oid sha256:f3420479aa06f71e72308792e35dfa7a41c2f9b20a30b6fc1df88616634959a3 +size 28661 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Day_0_en.png index f4afdb656b..6772406ecf 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e488f4df71f18f5ff63abec1845fa083ad995c09854e579d8a0eaccf2723d4eb -size 26086 +oid sha256:285948fd62eb9f2f5e272fef3fd720489b3777c24099da22e03f6ada5fcb65d6 +size 26083 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Night_0_en.png index a05e22766e..e0b8994295 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferencePage_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cbad116438fb8a7e69db8f0a97c0ff8b36e2d69814a11ff2cdda1aebf18f0fea -size 25363 +oid sha256:84efc1454f6bf11de47a95e76400cd9c426a00691230da5287ea03f91accf0cf +size 25372 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextDark_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextDark_Preferences_en.png index 1ec0abb47e..e4c9c82c3c 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextDark_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextDark_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce5b093e115d2d8717bc5c734677bad408e0b5d1c534d4a5c94c40f1c4e9fdcb -size 34473 +oid sha256:b6432b9d7e491fd647898a8c1adfe65dff5141494ceb6801ca17dfd3c908f262 +size 34450 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en.png index 56969e17d1..dd33b70f5d 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:917e8aed62a4920af9e3d4b0edba2a392a9d59daa94cc421392d826612efd674 -size 34955 +oid sha256:53a1978d02b8229ba18a75b0c8e05d9a9aa4934815a82b0da865100fd38bfb10 +size 34934 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en.png index accefa8d3e..e591a037b4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5569af6274c6efe0f4fce3402a785cb4ff9b8d904a8a6ab66739dac17a19872c -size 36961 +oid sha256:9d072307f919575d403399dfe8b31ee13a9821495565bd9450768411cd837408 +size 36943 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en.png index 8260116221..84e35bc145 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:452068d789a6dc3880bb69cb83d336bed47b884c7ff6217656d39ee7e3d441a3 -size 37083 +oid sha256:7832924770983aecd3a81d01569ef74c6d3d2f92fb19efb23449ebf619152ad9 +size 37057 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_0_en.png index 3860cbcd2f..9156a34b58 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81be356171cc0d4f822ae916922609a9010c742bbaa5a7077b50c2d112e233a7 -size 44930 +oid sha256:80bf6191173bab26d196e66d022255c7cf8c031061d44522165199ce5c3abbd0 +size 50190 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_1_en.png index 0f711999bf..6ef1d23577 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8863ab61ea03afe0622c12640b11eb6307f33529b662c83bb8a3b91d9afbe4d6 -size 42888 +oid sha256:684650531ea641f8c3dc0739b202ec4d7f9f717f1c23bde44f63f5ecd47e0b53 +size 46931 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_2_en.png index 0d538287b4..13960e52e6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:37360b6fa8af79ad869606c10f660a7835473f8350d9b231279275df57eed8d0 -size 49573 +oid sha256:7ab203c47f8660819913927831c6e114eeb100b1160fde5cc6a0fa81bb4d4148 +size 44419 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_3_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_3_en.png index 165c41212e..6f2246db2d 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9cdd518a5593a74e15332416e8c5440e5d016ba129106f981534488e1851a167 -size 45570 +oid sha256:c71c953c89ff64e19cc336a50c57a946d4a0ef7a4a60eb46621fede8bcca727b +size 43784 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_4_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_4_en.png index 2b5c066933..0a46fdb082 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:36ec47680192c6ab8225dd75aae7a04a5a271b153cede425cd47176073fa8475 -size 47500 +oid sha256:b6cdd667ba35aaab7cbbdc4a5fc0c17b48f88417bb104ad028bdcd89bdb19f18 +size 45296 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_5_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_5_en.png index 175ae54659..dc42839479 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:559a2d5c69c69d5c94ed62a8b97dc85d33189e9286b29149e7e75c5b2819d349 -size 47980 +oid sha256:8cfa36ce4014b840be707e2538c83e4aac23c46f83aa6a17aff82be704e854c9 +size 47278 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_6_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_6_en.png index b04e68101f..9156a34b58 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:08d147373c497afc38c93535b4c0adb91884518c20c9362b43a2183f707481fd -size 43785 +oid sha256:80bf6191173bab26d196e66d022255c7cf8c031061d44522165199ce5c3abbd0 +size 50190 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_7_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_7_en.png index 26a69d9e55..6ef1d23577 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:27798cdbef329b4d907a95c16a10fcb6b226d31157e3a0532d4cee331f3be471 -size 50362 +oid sha256:684650531ea641f8c3dc0739b202ec4d7f9f717f1c23bde44f63f5ecd47e0b53 +size 46931 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_0_en.png index b4bebf25f7..37db78fa24 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7df1a3d1f6f4ba25e03c77f855494e7c1b014219434ccb2ec65f57cd3c3800ac -size 62437 +oid sha256:d7d294df16cb6799de0ca458d978053fd4f3153248eb76fb30b85609fdcfc515 +size 50440 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_1_en.png index 78cca295ab..3cad434683 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:12a5785ae5a3705d5b32dd4f728efb6f6ae6e3b2bc19adcebaa874f6aced4f28 -size 62472 +oid sha256:026bcdf832067c64c48616cd7ae21e21a5d75bf6311c50700b65a15fb6b541d1 +size 56483 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_2_en.png index 4964ea39f3..2e08e18b6c 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:200b248b3fa7ca19b938a1296ae1f4d724bbf802750439ce5bd98c282e3f8e2d -size 57675 +oid sha256:2f9a535c7136ffec44a9c9bbfeb9c0b8c7f70d5202a211ad74ea65a7e9867d17 +size 60299 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_3_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_3_en.png index b06d6a1387..afa6555bd6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bf44129012a8faad4fcf39d5c1f10e5012217c05dc6c1048ee401bdf3c4bb1a2 -size 62046 +oid sha256:acb92c81859fc9eb995a090915dd7fee41825e773dfd17e44302659a9158eb2f +size 61954 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_4_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_4_en.png index 3fdba3d65d..4751eb13d9 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d61dac7a4373e3cc1141755414afdceb48a23cb3590c5b1dd1029d8236a4a3f6 -size 59494 +oid sha256:f9290fdf854e6ea6201564ac40e9563800a8738c5e70d8d6a460466aaee5ffc6 +size 59825 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_5_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_5_en.png index c395df5969..55fc946d67 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c454cae6c8a8dfcac88268b4758764c7f4234b1f4a53377caa30d8ea86f6ddc -size 60359 +oid sha256:873e4837f4791cf153651104ee8686bdc3127f357bba74f1c48e820b6c816dfc +size 55643 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_6_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_6_en.png index fda732d16a..37db78fa24 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec296c7c7a23907c12ba11cb33e56db32eaa614db27cbc5d29b61db0d63ca1c7 -size 63476 +oid sha256:d7d294df16cb6799de0ca458d978053fd4f3153248eb76fb30b85609fdcfc515 +size 50440 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_7_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_7_en.png index b60c53d68f..3cad434683 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BloomInitials_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8d7d1853c6c07fdd3773be0739cae6ebee6fe4811606f33c3b9cb58af9f4aaa -size 55490 +oid sha256:026bcdf832067c64c48616cd7ae21e21a5d75bf6311c50700b65a15fb6b541d1 +size 56483 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_0_en.png index 7cbdc6cf88..ec31263806 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e4f1eba90f6c1e0444343b363ba4712ebe47b9ede8ce265df96395f5e141443a -size 65495 +oid sha256:9b9e9eaf86150f82e4374e61423a9796a7d042bbd208382df00520fb97649ffa +size 65271 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_1_en.png index 0fde12dd3d..e8f5407443 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:600a0df590b80df7f4f3dcf7f697ebd45b914bcf860d05038e067a5657799a23 -size 63392 +oid sha256:4548f9368187b2f702f96a3b49fc2b828bfcf7fcb07825630e20987fcd9bbafd +size 62912 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_2_en.png index 6598c4d736..8edba5334d 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1bc9b1c9fa047d016db2cb8559deea47792da4413c29621485f2151da6878bd4 -size 74584 +oid sha256:1a137bba61a56335e399117108efef010dd21ee0ebcd3054b278e7aac0cc778b +size 76778 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_3_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_3_en.png index 3aaec56642..db94aef1dd 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df184fb2e30d7cde379b4f568e9794ebaa54a95941d46c60ddb7686cdf9322e9 -size 69564 +oid sha256:1ddaba3cda9a7fcd0f33a55b9141ee4dd5f1f2f6865a6f004798bb07b803413f +size 67986 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_4_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_4_en.png index 437f01e95d..29aaf73681 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5ef100d3a881907e99e855910e8e2ca1dce6687a24300816e1e875efc192b655 -size 61777 +oid sha256:c6c95186a53ef178306d2b75406e908a89ce5ea18f644fb99ed877a6ba889808 +size 68123 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_0_en.png index d824f72cfb..13ecdc58dd 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e0dce6b7bcdf6c1c296bf2a29392232e5cf5a127616d1984349bf39859a6d6e -size 62652 +oid sha256:eb474e919cbd45e0e3e33d235915d4f47853b664ec9ee89427faac57cfe1b08b +size 62661 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_1_en.png index c742359c86..5dfc7c53af 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0e2e56d615432a239fc391b8d9632217cba95664c1b2413e4599989a219eea78 -size 60417 +oid sha256:a088440355f1731341fdf8868c83a7491b5b0cfdcea89fc93a1932a950ad334b +size 60003 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_2_en.png index 2f7a0daac3..ed3de2c969 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87ed00992118d5ad764df2e5a2da26ad6f58c1b1919cb274283c89bf6d5a627e -size 71622 +oid sha256:87d592fd512c71d48f7f5ff7f5d9d8661b5bd698f31f1e1ac92c67bd845d485c +size 73773 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_3_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_3_en.png index 36ae54c217..1f6dd5a021 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:99df01ff57fe4a6f2922d1e7820da79ffd0fdca4d8a1384d5148a3f8cfa4d38c -size 66698 +oid sha256:8b1e802f8ed6410fe90f02342d8de77e14c80fc7b12ee1608b96e5e30b16f25e +size 64941 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_4_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_4_en.png index bdb9d4c829..be37cc6ff3 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.icons_IconsCompound_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2c786eed63d7b18bd4c424dcf574d12a5f3c52da5f2eb7a870bbd79523e9a1fd -size 59187 +oid sha256:3e85bfb40a17b393c113a907f1ec468a354b78dcffa057ab2e7ae40beef4aab5 +size 64907 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en.png index c3be6f2a61..01e6f56033 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:704d086c20ea83c331688a78e7a25f1dcd5bbf1abc765f78646d5e3226649c75 -size 33494 +oid sha256:134b6c98eb0fa9513a50d1c272901b2881a7b1b1b4303b299f36d6dff832e9dd +size 33504 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en.png index bcc0065ddb..f528f58de4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fbd38606d998b615728e94ee81d49d22c34bc9ed8c99d9451129120102d51aba +oid sha256:a78c77da5eb9c5706bbaf306fba85e311757990b81ad5d5714a4a8ccf72adc92 size 24411 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en.png index 149d622e12..2dc142ad75 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fc1c9c602730ab611b130c88103f869a29eadad6c5add50c96f72b3f0ec634e -size 23912 +oid sha256:0328504a77a8d9c1f5500b2d2b8f9504352c238cdded9fc82f6bac2c995293df +size 23940 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithOnlyMessageAndOkButton_Dialog with only message and ok button_Dialogs_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithOnlyMessageAndOkButton_Dialog with only message and ok button_Dialogs_en.png index 9d60c86973..097a0f865e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithOnlyMessageAndOkButton_Dialog with only message and ok button_Dialogs_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithOnlyMessageAndOkButton_Dialog with only message and ok button_Dialogs_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:56caa631d57bb28842663343b87d64563eac62bb10433ffaed8629cc5acb06e2 -size 48200 +oid sha256:34e29a834350849473290560a54f9780294d1b48cbabe0aaf310d14a5efebe99 +size 48192 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithTitleAndOkButton_Dialog with title and ok button_Dialogs_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithTitleAndOkButton_Dialog with title and ok button_Dialogs_en.png index 9cf5defee3..4b2572c10e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithTitleAndOkButton_Dialog with title and ok button_Dialogs_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithTitleAndOkButton_Dialog with title and ok button_Dialogs_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:774b0ca47a5e91e10aa3558a0f443b9f24a6bd9161101c59bad8b4c44f04b3c1 -size 52836 +oid sha256:c18161e45da94108e54da6f789f21e741cda57fb0a82fbf1794a2b1cf3214566 +size 52849 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithTitleIconAndOkButton_Dialog with title, icon and ok button_Dialogs_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithTitleIconAndOkButton_Dialog with title, icon and ok button_Dialogs_en.png index c2ae8499a9..3e1f4dc5c1 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithTitleIconAndOkButton_Dialog with title, icon and ok button_Dialogs_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DialogWithTitleIconAndOkButton_Dialog with title, icon and ok button_Dialogs_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:171c9e3bc9bf1eb5d1a964ea71bc3b59b5bc08506ef628567ed79330b2f71ea7 -size 53410 +oid sha256:fc0dab58d7faa2c32d79aff2435baccc57092f69fb1c64b5f1804801888b4b63 +size 53432 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DropdownMenuItem_Menus_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DropdownMenuItem_Menus_en.png index 25351b5ec6..7f7f322c3a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DropdownMenuItem_Menus_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_DropdownMenuItem_Menus_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3635f6028ea9767f3d0704c837495f55a3dbdf1604af13e70d50e1ac8266abe1 -size 23841 +oid sha256:abc6e2350ebc5ecfff7534b1febcf2cd58d37a2d90e7c594be91a595a95fbdca +size 23832 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextDark_Text_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextDark_Text_en.png index ba3a48695e..58224acb8b 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextDark_Text_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_TextDark_Text_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c0f479665a8dadb3f915cf12c38bcf2f51288aaa432e5b09e1b3bc69868d5bed -size 98419 +oid sha256:475a46d471eac8560e28bbfe305a5a84ddb5a970974b7a46208b5c44dfa8af8b +size 98217 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_CheckableResolvedUserRow_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_CheckableResolvedUserRow_en.png index f7b4139ba7..235b1c5770 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_CheckableResolvedUserRow_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_CheckableResolvedUserRow_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:efeca63705c87eef1299e73e2d960072cfba5e7f6d2ee791bc59837f7d1b7629 -size 51623 +oid sha256:c3543534aef8161d98bfd2352ec852ead80aef7e9cddf6e7a5464631ac588899 +size 51213 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_CheckableUnresolvedUserRow_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_CheckableUnresolvedUserRow_en.png index 2b05c8fedd..2a98b41d92 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_CheckableUnresolvedUserRow_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_CheckableUnresolvedUserRow_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2083d550af2b9947dd995931dbbc5ea2c0308c0942eaa19822bccb91bd147278 -size 112537 +oid sha256:9b3007b129129c812dcf492afe38e2c65ef391655e0013921f59c92e64bb531b +size 112129 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Day_0_en.png index 089480be83..d77b45ab82 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:19a2ad8ae8f9848ddaa9c97cfb5c3210afb5b5ace347b8d5780395b6d6a7cb84 -size 6791 +oid sha256:67441f7aae4f9ef3127d2a0deb64137f6cb3c0786dc98a055de1fe75e3fe3178 +size 6786 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Night_0_en.png index 6980e9b6ce..6c27699e05 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_EditableAvatarView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c80c6eecc26d80e92cb6b91dfe284b5a4c35baf29dc8fbee4799b2abd470995 -size 7085 +oid sha256:3fec5a3ff7388f5132511a9823155d80dde08429652fd7d39d393215945c1e98 +size 7045 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_InviteSenderView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_InviteSenderView_Day_0_en.png index a98f63c470..8243405428 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_InviteSenderView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_InviteSenderView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e6b744bbed26e846bf81693a054f937029744e93147f6fd81015113bf041cac -size 10461 +oid sha256:70b2f162bfc0c397eb9701922ade58665558ea0acff25784dbef3cdd5e840d83 +size 10561 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_InviteSenderView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_InviteSenderView_Night_0_en.png index 9b6ef73572..56f3063546 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_InviteSenderView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_InviteSenderView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:db33abf3aed9d9d8b9a60bad3924afae1d5544e4a15e807cbba073f1d00d6cc0 -size 10482 +oid sha256:20fea6755d84bd8668ba045929fb93248c8039711fcf6bec3897c93b89542e72 +size 10423 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Day_0_en.png index 92bb06a0fe..96eb3e81b6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59794b75363d0f15590947d2466ecd5b35f4d1b19387428878000111dcd1403e -size 11012 +oid sha256:49fae039923308d225b27ecf987d75e068ea9bcf33b1490913dcf298eb6767a4 +size 10831 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Day_1_en.png index cfd4d601d7..c2e91137a4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:93e34061a52164ae9e58965b79c8f45815bb087a5f18d104cf81ae0136884c91 -size 10778 +oid sha256:33af83e77a077110665e2486dcb278850af42f747d8c9967612867fbb57f6c76 +size 10630 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Night_0_en.png index 172bb1c8a1..e7894e0662 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7839f4238271dc892256f53c0489d8d7691ef69ea3386b0328d8d7b6ce95edb0 -size 11145 +oid sha256:e9adc34c7bcdddef0d8c257679322e6bd974c443d64c5d8554f00e46b0d5b6df +size 11230 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Night_1_en.png index 079ac9bfbe..cdf8986668 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserHeader_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:57ae644462dff919e7b6fa860f49ae93f5def342fdb9a2e3128594068b25d852 -size 10891 +oid sha256:7710bd3d1b81dd4ef3c5fe96f61c78f4b7f0a14754d9934b6cac1b703afe9dd3 +size 10953 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Day_0_en.png index 7229c45a64..ed64079843 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:91dbe96c76e6030db97465bce97f8ec3ab00d7c717ef964412939fcd9ccf6e20 -size 9466 +oid sha256:14427e0699e6d2b512be4d4a835624079a473a156353bf11a502af90a58e7e25 +size 9340 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Day_1_en.png index 06ab51d6b2..7e72847847 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:12ee967099dde3bfd0209b2dce175d80921bc10a17066102d7b1b9815b629cfe -size 9330 +oid sha256:63c5e16fe8f95846b029b72cc069c41a1c9d5e4cc62dcb1cfae70c4d00048b5d +size 9223 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Night_0_en.png index 7571b86158..2a40e90886 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:003ef78cce75ee2390d95239fc1c1348d554447ed43b35291aae6cf8ce5b4482 -size 9610 +oid sha256:0e36183af73b56b5a730e5cd8428669ba379373b299e8a7b768416b65687bb4b +size 9674 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Night_1_en.png index ad97b15fa1..33e3c489f1 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_MatrixUserRow_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:67238daed1b4adeb498c08b11a2c435fc4f83674e7c6e9d1052dfcc5a11fe9cd -size 9400 +oid sha256:406009f06788682b2c7ec9f68afaa82ba359fd2794cbf9f992164b75fb3b126d +size 9469 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Day_0_en.png index e6818388a6..f9218b3c49 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6d72b87636fbcdff96d4305bf30de4d8494505e897a8532c79cb1113aa53954d -size 7356 +oid sha256:b6dbc970789b59a9bc7db1257a6c60b9b33b7eb7747a30482802659303582323 +size 7340 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Day_1_en.png index 75d24c520d..f5560ca34e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5e5d2b5bec05e31e82852d304c11ff728812a7cb0c1900b15e16e369e4041b6 -size 6770 +oid sha256:42e59e3add65ddc468cb23d9b2bfd460d39c37b72a09deb12298a0bb28d362dc +size 6752 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Night_0_en.png index 5c5dd1a5b0..141ed9fc81 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:43290b91d4f417379e03e2bf6c874b9cfb48d43fb3d73381c28df0f399dd66d9 -size 7646 +oid sha256:bcbb1951463a29e167d3ae09be263461bb449ca8677229fe00f18b6a60c8c31d +size 7535 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Night_1_en.png index 4b8983e50e..d13d6225c8 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedRoom_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a50c5559d80c580cd293bbc24ba5ca1486302f3af963213af0bab77f2e531fbf -size 7078 +oid sha256:3118842f8b80ab4ffdcfbd8124cebaf536d131700d884ec06aa6b19ce22f742c +size 6954 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUserCannotRemove_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUserCannotRemove_Day_0_en.png index 4b82bb78c7..e7c4b63e44 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUserCannotRemove_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUserCannotRemove_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:49185b9994e4c926acc42bc2bb386dfab9c3485eaccfc4a9507b6ae837f8bf48 -size 6595 +oid sha256:fe2c12b994fa24188c553e702ef015d6507679b189a4165f0a49ad4cfc1538e2 +size 6357 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUserCannotRemove_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUserCannotRemove_Night_0_en.png index fc671fff13..fb41301a43 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUserCannotRemove_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUserCannotRemove_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:27d32826c0cf7b5f8ddcdc3fb29946a713d11d9b7f98f33da1294a526bb5ccb8 -size 6862 +oid sha256:27babb6dd8e98ddedb2de2a27b63b4e8d49854986674ddf6ce6723e3e80cfa82 +size 6948 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUser_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUser_Day_0_en.png index 6bfd36d9d0..158cadb037 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUser_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUser_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ebce3ec3b49c64ddbc022e8e0e3b9041258f1922bfa6a04df5878c9b509c7e46 -size 7767 +oid sha256:9537ea709bea3a40badfeb229ff5f5669193de76adf5b1de2802e98546167f1b +size 7589 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUser_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUser_Night_0_en.png index 69312d6272..e312363fbf 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUser_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUser_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f3230e4bda144e4bbfa3a3a32091291ad9593c3a53fa1ee283390d080593f2a -size 7939 +oid sha256:6c5913e2a57f04a376ccc81d4f22c25ab8f77eb3a696e396e2dd207d1e8e0c19 +size 8026 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUsersRowList_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUsersRowList_Day_0_en.png index c1c395285a..90cb809d25 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUsersRowList_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUsersRowList_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d68f68aa952a7aad547d49998a03cbae913d46a704bfb99d23e99aebd708051 -size 64327 +oid sha256:f85f92d481427e4156a8c65745d98686340e55da89b396d36167552344645eb0 +size 62114 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUsersRowList_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUsersRowList_Night_0_en.png index 1c24043ae0..e9e4a4a362 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUsersRowList_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_SelectedUsersRowList_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f5312fe69a89076563d0d5908abcb91777ac5c4cc0c8b37a848dd96db6a1e0d8 -size 65461 +oid sha256:8980e9a270921744bee19fef9246b981ceedcb567994ccce62e5334f3ca75496 +size 66188 diff --git a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_UnresolvedUserRow_en.png b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_UnresolvedUserRow_en.png index 8a5662e4f1..397c031443 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_UnresolvedUserRow_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.matrix.ui.components_UnresolvedUserRow_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8477a40bb1ad399bb33b87f261cb3f79b15baddea09807e73192871d1a2eb129 -size 30521 +oid sha256:936ed4d3c244fbe9a96fe050ae3bdf723e8147b889b8b6a6382f3eeaec565c1b +size 30432 diff --git a/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_8_en.png b/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_8_en.png index 0fd5bad3f2..f4d2b37db6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_8_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fab9412e9707ba957d7ac89ff40f10a0fdf1268218b9e702893a2d536fff7313 -size 13587 +oid sha256:56b9d11058f06732364668a5833f52fa4e62541fa8ee48f13996ae0a11e11100 +size 13609 diff --git a/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_9_en.png b/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_9_en.png index 196b39ba5d..b0693b38c5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_9_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.mediaviewer.api.viewer_MediaViewerView_9_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4910b3e6a3958565e3851ff4931361fbde55af8623dd6c764d589e15e30aa4b9 -size 13725 +oid sha256:25c1e3cb51b13bb65b281180862ac8fb6faa1e8bd0ce26d8d0e07321c03c116c +size 13742 diff --git a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_0_en.png index f7df2edf72..64db0e1dac 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9a60432265020b432cd3ad30575337b8fd18e0dadd88ca7fdc052c51afa0e841 -size 27031 +oid sha256:2f5d5dd5c0482dedb1801a3329579a24012df75cee1f89050b96ae836c6739d7 +size 27024 diff --git a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_1_en.png index c83c735dfe..162cb915e1 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:56c5f0d5e54f0839170ab857c8a74c6146c1b4e25bea4188a871164e4e90c8ae -size 26162 +oid sha256:637a48edbb4999c563d131026547a9bd780660052c95e7fcde6b5b660a8b4c04 +size 26159 diff --git a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_2_en.png index f372b83aab..914344a346 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d436fa43422e39789c2a03b0afb21b51000d1ec4982dbb408c4e097b883f010 -size 26721 +oid sha256:444f7fb2452b0499cb7b73b10fe1d07cbbc684ca2817cdb5850a7862361afa4b +size 26708 diff --git a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_3_en.png index eb7db23ecc..5992405685 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1893e47f6eeefbe4027e684d6a428dc2bb9a8800c9119b5b01eff97be54f1f7f -size 20716 +oid sha256:b143dd1a67f2ca6a3670ae4fa1db29d97fb36fba180c4565a60e5a29535c01f5 +size 20749 diff --git a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_0_en.png index 422f264636..642d1403aa 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d8a601793a7b04b2ff043570ba62c9358d0868a87b9bb98d96aa2ee269a4a1fb -size 25243 +oid sha256:bef1e5a48fed19c668fd5dc0883c3aafee32c6c2a3b9633725ea70140626a498 +size 25245 diff --git a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_1_en.png index e44b7fdf90..ba064ed552 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8efca1e83165a838dfa961c73a78ced23fb79e801e02ebaf9d41cd17b4599f8b -size 24470 +oid sha256:8f33bdd3d53030376ba5c981a459c79d016ecff45863e92aabad1c1295b5e95c +size 24472 diff --git a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_2_en.png index c0f4057403..ad68603ac6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f85cb7bc643c1af801da61ed7b0b0ab9fa844ca329077d1aebf29e778131d48 -size 24981 +oid sha256:dfdca886d961a2a3ebdfc4e00fd816f8c991480c840667c49c0b699bd4a9b2b4 +size 24978 diff --git a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_3_en.png index 54d4b013cb..19e44fa7e1 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.permissions.api_PermissionsView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a98a913b4532241aad5fb0f9cbb3c87127ebc6b0486dc7dc514ac2c72edbcee -size 18822 +oid sha256:5fb2028af22e864311a5efaba3f0685b2a96c5005ca77e405d4290d5963b89ee +size 18793 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_0_en.png index 223dfa6f49..10adfc8400 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:544f9816d5e1473598a6d60b835684260901f6312181d3f25f41131a7a491eed -size 13304 +oid sha256:3ac4a8ce6b6f7d9179be2d51c44c766ab71bbb7a8e9e9fcdb4d62b1c9f660dda +size 13292 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_1_en.png index 34168b9b14..79539cc2ba 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:81467baf2606980d6eefa5f8caddad6ad4b89a8272c1ae867be86725221891c8 -size 11099 +oid sha256:e8fbaa10be1d09931f7e74502a7badc15f331040da89d4dbdce97211ac7bbba1 +size 11085 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_2_en.png index fbb9e818b6..0a71dbf5f1 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e46da4f51a1619242172d62a89c5909a376b2c25831a9c83db0a5e91f0d3eed -size 30220 +oid sha256:f7e19544c7a255dc1c52f69c1387966a806ffca809f6ad071b9bc501c86a9577 +size 30327 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_3_en.png index de871ad338..6ab3bff9e8 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8c7bac6b204ffc2ed6a8ec845b28ef44ae7a920d6bc1fda877f4ce165a240a1 -size 28306 +oid sha256:a417fb437c823b44a62a4e59be87f44425de32ad347115d800f74d4d2db98ecc +size 28361 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_4_en.png index 9515229033..97e40ee187 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c0a7d85c44d0949048bd5ee141de4755e53f8b86e61a47e60d04197818ca8196 -size 32524 +oid sha256:207aa1698d4b851d6c3b97cd99ade7499abb1882c5d8a6450c83de596430a448 +size 32767 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_5_en.png index 720ee4d1bc..ebb64178ab 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a26f6207a1509809313c381c5b0f35e72d584a1323037d1f224583f95295a2b0 -size 27896 +oid sha256:d8278dba6831714c5f27c8389e4dc048c6d20404bd679e888891c2053baac351 +size 27995 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_0_en.png index a65052de97..321d4b94ef 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea6d886a61a7bc34c1c8489b96678ab46b418e75d09d60d1dabce5710ef19d9c -size 12629 +oid sha256:415665f1025fddf1141d9b46292b4e9f05c14bec32371e32b8fdadde5fd0d183 +size 12598 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_1_en.png index a03d9abe0b..187f6011a1 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9374af01ddff08c7692acf27591cf76b3ff9d7c7b7c7b9b65c9c4f5ee0493d1e -size 10831 +oid sha256:f99464f3f16b7304ed1a6a99b864a30ad874d4ada5d9960ef41dc8557c9f4061 +size 10794 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_2_en.png index 7a3a263731..37f74b70b4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79e54160970795d4045736b4935fdeae85f0a316fe6667a5871dedefc98563e8 -size 29455 +oid sha256:d89466ad2d6274b2def2b1354862490445bedc0d02e73aec8e9bd1fa77d7133c +size 29405 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_3_en.png index 5cf11127a9..af53f31764 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ac04d4d925204efee14bb0f8bf6839f35a4d0344f1f2fcff07afd277257ef11 -size 27956 +oid sha256:8bd095f282b4c40bf7f74a3487bcf3bcbea0b2c0f352f9e02400ee6312d75ed6 +size 27953 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_4_en.png index 64a14f6b57..d7f4f85e88 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c82be3f4104c294bb33fc369ad494624cd6bf6177b6f31140b8944c542f6e08 -size 32061 +oid sha256:6bd6844fb58ba85693bcf3b1c443fc585c09ed410054d7c127e477527a5aed49 +size 32131 diff --git a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_5_en.png index 7b6350a3a0..ea3268f523 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.roomselect.impl_RoomSelectView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a969b67571558b1e2fe4192ac0896b72ba6f8234542fd812cb3a4e231625d6a1 -size 27120 +oid sha256:728d0e42d5e07b3fd47b8cf3f415f945fadc606de425dc0b1b2f65750a1c5e34 +size 27059 diff --git a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en.png index 53ea40e418..0a1449cca7 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2b3c2fc4c96d46cf562f57c9d6c10c3206a4c627fea3d61507a61e74670a61db -size 12323 +oid sha256:1196ef582a13714f6f33a0dc1f04996cb55e38c247585d8aa1b3804eb39d030d +size 12325 diff --git a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en.png index ace8f949de..e8f36f6999 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:151782ceccb5d891444e3594f32c02528bf82b075b60f5fb28ef98a8259f762c -size 11776 +oid sha256:5bf752831831664d3fa3caf4877ff606956e268c69066b8c4c66062771d12eef +size 11779 diff --git a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerEdit_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerEdit_Day_0_en.png index 53ea40e418..0a1449cca7 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerEdit_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerEdit_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2b3c2fc4c96d46cf562f57c9d6c10c3206a4c627fea3d61507a61e74670a61db -size 12323 +oid sha256:1196ef582a13714f6f33a0dc1f04996cb55e38c247585d8aa1b3804eb39d030d +size 12325 diff --git a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerEdit_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerEdit_Night_0_en.png index ace8f949de..e8f36f6999 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerEdit_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.textcomposer_TextComposerEdit_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:151782ceccb5d891444e3594f32c02528bf82b075b60f5fb28ef98a8259f762c -size 11776 +oid sha256:5bf752831831664d3fa3caf4877ff606956e268c69066b8c4c66062771d12eef +size 11779 From a60fa11c93f54a324f87f0262aaf588eaede1cc0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 15:36:54 +0000 Subject: [PATCH 028/151] Update dependency com.google.firebase:firebase-bom to v33.3.0 (#3549) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a5f917f25d..f69ec4a8fc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -67,7 +67,7 @@ kotlin_gradle_plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", v kover_gradle_plugin = { module = "org.jetbrains.kotlinx:kover-gradle-plugin", version.ref = "kover" } gms_google_services = "com.google.gms:google-services:4.4.2" # https://firebase.google.com/docs/android/setup#available-libraries -google_firebase_bom = "com.google.firebase:firebase-bom:33.2.0" +google_firebase_bom = "com.google.firebase:firebase-bom:33.3.0" firebase_appdistribution_gradle = { module = "com.google.firebase:firebase-appdistribution-gradle", version.ref = "firebaseAppDistribution" } autonomousapps_dependencyanalysis_plugin = { module = "com.autonomousapps:dependency-analysis-gradle-plugin", version.ref = "dependencyAnalysis" } From 17e2d092a380f26db29f94f9772a55f91679ac63 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 15:38:08 +0000 Subject: [PATCH 029/151] Update dependency org.maplibre.gl:android-sdk to v11.5.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f69ec4a8fc..8cce3fd656 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -176,7 +176,7 @@ vanniktech_blurhash = "com.vanniktech:blurhash:0.3.0" telephoto_zoomableimage = { module = "me.saket.telephoto:zoomable-image-coil", version.ref = "telephoto" } telephoto_flick = { module = "me.saket.telephoto:flick-android", version.ref = "telephoto" } statemachine = "com.freeletics.flowredux:compose:1.2.2" -maplibre = "org.maplibre.gl:android-sdk:11.4.0" +maplibre = "org.maplibre.gl:android-sdk:11.5.0" maplibre_ktx = "org.maplibre.gl:android-sdk-ktx-v7:3.0.1" maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.0" mapbox_android_gestures = "com.mapbox.mapboxsdk:mapbox-android-gestures:0.7.0" From f26a4b556701e468eada05be0fc0188c03ae5886 Mon Sep 17 00:00:00 2001 From: ganfra Date: Thu, 26 Sep 2024 19:58:45 +0200 Subject: [PATCH 030/151] maplib-plugins : remove workaround --- gradle/libs.versions.toml | 1 - libraries/maplibre-compose/build.gradle.kts | 2 -- 2 files changed, 3 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 8d791633ec..b67e63b444 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -179,7 +179,6 @@ statemachine = "com.freeletics.flowredux:compose:1.2.2" maplibre = "org.maplibre.gl:android-sdk:11.4.0" maplibre_ktx = "org.maplibre.gl:android-sdk-ktx-v7:3.0.1" maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.1" -mapbox_android_gestures = "com.mapbox.mapboxsdk:mapbox-android-gestures:0.7.0" opusencoder = "io.element.android:opusencoder:1.1.0" kotlinpoet = "com.squareup:kotlinpoet:1.18.1" zxing_cpp = "io.github.zxing-cpp:android:2.2.0" diff --git a/libraries/maplibre-compose/build.gradle.kts b/libraries/maplibre-compose/build.gradle.kts index ec02f4d5a0..7a407adcae 100644 --- a/libraries/maplibre-compose/build.gradle.kts +++ b/libraries/maplibre-compose/build.gradle.kts @@ -22,6 +22,4 @@ dependencies { api(libs.maplibre) api(libs.maplibre.ktx) api(libs.maplibre.annotation) - // needed for libs.maplibre.annotation waiting for a new release with the fix - implementation(libs.mapbox.android.gestures) } From 856fcbcd4a14f8fb454575be23a84ecd6d6b8eb1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 26 Sep 2024 18:31:03 +0000 Subject: [PATCH 031/151] Update gradle-update/update-gradle-wrapper-action action to v2 --- .github/workflows/gradle-wrapper-update.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gradle-wrapper-update.yml b/.github/workflows/gradle-wrapper-update.yml index 975902e708..fe2a8a7cf1 100644 --- a/.github/workflows/gradle-wrapper-update.yml +++ b/.github/workflows/gradle-wrapper-update.yml @@ -19,7 +19,7 @@ jobs: distribution: 'temurin' # See 'Supported distributions' for available options java-version: '17' - name: Update Gradle Wrapper - uses: gradle-update/update-gradle-wrapper-action@v1 + uses: gradle-update/update-gradle-wrapper-action@v2 with: repo-token: ${{ secrets.DANGER_GITHUB_API_TOKEN }} target-branch: develop From dcaf7642b1899f5bbfddd378b8ed00b4103d584c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Sep 2024 07:47:29 +0200 Subject: [PATCH 032/151] Update dependency com.posthog:posthog-android to v3.7.4 (#3546) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 80a71b7649..71c14876ff 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -184,7 +184,7 @@ kotlinpoet = "com.squareup:kotlinpoet:1.18.1" zxing_cpp = "io.github.zxing-cpp:android:2.2.0" # Analytics -posthog = "com.posthog:posthog-android:3.7.3" +posthog = "com.posthog:posthog-android:3.7.5" sentry = "io.sentry:sentry-android:7.14.0" # main branch can be tested replacing the version with main-SNAPSHOT matrix_analytics_events = "com.github.matrix-org:matrix-analytics-events:0.25.0" From 4bce7afc3af1cb14e65a5969e64480e594d4e32e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Sep 2024 08:19:53 +0000 Subject: [PATCH 033/151] Update dependency com.lemonappdev:konsist to v0.16.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 71c14876ff..b183621d1f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -139,7 +139,7 @@ test_arch_core = "androidx.arch.core:core-testing:2.2.0" test_junit = "junit:junit:4.13.2" test_runner = "androidx.test:runner:1.6.2" test_mockk = "io.mockk:mockk:1.13.12" -test_konsist = "com.lemonappdev:konsist:0.15.1" +test_konsist = "com.lemonappdev:konsist:0.16.1" test_turbine = "app.cash.turbine:turbine:1.1.0" test_truth = "com.google.truth:truth:1.4.4" test_parameter_injector = "com.google.testparameterinjector:test-parameter-injector:1.17" From e0a9fbe063aa22af8bf6004be390bbcf41ccc472 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 27 Sep 2024 11:25:42 +0200 Subject: [PATCH 034/151] Konsist: fix compilation issue and implement workaround. --- .../android/tests/konsist/KonsistArchitectureTest.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistArchitectureTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistArchitectureTest.kt index fa1b3f415c..7cc848d825 100644 --- a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistArchitectureTest.kt +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistArchitectureTest.kt @@ -82,7 +82,15 @@ class KonsistArchitectureTest { return@all if (type.startsWith("@") || type.startsWith("(") || type.startsWith("suspend")) { true } else { - val fullyQualifiedName = param.type.declaration.packagee?.fullyQualifiedName + "." + type + var typePackage = param.type.declaration.packagee?.name + if (typePackage == type) { + // Workaround, now that packagee.fullyQualifiedName is not available anymore + // It seems that when the type in in the same package as the function, + // the package is equal to the type (which is wrong). + // So in this case, use the package of the function + typePackage = it.packagee?.name + } + val fullyQualifiedName = "$typePackage.$type" fullyQualifiedName !in forbiddenInterfacesForComposableParameter } } From 154114bfceaae8fe864271c22cd6ac9ba980054b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 27 Sep 2024 12:14:51 +0200 Subject: [PATCH 035/151] Konsist: implement another workaround. --- .../android/tests/konsist/KonsistClassNameTest.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt index 797f13dbe8..4257599019 100644 --- a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistClassNameTest.kt @@ -74,7 +74,14 @@ class KonsistClassNameTest { .replace("FakeRust", "") .replace("Fake", "") (it.name.startsWith("Fake") || it.name.startsWith("FakeRust")) && - it.parents().any { parent -> parent.name.replace(".", "") == interfaceName } + it.parents().any { parent -> + // Workaround to get the parent name. For instance: + // parent.name used to return `UserListPresenter.Factory` but is now returning `Factory`. + // So we need to retrieve the name of the parent class differently. + val packageName = parent.packagee!!.name + val parentName = parent.fullyQualifiedName!!.substringAfter("$packageName.").replace(".", "") + parentName == interfaceName + } } } From e21c8d146658daab013302f2399966e560290b8c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Sep 2024 11:08:18 +0000 Subject: [PATCH 036/151] Update dependency org.matrix.rustcomponents:sdk-android to v0.2.49 (#3553) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7783d6fd22..ed8602e588 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -162,7 +162,7 @@ jsoup = "org.jsoup:jsoup:1.18.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.48" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.49" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } From fd3d62fc799befad7b27521287471f6bf8ba3b3e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 27 Sep 2024 12:03:47 +0000 Subject: [PATCH 037/151] Update lifecycle to v2.8.6 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ed8602e588..619448fa74 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -18,7 +18,7 @@ core = "1.13.1" datastore = "1.0.0" constraintlayout = "2.1.4" constraintlayout_compose = "1.0.1" -lifecycle = "2.8.4" +lifecycle = "2.8.6" activity = "1.9.2" media3 = "1.4.1" camera = "1.3.4" From 738ac54be55086b1001aa45cfbab08defa9ad3d4 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 27 Sep 2024 14:13:52 +0200 Subject: [PATCH 038/151] Extract createMatrixTimelineDiffProcessor from class. --- .../MatrixTimelineDiffProcessorTest.kt | 52 ++++++++++--------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt index d442d004d6..3327b2a9d5 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt @@ -31,7 +31,7 @@ class MatrixTimelineDiffProcessorTest { @Test fun `Append adds new entries at the end of the list`() = runTest { timelineItems.value = listOf(anEvent) - val processor = createProcessor() + val processor = createMatrixTimelineDiffProcessor(timelineItems) processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.APPEND))) assertThat(timelineItems.value.count()).isEqualTo(2) assertThat(timelineItems.value).containsExactly( @@ -43,7 +43,7 @@ class MatrixTimelineDiffProcessorTest { @Test fun `PushBack adds a new entry at the end of the list`() = runTest { timelineItems.value = listOf(anEvent) - val processor = createProcessor() + val processor = createMatrixTimelineDiffProcessor(timelineItems) processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.PUSH_BACK))) assertThat(timelineItems.value.count()).isEqualTo(2) assertThat(timelineItems.value).containsExactly( @@ -55,7 +55,7 @@ class MatrixTimelineDiffProcessorTest { @Test fun `PushFront inserts a new entry at the start of the list`() = runTest { timelineItems.value = listOf(anEvent) - val processor = createProcessor() + val processor = createMatrixTimelineDiffProcessor(timelineItems) processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.PUSH_FRONT))) assertThat(timelineItems.value.count()).isEqualTo(2) assertThat(timelineItems.value).containsExactly( @@ -67,7 +67,7 @@ class MatrixTimelineDiffProcessorTest { @Test fun `Set replaces an entry at some index`() = runTest { timelineItems.value = listOf(anEvent, anEvent2) - val processor = createProcessor() + val processor = createMatrixTimelineDiffProcessor(timelineItems) processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.SET))) assertThat(timelineItems.value.count()).isEqualTo(2) assertThat(timelineItems.value).containsExactly( @@ -79,7 +79,7 @@ class MatrixTimelineDiffProcessorTest { @Test fun `Insert inserts a new entry at the provided index`() = runTest { timelineItems.value = listOf(anEvent, anEvent2) - val processor = createProcessor() + val processor = createMatrixTimelineDiffProcessor(timelineItems) processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.INSERT))) assertThat(timelineItems.value.count()).isEqualTo(3) assertThat(timelineItems.value).containsExactly( @@ -92,7 +92,7 @@ class MatrixTimelineDiffProcessorTest { @Test fun `Remove removes an entry at some index`() = runTest { timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2) - val processor = createProcessor() + val processor = createMatrixTimelineDiffProcessor(timelineItems) processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.REMOVE))) assertThat(timelineItems.value.count()).isEqualTo(2) assertThat(timelineItems.value).containsExactly( @@ -104,7 +104,7 @@ class MatrixTimelineDiffProcessorTest { @Test fun `PopBack removes an entry at the end of the list`() = runTest { timelineItems.value = listOf(anEvent, anEvent2) - val processor = createProcessor() + val processor = createMatrixTimelineDiffProcessor(timelineItems) processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.POP_BACK))) assertThat(timelineItems.value.count()).isEqualTo(1) assertThat(timelineItems.value).containsExactly( @@ -115,7 +115,7 @@ class MatrixTimelineDiffProcessorTest { @Test fun `PopFront removes an entry at the start of the list`() = runTest { timelineItems.value = listOf(anEvent, anEvent2) - val processor = createProcessor() + val processor = createMatrixTimelineDiffProcessor(timelineItems) processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.POP_FRONT))) assertThat(timelineItems.value.count()).isEqualTo(1) assertThat(timelineItems.value).containsExactly( @@ -126,7 +126,7 @@ class MatrixTimelineDiffProcessorTest { @Test fun `Clear removes all the entries`() = runTest { timelineItems.value = listOf(anEvent, anEvent2) - val processor = createProcessor() + val processor = createMatrixTimelineDiffProcessor(timelineItems) processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.CLEAR))) assertThat(timelineItems.value).isEmpty() } @@ -134,7 +134,7 @@ class MatrixTimelineDiffProcessorTest { @Test fun `Truncate removes all entries after the provided length`() = runTest { timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2) - val processor = createProcessor() + val processor = createMatrixTimelineDiffProcessor(timelineItems) processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.TRUNCATE))) assertThat(timelineItems.value.count()).isEqualTo(1) assertThat(timelineItems.value).containsExactly( @@ -145,27 +145,29 @@ class MatrixTimelineDiffProcessorTest { @Test fun `Reset removes all entries and add the provided ones`() = runTest { timelineItems.value = listOf(anEvent, MatrixTimelineItem.Other, anEvent2) - val processor = createProcessor() + val processor = createMatrixTimelineDiffProcessor(timelineItems) processor.postDiffs(listOf(FakeRustTimelineDiff(change = TimelineChange.RESET))) assertThat(timelineItems.value.count()).isEqualTo(1) assertThat(timelineItems.value).containsExactly( MatrixTimelineItem.Other, ) } +} - private fun TestScope.createProcessor(): MatrixTimelineDiffProcessor { - val timelineEventContentMapper = TimelineEventContentMapper() - val timelineItemMapper = MatrixTimelineItemMapper( - fetchDetailsForEvent = { _ -> Result.success(Unit) }, - coroutineScope = this, - virtualTimelineItemMapper = VirtualTimelineItemMapper(), - eventTimelineItemMapper = EventTimelineItemMapper( - contentMapper = timelineEventContentMapper - ) - ) - return MatrixTimelineDiffProcessor( - timelineItems, - timelineItemFactory = timelineItemMapper, +internal fun TestScope.createMatrixTimelineDiffProcessor( + timelineItems: MutableStateFlow>, +): MatrixTimelineDiffProcessor { + val timelineEventContentMapper = TimelineEventContentMapper() + val timelineItemMapper = MatrixTimelineItemMapper( + fetchDetailsForEvent = { _ -> Result.success(Unit) }, + coroutineScope = this, + virtualTimelineItemMapper = VirtualTimelineItemMapper(), + eventTimelineItemMapper = EventTimelineItemMapper( + contentMapper = timelineEventContentMapper ) - } + ) + return MatrixTimelineDiffProcessor( + timelineItems = timelineItems, + timelineItemFactory = timelineItemMapper, + ) } From b7c6369ebfca6f30963d14a511257cfa51a0893a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 27 Sep 2024 17:02:10 +0200 Subject: [PATCH 039/151] Add test on TimelineItemsSubscriber. --- .../factories/EventTimelineItemDebugInfo.kt | 20 +++ .../fakes/FakeRustEventTimelineItem.kt | 44 ++++++ .../impl/fixtures/fakes/FakeRustTimeline.kt | 27 ++++ .../fixtures/fakes/FakeRustTimelineItem.kt | 6 +- .../fakes/FakeRustTimelineItemContent.kt | 18 +++ .../MatrixTimelineDiffProcessorTest.kt | 3 +- .../timeline/TimelineItemsSubscriberTest.kt | 139 ++++++++++++++++++ 7 files changed, 254 insertions(+), 3 deletions(-) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItemDebugInfo.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimeline.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItemContent.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItemDebugInfo.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItemDebugInfo.kt new file mode 100644 index 0000000000..6bf870b320 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItemDebugInfo.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.factories + +import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo + +fun anEventTimelineItemDebugInfo( + model: String = "model", + originalJson: String? = null, + latestEditJson: String? = null, +) = EventTimelineItemDebugInfo( + model = model, + originalJson = originalJson, + latestEditJson = latestEditJson +) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt new file mode 100644 index 0000000000..3efb1ec151 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt @@ -0,0 +1,44 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.fakes + +import io.element.android.libraries.matrix.impl.fixtures.factories.anEventTimelineItemDebugInfo +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.matrix.test.A_USER_ID +import org.matrix.rustcomponents.sdk.EventSendState +import org.matrix.rustcomponents.sdk.EventTimelineItem +import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo +import org.matrix.rustcomponents.sdk.NoPointer +import org.matrix.rustcomponents.sdk.ProfileDetails +import org.matrix.rustcomponents.sdk.Reaction +import org.matrix.rustcomponents.sdk.Receipt +import org.matrix.rustcomponents.sdk.ShieldState +import org.matrix.rustcomponents.sdk.TimelineItemContent +import uniffi.matrix_sdk_ui.EventItemOrigin + +class FakeRustEventTimelineItem( + private val origin: EventItemOrigin? = null, +) : EventTimelineItem(NoPointer) { + override fun origin(): EventItemOrigin? = origin + override fun eventId(): String = AN_EVENT_ID.value + override fun transactionId(): String? = null + override fun isEditable(): Boolean = false + override fun canBeRepliedTo(): Boolean = false + override fun isLocal(): Boolean = false + override fun isOwn(): Boolean = false + override fun isRemote(): Boolean = false + override fun localSendState(): EventSendState? = null + override fun reactions(): List = emptyList() + override fun readReceipts(): Map = emptyMap() + override fun sender(): String = A_USER_ID.value + override fun senderProfile(): ProfileDetails = ProfileDetails.Unavailable + override fun timestamp(): ULong = 0u + override fun content(): TimelineItemContent = FakeRustTimelineItemContent() + override fun debugInfo(): EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo() + override fun getShield(strict: Boolean): ShieldState? = null +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimeline.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimeline.kt new file mode 100644 index 0000000000..605cc7d98d --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimeline.kt @@ -0,0 +1,27 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.fakes + +import org.matrix.rustcomponents.sdk.NoPointer +import org.matrix.rustcomponents.sdk.TaskHandle +import org.matrix.rustcomponents.sdk.Timeline +import org.matrix.rustcomponents.sdk.TimelineDiff +import org.matrix.rustcomponents.sdk.TimelineListener + +class FakeRustTimeline( +) : Timeline(NoPointer) { + private var listener: TimelineListener? = null + override suspend fun addListener(listener: TimelineListener): TaskHandle { + this.listener = listener + return FakeRustTaskHandle() + } + + fun emitDiff(diff: List) { + listener!!.onUpdate(diff) + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItem.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItem.kt index c20698fe62..f6d46799c3 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItem.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItem.kt @@ -12,8 +12,10 @@ import org.matrix.rustcomponents.sdk.NoPointer import org.matrix.rustcomponents.sdk.TimelineItem import org.matrix.rustcomponents.sdk.VirtualTimelineItem -class FakeRustTimelineItem : TimelineItem(NoPointer) { - override fun asEvent(): EventTimelineItem? = null +class FakeRustTimelineItem( + private val asEventResult: EventTimelineItem? = null, +) : TimelineItem(NoPointer) { + override fun asEvent(): EventTimelineItem? = asEventResult override fun asVirtual(): VirtualTimelineItem? = null override fun fmtDebug(): String = "fmtDebug" override fun uniqueId(): String = "uniqueId" diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItemContent.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItemContent.kt new file mode 100644 index 0000000000..14bdde0682 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItemContent.kt @@ -0,0 +1,18 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.fakes + +import org.matrix.rustcomponents.sdk.Message +import org.matrix.rustcomponents.sdk.NoPointer +import org.matrix.rustcomponents.sdk.TimelineItemContent +import org.matrix.rustcomponents.sdk.TimelineItemContentKind + +class FakeRustTimelineItemContent : TimelineItemContent(NoPointer) { + override fun asMessage(): Message? = null + override fun kind(): TimelineItemContentKind = TimelineItemContentKind.Message +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt index 3327b2a9d5..2f0b27a833 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessorTest.kt @@ -16,6 +16,7 @@ import io.element.android.libraries.matrix.impl.timeline.item.virtual.VirtualTim import io.element.android.libraries.matrix.test.A_UNIQUE_ID import io.element.android.libraries.matrix.test.A_UNIQUE_ID_2 import io.element.android.libraries.matrix.test.timeline.anEventTimelineItem +import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runTest @@ -155,7 +156,7 @@ class MatrixTimelineDiffProcessorTest { } internal fun TestScope.createMatrixTimelineDiffProcessor( - timelineItems: MutableStateFlow>, + timelineItems: MutableSharedFlow>, ): MatrixTimelineDiffProcessor { val timelineEventContentMapper = TimelineEventContentMapper() val timelineItemMapper = MatrixTimelineItemMapper( diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt new file mode 100644 index 0000000000..c47ec9f040 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt @@ -0,0 +1,139 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.timeline + +import app.cash.turbine.test +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventTimelineItem +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimeline +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimelineDiff +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimelineItem +import io.element.android.tests.testutils.lambda.lambdaError +import io.element.android.tests.testutils.lambda.lambdaRecorder +import io.element.android.tests.testutils.runCancellableScopeTestWithTestScope +import kotlinx.coroutines.CompletableDeferred +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.test.StandardTestDispatcher +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.runCurrent +import org.junit.Test +import org.matrix.rustcomponents.sdk.Timeline +import org.matrix.rustcomponents.sdk.TimelineChange +import uniffi.matrix_sdk_ui.EventItemOrigin + +@OptIn(ExperimentalCoroutinesApi::class) +class TimelineItemsSubscriberTest { + @Test + fun `when timeline emits an empty list of items, the flow must emits an empty list`() = runCancellableScopeTestWithTestScope { testScope, cancellableScope -> + val timelineItems: MutableSharedFlow> = + MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) + val timeline = FakeRustTimeline() + val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( + coroutineScope = cancellableScope, + timeline = timeline, + timelineItems = timelineItems, + ) + timelineItems.test { + timelineItemsSubscriber.subscribeIfNeeded() + // Wait for the listener to be set. + testScope.runCurrent() + timeline.emitDiff(listOf(FakeRustTimelineDiff(item = null, change = TimelineChange.RESET))) + val final = awaitItem() + assertThat(final).isEmpty() + timelineItemsSubscriber.unsubscribeIfNeeded() + } + } + + @Test + fun `when timeline emits a non empty list of items, the flow must emits a non empty list`() = runCancellableScopeTestWithTestScope { testScope, cancellableScope -> + val timelineItems: MutableSharedFlow> = + MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) + val timeline = FakeRustTimeline() + val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( + coroutineScope = cancellableScope, + timeline = timeline, + timelineItems = timelineItems, + ) + timelineItems.test { + timelineItemsSubscriber.subscribeIfNeeded() + // Wait for the listener to be set. + testScope.runCurrent() + timeline.emitDiff(listOf(FakeRustTimelineDiff(item = FakeRustTimelineItem(), change = TimelineChange.RESET))) + val final = awaitItem() + assertThat(final).isNotEmpty() + timelineItemsSubscriber.unsubscribeIfNeeded() + } + } + + @Test + fun `when timeline emits an item with SYNC origin, the callback onNewSyncedEvent is invoked`() = runCancellableScopeTestWithTestScope { testScope, cancellableScope -> + val timelineItems: MutableSharedFlow> = + MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) + val timeline = FakeRustTimeline() + val onNewSyncedEventRecorder = lambdaRecorder { } + val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( + coroutineScope = cancellableScope, + timeline = timeline, + timelineItems = timelineItems, + onNewSyncedEvent = onNewSyncedEventRecorder, + ) + timelineItems.test { + timelineItemsSubscriber.subscribeIfNeeded() + // Wait for the listener to be set. + testScope.runCurrent() + timeline.emitDiff( + listOf( + FakeRustTimelineDiff( + item = FakeRustTimelineItem( + asEventResult = FakeRustEventTimelineItem(origin = EventItemOrigin.SYNC) + ), + change = TimelineChange.RESET, + ) + ) + ) + val final = awaitItem() + assertThat(final).isNotEmpty() + timelineItemsSubscriber.unsubscribeIfNeeded() + } + onNewSyncedEventRecorder.assertions().isCalledOnce() + } + + @Test + fun `multiple subscriptions does not have side effect`() = runCancellableScopeTestWithTestScope { testScope, cancellableScope -> + val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( + coroutineScope = cancellableScope, + ) + timelineItemsSubscriber.subscribeIfNeeded() + timelineItemsSubscriber.subscribeIfNeeded() + timelineItemsSubscriber.unsubscribeIfNeeded() + timelineItemsSubscriber.unsubscribeIfNeeded() + } + + private fun TestScope.createTimelineItemsSubscriber( + coroutineScope: CoroutineScope, + timeline: Timeline = FakeRustTimeline(), + timelineItems: MutableSharedFlow> = MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE), + initLatch: CompletableDeferred = CompletableDeferred(), + isTimelineInitialized: MutableStateFlow = MutableStateFlow(false), + onNewSyncedEvent: () -> Unit = { lambdaError() }, + ): TimelineItemsSubscriber { + return TimelineItemsSubscriber( + timelineCoroutineScope = coroutineScope, + dispatcher = StandardTestDispatcher(testScheduler), + timeline = timeline, + timelineDiffProcessor = createMatrixTimelineDiffProcessor(timelineItems), + initLatch = initLatch, + isTimelineInitialized = isTimelineInitialized, + onNewSyncedEvent = onNewSyncedEvent, + ) + } +} From 7628d480a8275b0c482db4e9469fe21eedf7f7bf Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 27 Sep 2024 17:38:21 +0200 Subject: [PATCH 040/151] Fix quality issues. --- .../fakes/FakeRustEventTimelineItem.kt | 2 +- .../impl/fixtures/fakes/FakeRustTimeline.kt | 3 +- .../timeline/TimelineItemsSubscriberTest.kt | 146 +++++++++--------- 3 files changed, 79 insertions(+), 72 deletions(-) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt index 3efb1ec151..f40d0ffbea 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt @@ -32,7 +32,7 @@ class FakeRustEventTimelineItem( override fun isLocal(): Boolean = false override fun isOwn(): Boolean = false override fun isRemote(): Boolean = false - override fun localSendState(): EventSendState? = null + override fun localSendState(): EventSendState? = null override fun reactions(): List = emptyList() override fun readReceipts(): Map = emptyMap() override fun sender(): String = A_USER_ID.value diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimeline.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimeline.kt index 605cc7d98d..bcb64a9219 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimeline.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimeline.kt @@ -13,8 +13,7 @@ import org.matrix.rustcomponents.sdk.Timeline import org.matrix.rustcomponents.sdk.TimelineDiff import org.matrix.rustcomponents.sdk.TimelineListener -class FakeRustTimeline( -) : Timeline(NoPointer) { +class FakeRustTimeline : Timeline(NoPointer) { private var listener: TimelineListener? = null override suspend fun addListener(listener: TimelineListener): TaskHandle { this.listener = listener diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt index c47ec9f040..a1b582a678 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt @@ -33,89 +33,97 @@ import uniffi.matrix_sdk_ui.EventItemOrigin @OptIn(ExperimentalCoroutinesApi::class) class TimelineItemsSubscriberTest { @Test - fun `when timeline emits an empty list of items, the flow must emits an empty list`() = runCancellableScopeTestWithTestScope { testScope, cancellableScope -> - val timelineItems: MutableSharedFlow> = - MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) - val timeline = FakeRustTimeline() - val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( - coroutineScope = cancellableScope, - timeline = timeline, - timelineItems = timelineItems, - ) - timelineItems.test { - timelineItemsSubscriber.subscribeIfNeeded() - // Wait for the listener to be set. - testScope.runCurrent() - timeline.emitDiff(listOf(FakeRustTimelineDiff(item = null, change = TimelineChange.RESET))) - val final = awaitItem() - assertThat(final).isEmpty() - timelineItemsSubscriber.unsubscribeIfNeeded() + fun `when timeline emits an empty list of items, the flow must emits an empty list`() { + runCancellableScopeTestWithTestScope { testScope, cancellableScope -> + val timelineItems: MutableSharedFlow> = + MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) + val timeline = FakeRustTimeline() + val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( + coroutineScope = cancellableScope, + timeline = timeline, + timelineItems = timelineItems, + ) + timelineItems.test { + timelineItemsSubscriber.subscribeIfNeeded() + // Wait for the listener to be set. + testScope.runCurrent() + timeline.emitDiff(listOf(FakeRustTimelineDiff(item = null, change = TimelineChange.RESET))) + val final = awaitItem() + assertThat(final).isEmpty() + timelineItemsSubscriber.unsubscribeIfNeeded() + } } } @Test - fun `when timeline emits a non empty list of items, the flow must emits a non empty list`() = runCancellableScopeTestWithTestScope { testScope, cancellableScope -> - val timelineItems: MutableSharedFlow> = - MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) - val timeline = FakeRustTimeline() - val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( - coroutineScope = cancellableScope, - timeline = timeline, - timelineItems = timelineItems, - ) - timelineItems.test { - timelineItemsSubscriber.subscribeIfNeeded() - // Wait for the listener to be set. - testScope.runCurrent() - timeline.emitDiff(listOf(FakeRustTimelineDiff(item = FakeRustTimelineItem(), change = TimelineChange.RESET))) - val final = awaitItem() - assertThat(final).isNotEmpty() - timelineItemsSubscriber.unsubscribeIfNeeded() + fun `when timeline emits a non empty list of items, the flow must emits a non empty list`() { + runCancellableScopeTestWithTestScope { testScope, cancellableScope -> + val timelineItems: MutableSharedFlow> = + MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) + val timeline = FakeRustTimeline() + val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( + coroutineScope = cancellableScope, + timeline = timeline, + timelineItems = timelineItems, + ) + timelineItems.test { + timelineItemsSubscriber.subscribeIfNeeded() + // Wait for the listener to be set. + testScope.runCurrent() + timeline.emitDiff(listOf(FakeRustTimelineDiff(item = FakeRustTimelineItem(), change = TimelineChange.RESET))) + val final = awaitItem() + assertThat(final).isNotEmpty() + timelineItemsSubscriber.unsubscribeIfNeeded() + } } } @Test - fun `when timeline emits an item with SYNC origin, the callback onNewSyncedEvent is invoked`() = runCancellableScopeTestWithTestScope { testScope, cancellableScope -> - val timelineItems: MutableSharedFlow> = - MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) - val timeline = FakeRustTimeline() - val onNewSyncedEventRecorder = lambdaRecorder { } - val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( - coroutineScope = cancellableScope, - timeline = timeline, - timelineItems = timelineItems, - onNewSyncedEvent = onNewSyncedEventRecorder, - ) - timelineItems.test { - timelineItemsSubscriber.subscribeIfNeeded() - // Wait for the listener to be set. - testScope.runCurrent() - timeline.emitDiff( - listOf( - FakeRustTimelineDiff( - item = FakeRustTimelineItem( - asEventResult = FakeRustEventTimelineItem(origin = EventItemOrigin.SYNC) - ), - change = TimelineChange.RESET, + fun `when timeline emits an item with SYNC origin, the callback onNewSyncedEvent is invoked`() { + runCancellableScopeTestWithTestScope { testScope, cancellableScope -> + val timelineItems: MutableSharedFlow> = + MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) + val timeline = FakeRustTimeline() + val onNewSyncedEventRecorder = lambdaRecorder { } + val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( + coroutineScope = cancellableScope, + timeline = timeline, + timelineItems = timelineItems, + onNewSyncedEvent = onNewSyncedEventRecorder, + ) + timelineItems.test { + timelineItemsSubscriber.subscribeIfNeeded() + // Wait for the listener to be set. + testScope.runCurrent() + timeline.emitDiff( + listOf( + FakeRustTimelineDiff( + item = FakeRustTimelineItem( + asEventResult = FakeRustEventTimelineItem(origin = EventItemOrigin.SYNC) + ), + change = TimelineChange.RESET, + ) ) ) - ) - val final = awaitItem() - assertThat(final).isNotEmpty() - timelineItemsSubscriber.unsubscribeIfNeeded() + val final = awaitItem() + assertThat(final).isNotEmpty() + timelineItemsSubscriber.unsubscribeIfNeeded() + } + onNewSyncedEventRecorder.assertions().isCalledOnce() } - onNewSyncedEventRecorder.assertions().isCalledOnce() } @Test - fun `multiple subscriptions does not have side effect`() = runCancellableScopeTestWithTestScope { testScope, cancellableScope -> - val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( - coroutineScope = cancellableScope, - ) - timelineItemsSubscriber.subscribeIfNeeded() - timelineItemsSubscriber.subscribeIfNeeded() - timelineItemsSubscriber.unsubscribeIfNeeded() - timelineItemsSubscriber.unsubscribeIfNeeded() + fun `multiple subscriptions does not have side effect`() { + runCancellableScopeTestWithTestScope { testScope, cancellableScope -> + val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( + coroutineScope = cancellableScope, + ) + timelineItemsSubscriber.subscribeIfNeeded() + timelineItemsSubscriber.subscribeIfNeeded() + timelineItemsSubscriber.unsubscribeIfNeeded() + timelineItemsSubscriber.unsubscribeIfNeeded() + } } private fun TestScope.createTimelineItemsSubscriber( From b9c9706c48e37444bda46cbc33f3620461bee239 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 27 Sep 2024 18:30:05 +0200 Subject: [PATCH 041/151] Use backgroundScope for TimelineItemsSubscriberTest --- .../timeline/TimelineItemsSubscriberTest.kt | 182 +++++++++--------- 1 file changed, 87 insertions(+), 95 deletions(-) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt index a1b582a678..4333525fe0 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt @@ -16,7 +16,6 @@ import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimelineD import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimelineItem import io.element.android.tests.testutils.lambda.lambdaError import io.element.android.tests.testutils.lambda.lambdaRecorder -import io.element.android.tests.testutils.runCancellableScopeTestWithTestScope import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -25,6 +24,7 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.test.StandardTestDispatcher import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runCurrent +import kotlinx.coroutines.test.runTest import org.junit.Test import org.matrix.rustcomponents.sdk.Timeline import org.matrix.rustcomponents.sdk.TimelineChange @@ -33,115 +33,107 @@ import uniffi.matrix_sdk_ui.EventItemOrigin @OptIn(ExperimentalCoroutinesApi::class) class TimelineItemsSubscriberTest { @Test - fun `when timeline emits an empty list of items, the flow must emits an empty list`() { - runCancellableScopeTestWithTestScope { testScope, cancellableScope -> - val timelineItems: MutableSharedFlow> = - MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) - val timeline = FakeRustTimeline() - val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( - coroutineScope = cancellableScope, - timeline = timeline, - timelineItems = timelineItems, - ) - timelineItems.test { - timelineItemsSubscriber.subscribeIfNeeded() - // Wait for the listener to be set. - testScope.runCurrent() - timeline.emitDiff(listOf(FakeRustTimelineDiff(item = null, change = TimelineChange.RESET))) - val final = awaitItem() - assertThat(final).isEmpty() - timelineItemsSubscriber.unsubscribeIfNeeded() - } + fun `when timeline emits an empty list of items, the flow must emits an empty list`() = runTest { + val timelineItems: MutableSharedFlow> = + MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) + val timeline = FakeRustTimeline() + val timelineItemsSubscriber = createTimelineItemsSubscriber( + coroutineScope = backgroundScope, + timeline = timeline, + timelineItems = timelineItems, + ) + timelineItems.test { + timelineItemsSubscriber.subscribeIfNeeded() + // Wait for the listener to be set. + runCurrent() + timeline.emitDiff(listOf(FakeRustTimelineDiff(item = null, change = TimelineChange.RESET))) + val final = awaitItem() + assertThat(final).isEmpty() + timelineItemsSubscriber.unsubscribeIfNeeded() } } @Test - fun `when timeline emits a non empty list of items, the flow must emits a non empty list`() { - runCancellableScopeTestWithTestScope { testScope, cancellableScope -> - val timelineItems: MutableSharedFlow> = - MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) - val timeline = FakeRustTimeline() - val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( - coroutineScope = cancellableScope, - timeline = timeline, - timelineItems = timelineItems, - ) - timelineItems.test { - timelineItemsSubscriber.subscribeIfNeeded() - // Wait for the listener to be set. - testScope.runCurrent() - timeline.emitDiff(listOf(FakeRustTimelineDiff(item = FakeRustTimelineItem(), change = TimelineChange.RESET))) - val final = awaitItem() - assertThat(final).isNotEmpty() - timelineItemsSubscriber.unsubscribeIfNeeded() - } + fun `when timeline emits a non empty list of items, the flow must emits a non empty list`() = runTest { + val timelineItems: MutableSharedFlow> = + MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) + val timeline = FakeRustTimeline() + val timelineItemsSubscriber = createTimelineItemsSubscriber( + coroutineScope = backgroundScope, + timeline = timeline, + timelineItems = timelineItems, + ) + timelineItems.test { + timelineItemsSubscriber.subscribeIfNeeded() + // Wait for the listener to be set. + runCurrent() + timeline.emitDiff(listOf(FakeRustTimelineDiff(item = FakeRustTimelineItem(), change = TimelineChange.RESET))) + val final = awaitItem() + assertThat(final).isNotEmpty() + timelineItemsSubscriber.unsubscribeIfNeeded() } } @Test - fun `when timeline emits an item with SYNC origin, the callback onNewSyncedEvent is invoked`() { - runCancellableScopeTestWithTestScope { testScope, cancellableScope -> - val timelineItems: MutableSharedFlow> = - MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) - val timeline = FakeRustTimeline() - val onNewSyncedEventRecorder = lambdaRecorder { } - val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( - coroutineScope = cancellableScope, - timeline = timeline, - timelineItems = timelineItems, - onNewSyncedEvent = onNewSyncedEventRecorder, - ) - timelineItems.test { - timelineItemsSubscriber.subscribeIfNeeded() - // Wait for the listener to be set. - testScope.runCurrent() - timeline.emitDiff( - listOf( - FakeRustTimelineDiff( - item = FakeRustTimelineItem( - asEventResult = FakeRustEventTimelineItem(origin = EventItemOrigin.SYNC) - ), - change = TimelineChange.RESET, - ) + fun `when timeline emits an item with SYNC origin, the callback onNewSyncedEvent is invoked`() = runTest { + val timelineItems: MutableSharedFlow> = + MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE) + val timeline = FakeRustTimeline() + val onNewSyncedEventRecorder = lambdaRecorder { } + val timelineItemsSubscriber = createTimelineItemsSubscriber( + coroutineScope = backgroundScope, + timeline = timeline, + timelineItems = timelineItems, + onNewSyncedEvent = onNewSyncedEventRecorder, + ) + timelineItems.test { + timelineItemsSubscriber.subscribeIfNeeded() + // Wait for the listener to be set. + runCurrent() + timeline.emitDiff( + listOf( + FakeRustTimelineDiff( + item = FakeRustTimelineItem( + asEventResult = FakeRustEventTimelineItem(origin = EventItemOrigin.SYNC) + ), + change = TimelineChange.RESET, ) ) - val final = awaitItem() - assertThat(final).isNotEmpty() - timelineItemsSubscriber.unsubscribeIfNeeded() - } - onNewSyncedEventRecorder.assertions().isCalledOnce() - } - } - - @Test - fun `multiple subscriptions does not have side effect`() { - runCancellableScopeTestWithTestScope { testScope, cancellableScope -> - val timelineItemsSubscriber = testScope.createTimelineItemsSubscriber( - coroutineScope = cancellableScope, ) - timelineItemsSubscriber.subscribeIfNeeded() - timelineItemsSubscriber.subscribeIfNeeded() - timelineItemsSubscriber.unsubscribeIfNeeded() + val final = awaitItem() + assertThat(final).isNotEmpty() timelineItemsSubscriber.unsubscribeIfNeeded() } + onNewSyncedEventRecorder.assertions().isCalledOnce() } - private fun TestScope.createTimelineItemsSubscriber( - coroutineScope: CoroutineScope, - timeline: Timeline = FakeRustTimeline(), - timelineItems: MutableSharedFlow> = MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE), - initLatch: CompletableDeferred = CompletableDeferred(), - isTimelineInitialized: MutableStateFlow = MutableStateFlow(false), - onNewSyncedEvent: () -> Unit = { lambdaError() }, - ): TimelineItemsSubscriber { - return TimelineItemsSubscriber( - timelineCoroutineScope = coroutineScope, - dispatcher = StandardTestDispatcher(testScheduler), - timeline = timeline, - timelineDiffProcessor = createMatrixTimelineDiffProcessor(timelineItems), - initLatch = initLatch, - isTimelineInitialized = isTimelineInitialized, - onNewSyncedEvent = onNewSyncedEvent, + @Test + fun `multiple subscriptions does not have side effect`() = runTest { + val timelineItemsSubscriber = createTimelineItemsSubscriber( + coroutineScope = backgroundScope, ) + timelineItemsSubscriber.subscribeIfNeeded() + timelineItemsSubscriber.subscribeIfNeeded() + timelineItemsSubscriber.unsubscribeIfNeeded() + timelineItemsSubscriber.unsubscribeIfNeeded() } } + +private fun TestScope.createTimelineItemsSubscriber( + coroutineScope: CoroutineScope, + timeline: Timeline = FakeRustTimeline(), + timelineItems: MutableSharedFlow> = MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE), + initLatch: CompletableDeferred = CompletableDeferred(), + isTimelineInitialized: MutableStateFlow = MutableStateFlow(false), + onNewSyncedEvent: () -> Unit = { lambdaError() }, +): TimelineItemsSubscriber { + return TimelineItemsSubscriber( + timelineCoroutineScope = coroutineScope, + dispatcher = StandardTestDispatcher(testScheduler), + timeline = timeline, + timelineDiffProcessor = createMatrixTimelineDiffProcessor(timelineItems), + initLatch = initLatch, + isTimelineInitialized = isTimelineInitialized, + onNewSyncedEvent = onNewSyncedEvent, + ) +} From f89463c3a1482664611e97ad3c2752235c9f9731 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 27 Sep 2024 18:37:16 +0200 Subject: [PATCH 042/151] Remove `runCancellableScopeTest` and `runCancellableScopeTestWithTestScope`, we can use `TestScope.backgroundScope` instead. --- .../RustRoomDirectoryListTest.kt | 10 +-- .../RustRoomDirectoryServiceTest.kt | 8 +-- .../impl/roomlist/RoomListFactoryTest.kt | 6 +- .../impl/roomlist/RustRoomListServiceTest.kt | 10 +-- .../impl/DefaultAnalyticsServiceTest.kt | 61 +++++++++---------- .../impl/DefaultNavigationStateServiceTest.kt | 42 ++++++------- .../tests/testutils/RunCancellableTest.kt | 32 ---------- 7 files changed, 68 insertions(+), 101 deletions(-) delete mode 100644 tests/testutils/src/main/kotlin/io/element/android/tests/testutils/RunCancellableTest.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryListTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryListTest.kt index 71003b5b9a..6dff45c815 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryListTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryListTest.kt @@ -13,12 +13,12 @@ import io.element.android.libraries.matrix.api.roomdirectory.RoomDirectoryList import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomDescription import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRoomDirectorySearch import io.element.android.libraries.matrix.test.A_ROOM_ID_2 -import io.element.android.tests.testutils.runCancellableScopeTestWithTestScope import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.StandardTestDispatcher import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runCurrent +import kotlinx.coroutines.test.runTest import org.junit.Test import org.matrix.rustcomponents.sdk.RoomDirectorySearch import org.matrix.rustcomponents.sdk.RoomDirectorySearchEntryUpdate @@ -26,15 +26,15 @@ import org.matrix.rustcomponents.sdk.RoomDirectorySearchEntryUpdate @OptIn(ExperimentalCoroutinesApi::class) class RustRoomDirectoryListTest { @Test - fun `check that the state emits the expected values`() = runCancellableScopeTestWithTestScope { testScope, cancellableScope -> + fun `check that the state emits the expected values`() = runTest { val fakeRoomDirectorySearch = FakeRoomDirectorySearch() val mapper = RoomDescriptionMapper() - val sut = testScope.createRustRoomDirectoryList( + val sut = createRustRoomDirectoryList( roomDirectorySearch = fakeRoomDirectorySearch, - scope = cancellableScope, + scope = backgroundScope, ) // Let the mxCallback be ready - testScope.runCurrent() + runCurrent() sut.state.test { sut.filter("", 20) fakeRoomDirectorySearch.emitResult( diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryServiceTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryServiceTest.kt index 06b26bcdd4..1e4664af7f 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryServiceTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryServiceTest.kt @@ -8,18 +8,18 @@ package io.element.android.libraries.matrix.impl.roomdirectory import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustClient -import io.element.android.tests.testutils.runCancellableScopeTestWithTestScope import kotlinx.coroutines.test.StandardTestDispatcher +import kotlinx.coroutines.test.runTest import org.junit.Test class RustRoomDirectoryServiceTest { @Test - fun test() = runCancellableScopeTestWithTestScope { testScope, cancellableScope -> + fun test() = runTest { val client = FakeRustClient() val sut = RustRoomDirectoryService( client = client, - sessionDispatcher = StandardTestDispatcher(testScope.testScheduler), + sessionDispatcher = StandardTestDispatcher(testScheduler), ) - sut.createRoomDirectoryList(cancellableScope) + sut.createRoomDirectoryList(backgroundScope) } } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomListFactoryTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomListFactoryTest.kt index cd961b54da..234a5c6f33 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomListFactoryTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RoomListFactoryTest.kt @@ -9,16 +9,16 @@ package io.element.android.libraries.matrix.impl.roomlist import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustRoomList import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustRoomListService -import io.element.android.tests.testutils.runCancellableScopeTest +import kotlinx.coroutines.test.runTest import org.junit.Test import kotlin.coroutines.EmptyCoroutineContext class RoomListFactoryTest { @Test - fun `createRoomList should work`() = runCancellableScopeTest { + fun `createRoomList should work`() = runTest { val sut = RoomListFactory( innerRoomListService = FakeRustRoomListService(), - sessionCoroutineScope = it, + sessionCoroutineScope = backgroundScope, ) sut.createRoomList( pageSize = 10, diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RustRoomListServiceTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RustRoomListServiceTest.kt index b8af0c2e65..9a04807d6d 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RustRoomListServiceTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomlist/RustRoomListServiceTest.kt @@ -11,13 +11,13 @@ import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.roomlist.RoomListService import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustRoomListService import io.element.android.libraries.matrix.impl.room.RoomSyncSubscriber -import io.element.android.tests.testutils.runCancellableScopeTestWithTestScope import io.element.android.tests.testutils.testCoroutineDispatchers import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.StandardTestDispatcher import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runCurrent +import kotlinx.coroutines.test.runTest import org.junit.Test import org.matrix.rustcomponents.sdk.RoomListServiceSyncIndicator import org.matrix.rustcomponents.sdk.RoomListService as RustRoomListService @@ -25,14 +25,14 @@ import org.matrix.rustcomponents.sdk.RoomListService as RustRoomListService @OptIn(ExperimentalCoroutinesApi::class) class RustRoomListServiceTest { @Test - fun `syncIndicator should emit the expected values`() = runCancellableScopeTestWithTestScope { testScope, cancellableScope -> + fun `syncIndicator should emit the expected values`() = runTest { val roomListService = FakeRustRoomListService() - val sut = testScope.createRustRoomListService( - sessionCoroutineScope = cancellableScope, + val sut = createRustRoomListService( + sessionCoroutineScope = backgroundScope, roomListService = roomListService, ) // Give time for mxCallback to setup - testScope.runCurrent() + runCurrent() sut.syncIndicator.test { assertThat(awaitItem()).isEqualTo(RoomListService.SyncIndicator.Hide) roomListService.emitRoomListServiceSyncIndicator(RoomListServiceSyncIndicator.SHOW) diff --git a/services/analytics/impl/src/test/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsServiceTest.kt b/services/analytics/impl/src/test/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsServiceTest.kt index 2646d3c567..991e5f1732 100644 --- a/services/analytics/impl/src/test/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsServiceTest.kt +++ b/services/analytics/impl/src/test/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsServiceTest.kt @@ -24,7 +24,6 @@ import io.element.android.services.analyticsproviders.api.AnalyticsProvider import io.element.android.services.analyticsproviders.test.FakeAnalyticsProvider import io.element.android.tests.testutils.lambda.lambdaRecorder import io.element.android.tests.testutils.lambda.value -import io.element.android.tests.testutils.runCancellableScopeTest import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -37,13 +36,13 @@ import org.junit.Test class DefaultAnalyticsServiceTest { @Test - fun `getAvailableAnalyticsProviders return the set of provider`() = runCancellableScopeTest { + fun `getAvailableAnalyticsProviders return the set of provider`() = runTest { val providers = setOf( FakeAnalyticsProvider(name = "provider1", stopLambda = { }), FakeAnalyticsProvider(name = "provider2", stopLambda = { }), ) val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, analyticsProviders = providers ) val result = sut.getAvailableAnalyticsProviders() @@ -51,17 +50,17 @@ class DefaultAnalyticsServiceTest { } @Test - fun `when consent is not provided, capture is no op`() = runCancellableScopeTest { - val sut = createDefaultAnalyticsService(it) + fun `when consent is not provided, capture is no op`() = runTest { + val sut = createDefaultAnalyticsService(backgroundScope) sut.capture(anEvent) } @Test - fun `when consent is provided, capture is sent to the AnalyticsProvider`() = runCancellableScopeTest { + fun `when consent is provided, capture is sent to the AnalyticsProvider`() = runTest { val initLambda = lambdaRecorder { } val captureLambda = lambdaRecorder { _ -> } val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, analyticsStore = FakeAnalyticsStore(defaultUserConsent = true), analyticsProviders = setOf( FakeAnalyticsProvider( @@ -76,17 +75,17 @@ class DefaultAnalyticsServiceTest { } @Test - fun `when consent is not provided, screen is no op`() = runCancellableScopeTest { - val sut = createDefaultAnalyticsService(it) + fun `when consent is not provided, screen is no op`() = runTest { + val sut = createDefaultAnalyticsService(backgroundScope) sut.screen(aScreen) } @Test - fun `when consent is provided, screen is sent to the AnalyticsProvider`() = runCancellableScopeTest { + fun `when consent is provided, screen is sent to the AnalyticsProvider`() = runTest { val initLambda = lambdaRecorder { } val screenLambda = lambdaRecorder { _ -> } val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, analyticsStore = FakeAnalyticsStore(defaultUserConsent = true), analyticsProviders = setOf( FakeAnalyticsProvider( @@ -101,17 +100,17 @@ class DefaultAnalyticsServiceTest { } @Test - fun `when consent is not provided, trackError is no op`() = runCancellableScopeTest { - val sut = createDefaultAnalyticsService(it) + fun `when consent is not provided, trackError is no op`() = runTest { + val sut = createDefaultAnalyticsService(backgroundScope) sut.trackError(anError) } @Test - fun `when consent is provided, trackError is sent to the AnalyticsProvider`() = runCancellableScopeTest { + fun `when consent is provided, trackError is sent to the AnalyticsProvider`() = runTest { val initLambda = lambdaRecorder { } val trackErrorLambda = lambdaRecorder { _ -> } val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, analyticsStore = FakeAnalyticsStore(defaultUserConsent = true), analyticsProviders = setOf( FakeAnalyticsProvider( @@ -126,10 +125,10 @@ class DefaultAnalyticsServiceTest { } @Test - fun `setUserConsent is sent to the store`() = runCancellableScopeTest { + fun `setUserConsent is sent to the store`() = runTest { val store = FakeAnalyticsStore() val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, analyticsStore = store, ) assertThat(store.userConsentFlow.first()).isFalse() @@ -140,10 +139,10 @@ class DefaultAnalyticsServiceTest { } @Test - fun `setAnalyticsId is sent to the store`() = runCancellableScopeTest { + fun `setAnalyticsId is sent to the store`() = runTest { val store = FakeAnalyticsStore() val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, analyticsStore = store, ) assertThat(store.analyticsIdFlow.first()).isEqualTo("") @@ -154,10 +153,10 @@ class DefaultAnalyticsServiceTest { } @Test - fun `setDidAskUserConsent is sent to the store`() = runCancellableScopeTest { + fun `setDidAskUserConsent is sent to the store`() = runTest { val store = FakeAnalyticsStore() val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, analyticsStore = store, ) assertThat(store.didAskUserConsentFlow.first()).isFalse() @@ -168,13 +167,13 @@ class DefaultAnalyticsServiceTest { } @Test - fun `when a session is deleted, the store is reset`() = runCancellableScopeTest { + fun `when a session is deleted, the store is reset`() = runTest { val resetLambda = lambdaRecorder { } val store = FakeAnalyticsStore( resetLambda = resetLambda, ) val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, analyticsStore = store, ) sut.onSessionDeleted("userId") @@ -182,12 +181,12 @@ class DefaultAnalyticsServiceTest { } @Test - fun `when reset is invoked, the user consent is reset`() = runCancellableScopeTest { + fun `when reset is invoked, the user consent is reset`() = runTest { val store = FakeAnalyticsStore( defaultDidAskUserConsent = true, ) val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, analyticsStore = store, ) assertThat(store.didAskUserConsentFlow.first()).isTrue() @@ -196,9 +195,9 @@ class DefaultAnalyticsServiceTest { } @Test - fun `when a session is added, nothing happen`() = runCancellableScopeTest { + fun `when a session is added, nothing happen`() = runTest { val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, ) sut.onSessionCreated("userId") } @@ -231,10 +230,10 @@ class DefaultAnalyticsServiceTest { } @Test - fun `when consent is provided, updateUserProperties is sent to the provider`() = runCancellableScopeTest { + fun `when consent is provided, updateUserProperties is sent to the provider`() = runTest { val updateUserPropertiesLambda = lambdaRecorder { _ -> } val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, analyticsProviders = setOf( FakeAnalyticsProvider( initLambda = { }, @@ -248,10 +247,10 @@ class DefaultAnalyticsServiceTest { } @Test - fun `when super properties are updated, updateSuperProperties is sent to the provider`() = runCancellableScopeTest { + fun `when super properties are updated, updateSuperProperties is sent to the provider`() = runTest { val updateSuperPropertiesLambda = lambdaRecorder { _ -> } val sut = createDefaultAnalyticsService( - coroutineScope = it, + coroutineScope = backgroundScope, analyticsProviders = setOf( FakeAnalyticsProvider( initLambda = { }, diff --git a/services/appnavstate/impl/src/test/kotlin/io/element/android/services/appnavstate/impl/DefaultNavigationStateServiceTest.kt b/services/appnavstate/impl/src/test/kotlin/io/element/android/services/appnavstate/impl/DefaultNavigationStateServiceTest.kt index ba4dc4d72e..306a935ab9 100644 --- a/services/appnavstate/impl/src/test/kotlin/io/element/android/services/appnavstate/impl/DefaultNavigationStateServiceTest.kt +++ b/services/appnavstate/impl/src/test/kotlin/io/element/android/services/appnavstate/impl/DefaultNavigationStateServiceTest.kt @@ -23,9 +23,9 @@ import io.element.android.services.appnavstate.test.A_SESSION_OWNER import io.element.android.services.appnavstate.test.A_SPACE_OWNER import io.element.android.services.appnavstate.test.A_THREAD_OWNER import io.element.android.services.appnavstate.test.FakeAppForegroundStateService -import io.element.android.tests.testutils.runCancellableScopeTest import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.first +import kotlinx.coroutines.test.runTest import org.junit.Test class DefaultNavigationStateServiceTest { @@ -51,8 +51,8 @@ class DefaultNavigationStateServiceTest { ) @Test - fun testNavigation() = runCancellableScopeTest { scope -> - val service = createStateService(scope) + fun testNavigation() = runTest { + val service = createStateService(backgroundScope) assertThat(service.appNavigationState.first().navigationState).isEqualTo(navigationStateRoot) service.onNavigateToSession(A_SESSION_OWNER, A_SESSION_ID) assertThat(service.appNavigationState.first().navigationState).isEqualTo(navigationStateSession) @@ -74,15 +74,15 @@ class DefaultNavigationStateServiceTest { } @Test - fun testFailure() = runCancellableScopeTest { scope -> - val service = createStateService(scope) + fun testFailure() = runTest { + val service = createStateService(backgroundScope) service.onNavigateToSpace(A_SPACE_OWNER, A_SPACE_ID) assertThat(service.appNavigationState.value.navigationState).isEqualTo(NavigationState.Root) } @Test - fun testOnNavigateToThread() = runCancellableScopeTest { scope -> - val service = createStateService(scope) + fun testOnNavigateToThread() = runTest { + val service = createStateService(backgroundScope) // From root (no effect) service.onNavigateToThread(A_THREAD_OWNER, A_THREAD_ID) assertThat(service.appNavigationState.first().navigationState).isEqualTo(navigationStateRoot) @@ -110,8 +110,8 @@ class DefaultNavigationStateServiceTest { } @Test - fun testOnNavigateToRoom() = runCancellableScopeTest { scope -> - val service = createStateService(scope) + fun testOnNavigateToRoom() = runTest { + val service = createStateService(backgroundScope) // From root (no effect) service.onNavigateToRoom(A_ROOM_OWNER, A_ROOM_ID) assertThat(service.appNavigationState.first().navigationState).isEqualTo(navigationStateRoot) @@ -139,8 +139,8 @@ class DefaultNavigationStateServiceTest { } @Test - fun testOnNavigateToSpace() = runCancellableScopeTest { scope -> - val service = createStateService(scope) + fun testOnNavigateToSpace() = runTest { + val service = createStateService(backgroundScope) // From root (no effect) service.onNavigateToSpace(A_SPACE_OWNER, A_SPACE_ID) assertThat(service.appNavigationState.first().navigationState).isEqualTo(navigationStateRoot) @@ -168,8 +168,8 @@ class DefaultNavigationStateServiceTest { } @Test - fun testOnNavigateToSession() = runCancellableScopeTest { scope -> - val service = createStateService(scope) + fun testOnNavigateToSession() = runTest { + val service = createStateService(backgroundScope) // From root service.onNavigateToSession(A_SESSION_OWNER, A_SESSION_ID) assertThat(service.appNavigationState.first().navigationState).isEqualTo(navigationStateSession) @@ -197,8 +197,8 @@ class DefaultNavigationStateServiceTest { } @Test - fun testOnLeavingThread() = runCancellableScopeTest { scope -> - val service = createStateService(scope) + fun testOnLeavingThread() = runTest { + val service = createStateService(backgroundScope) // From root (no effect) service.onLeavingThread(A_THREAD_OWNER) assertThat(service.appNavigationState.first().navigationState).isEqualTo(navigationStateRoot) @@ -225,8 +225,8 @@ class DefaultNavigationStateServiceTest { } @Test - fun testOnLeavingRoom() = runCancellableScopeTest { scope -> - val service = createStateService(scope) + fun testOnLeavingRoom() = runTest { + val service = createStateService(backgroundScope) // From root (no effect) service.onLeavingRoom(A_ROOM_OWNER) assertThat(service.appNavigationState.first().navigationState).isEqualTo(navigationStateRoot) @@ -253,8 +253,8 @@ class DefaultNavigationStateServiceTest { } @Test - fun testOnLeavingSpace() = runCancellableScopeTest { scope -> - val service = createStateService(scope) + fun testOnLeavingSpace() = runTest { + val service = createStateService(backgroundScope) // From root (no effect) service.onLeavingSpace(A_SPACE_OWNER) assertThat(service.appNavigationState.first().navigationState).isEqualTo(navigationStateRoot) @@ -281,8 +281,8 @@ class DefaultNavigationStateServiceTest { } @Test - fun testOnLeavingSession() = runCancellableScopeTest { scope -> - val service = createStateService(scope) + fun testOnLeavingSession() = runTest { + val service = createStateService(backgroundScope) // From root service.onLeavingSession(A_SESSION_OWNER) assertThat(service.appNavigationState.first().navigationState).isEqualTo(navigationStateRoot) diff --git a/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/RunCancellableTest.kt b/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/RunCancellableTest.kt deleted file mode 100644 index c3074aaf35..0000000000 --- a/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/RunCancellableTest.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2023, 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.tests.testutils - -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.SupervisorJob -import kotlinx.coroutines.cancel -import kotlinx.coroutines.test.TestScope -import kotlinx.coroutines.test.runTest - -/** - * Run a test with a [CoroutineScope] that will be cancelled automatically and avoiding failing the test. - */ -fun runCancellableScopeTest(block: suspend (CoroutineScope) -> Unit) = runTest { - val scope = CoroutineScope(coroutineContext + SupervisorJob()) - block(scope) - scope.cancel() -} - -/** - * Run a test with a [CoroutineScope] that will be cancelled automatically and avoiding failing the test. - */ -fun runCancellableScopeTestWithTestScope(block: suspend (testScope: TestScope, cancellableScope: CoroutineScope) -> Unit) = runTest { - val scope = CoroutineScope(coroutineContext + SupervisorJob()) - block(this, scope) - scope.cancel() -} From 86373ad1f7b5a6c3bd864b74c0c18af0bf287d80 Mon Sep 17 00:00:00 2001 From: bmarty <3940906+bmarty@users.noreply.github.com> Date: Mon, 30 Sep 2024 00:26:52 +0000 Subject: [PATCH 043/151] Sync Strings from Localazy --- .../src/main/res/values-be/translations.xml | 1 + .../src/main/res/values-zh/translations.xml | 5 + .../src/main/res/values-be/translations.xml | 4 + .../src/main/res/values-et/translations.xml | 8 + .../src/main/res/values-sk/translations.xml | 3 + .../src/main/res/values-be/translations.xml | 4 + .../src/main/res/values-zh/translations.xml | 6 + .../src/main/res/values-zh/translations.xml | 2 + .../src/main/res/values-be/translations.xml | 2 + .../src/main/res/values-cs/translations.xml | 2 + .../src/main/res/values-et/translations.xml | 2 + .../src/main/res/values-sk/translations.xml | 2 + .../src/main/res/values-zh/translations.xml | 1 + .../src/main/res/values-be/translations.xml | 7 + .../src/main/res/values-cs/translations.xml | 1 + .../src/main/res/values-de/translations.xml | 2 +- .../src/main/res/values-et/translations.xml | 4 +- .../src/main/res/values-fr/translations.xml | 1 + .../src/main/res/values-sk/translations.xml | 1 + .../src/main/res/values-zh/translations.xml | 6 + .../appnav.loggedin_LoggedInView_Day_1_de.png | 4 +- ...appnav.loggedin_SyncStateView_Day_0_de.png | 4 +- ...om.joined_LoadingRoomNodeView_Day_1_de.png | 4 +- .../de/appnav.root_RootView_Day_0_de.png | 4 +- .../de/appnav.root_RootView_Day_1_de.png | 4 +- ...nces_AnalyticsPreferencesView_Day_0_de.png | 4 +- ...s.call.impl.ui_CallScreenView_Day_1_de.png | 4 +- ...s.call.impl.ui_CallScreenView_Day_3_de.png | 3 + ...ll.impl.ui_IncomingCallScreen_Day_0_de.png | 4 +- ....impl.addpeople_AddPeopleView_Day_0_de.png | 4 +- ....impl.addpeople_AddPeopleView_Day_1_de.png | 4 +- ....impl.addpeople_AddPeopleView_Day_2_de.png | 4 +- ....impl.addpeople_AddPeopleView_Day_3_de.png | 4 +- ...nents_SearchMultipleUsersResultItem_de.png | 4 +- ...mponents_SearchSingleUserResultItem_de.png | 4 +- ....impl.components_UserListView_Day_1_de.png | 4 +- ....impl.components_UserListView_Day_9_de.png | 4 +- ...nfigureroom_ConfigureRoomView_Day_0_de.png | 4 +- ...nfigureroom_ConfigureRoomView_Day_1_de.png | 4 +- ....impl.root_CreateRoomRootView_Day_1_de.png | 4 +- ....impl.root_CreateRoomRootView_Day_2_de.png | 4 +- ....impl.root_CreateRoomRootView_Day_3_de.png | 4 +- ...ations_NotificationsOptInView_Day_0_de.png | 4 +- ...ftue.impl.welcome_WelcomeView_Day_0_de.png | 4 +- ...ponse_AcceptDeclineInviteView_Day_1_de.png | 4 +- ...ponse_AcceptDeclineInviteView_Day_2_de.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_2_de.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_3_de.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_4_de.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_5_de.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_6_de.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_9_de.png | 4 +- ...s.leaveroom.api_LeaveRoomView_Day_4_de.png | 4 +- ...st_DependencyLicensesListView_Day_0_de.png | 4 +- ...on.impl.send_SendLocationView_Day_0_de.png | 4 +- ...on.impl.send_SendLocationView_Day_1_de.png | 4 +- ...on.impl.send_SendLocationView_Day_2_de.png | 4 +- ...on.impl.send_SendLocationView_Day_3_de.png | 4 +- ...on.impl.send_SendLocationView_Day_4_de.png | 4 +- ...on.impl.show_ShowLocationView_Day_0_de.png | 4 +- ...on.impl.show_ShowLocationView_Day_1_de.png | 4 +- ...on.impl.show_ShowLocationView_Day_2_de.png | 4 +- ...on.impl.show_ShowLocationView_Day_3_de.png | 4 +- ...on.impl.show_ShowLocationView_Day_4_de.png | 4 +- ...on.impl.show_ShowLocationView_Day_5_de.png | 4 +- ...on.impl.show_ShowLocationView_Day_6_de.png | 4 +- ...on.impl.show_ShowLocationView_Day_7_de.png | 4 +- ...mpl.unlock_PinUnlockViewInApp_Day_6_de.png | 4 +- ...een.impl.unlock_PinUnlockView_Day_6_de.png | 4 +- ...der_ChangeAccountProviderView_Day_0_de.png | 4 +- ...eateaccount_CreateAccountView_Day_1_de.png | 4 +- ...eateaccount_CreateAccountView_Day_2_de.png | 4 +- ...ginpassword_LoginPasswordView_Day_0_de.png | 4 +- ...ginpassword_LoginPasswordView_Day_1_de.png | 4 +- ...ginpassword_LoginPasswordView_Day_2_de.png | 2 +- ...mation_QrCodeConfirmationView_Day_0_de.png | 4 +- ...mation_QrCodeConfirmationView_Day_1_de.png | 4 +- ...mation_QrCodeConfirmationView_Day_2_de.png | 4 +- ....qrcode.error_QrCodeErrorView_Day_6_de.png | 4 +- ....qrcode.intro_QrCodeIntroView_Day_1_de.png | 4 +- ...ns.qrcode.scan_QrCodeScanView_Day_1_de.png | 4 +- ...der_SearchAccountProviderView_Day_1_de.png | 4 +- ...irect_DefaultDirectLogoutView_Day_1_de.png | 4 +- ...irect_DefaultDirectLogoutView_Day_2_de.png | 4 +- ....impl_AccountDeactivationView_Day_0_de.png | 4 +- ....impl_AccountDeactivationView_Day_2_de.png | 4 +- ....impl_AccountDeactivationView_Day_3_de.png | 4 +- ....impl_AccountDeactivationView_Day_4_de.png | 4 +- ...atures.logout.impl_LogoutView_Day_1_de.png | 4 +- ...atures.logout.impl_LogoutView_Day_2_de.png | 4 +- ...atures.logout.impl_LogoutView_Day_3_de.png | 4 +- ...atures.logout.impl_LogoutView_Day_4_de.png | 4 +- ...atures.logout.impl_LogoutView_Day_5_de.png | 4 +- ...atures.logout.impl_LogoutView_Day_8_de.png | 4 +- ...atures.logout.impl_LogoutView_Day_9_de.png | 4 +- ...impl.actionlist_SheetContent_Day_10_de.png | 4 +- ...impl.actionlist_SheetContent_Day_11_de.png | 4 +- ...impl.actionlist_SheetContent_Day_12_de.png | 4 +- ....impl.actionlist_SheetContent_Day_2_de.png | 4 +- ....impl.actionlist_SheetContent_Day_3_de.png | 2 +- ....impl.actionlist_SheetContent_Day_4_de.png | 4 +- ....impl.actionlist_SheetContent_Day_5_de.png | 4 +- ....impl.actionlist_SheetContent_Day_6_de.png | 4 +- ....impl.actionlist_SheetContent_Day_7_de.png | 4 +- ....impl.actionlist_SheetContent_Day_8_de.png | 4 +- ....impl.actionlist_SheetContent_Day_9_de.png | 4 +- ...tachments.preview_AttachmentsView_2_de.png | 4 +- ...veVerifiedUserSendFailureView_Day_1_de.png | 4 +- ...veVerifiedUserSendFailureView_Day_2_de.png | 4 +- ...estions_SuggestionsPickerView_Day_0_de.png | 4 +- ...ner_PinnedMessagesBannerView_Day_10_de.png | 4 +- ...nner_PinnedMessagesBannerView_Day_1_de.png | 4 +- ...nner_PinnedMessagesBannerView_Day_2_de.png | 4 +- ...nner_PinnedMessagesBannerView_Day_4_de.png | 4 +- ...nner_PinnedMessagesBannerView_Day_5_de.png | 4 +- ...nner_PinnedMessagesBannerView_Day_6_de.png | 4 +- ...nner_PinnedMessagesBannerView_Day_7_de.png | 4 +- ...nner_PinnedMessagesBannerView_Day_8_de.png | 4 +- ...nner_PinnedMessagesBannerView_Day_9_de.png | 4 +- ...d.list_PinnedMessagesListView_Day_1_de.png | 4 +- ...d.list_PinnedMessagesListView_Day_3_de.png | 4 +- ...impl.report_ReportMessageView_Day_0_de.png | 4 +- ...impl.report_ReportMessageView_Day_1_de.png | 4 +- ...impl.report_ReportMessageView_Day_2_de.png | 4 +- ...impl.report_ReportMessageView_Day_3_de.png | 4 +- ...impl.report_ReportMessageView_Day_4_de.png | 4 +- ...impl.report_ReportMessageView_Day_5_de.png | 4 +- ...ts.event_TimelineItemPollView_Day_0_de.png | 4 +- ...ts.event_TimelineItemPollView_Day_1_de.png | 4 +- ...ts.event_TimelineItemPollView_Day_2_de.png | 4 +- ...ts.event_TimelineItemPollView_Day_3_de.png | 4 +- ...msheet_ReadReceiptBottomSheet_Day_1_de.png | 4 +- ...msheet_ReadReceiptBottomSheet_Day_2_de.png | 4 +- ...msheet_ReadReceiptBottomSheet_Day_3_de.png | 4 +- ...msheet_ReadReceiptBottomSheet_Day_4_de.png | 4 +- ...msheet_ReadReceiptBottomSheet_Day_5_de.png | 4 +- ....components_MessageShieldView_Day_0_de.png | 4 +- ...ts_TimelineItemCallNotifyView_Day_0_de.png | 4 +- ...TimelineItemEventRowTimestamp_Day_3_de.png | 4 +- ...TimelineItemEventRowTimestamp_Day_4_de.png | 4 +- ...ItemEventRowWithManyReactions_Day_0_de.png | 4 +- ...mEventRowWithReplyInformative_Day_0_de.png | 4 +- ...mEventRowWithReplyInformative_Day_1_de.png | 4 +- ...TimelineItemEventRowWithReply_Day_4_de.png | 4 +- ...TimelineItemEventRowWithReply_Day_8_de.png | 4 +- ...nts_TimelineItemEventTimestampBelow_de.png | 4 +- ...oupedEventsRowContentCollapse_Day_0_de.png | 4 +- ...oupedEventsRowContentExpanded_Day_0_de.png | 4 +- ...ine_TimelineViewMessageShield_Day_0_de.png | 4 +- ...es.impl.timeline_TimelineView_Day_0_de.png | 4 +- ...s.impl.timeline_TimelineView_Day_11_de.png | 4 +- ...s.impl.timeline_TimelineView_Day_12_de.png | 4 +- ...s.impl.timeline_TimelineView_Day_13_de.png | 4 +- ...s.impl.timeline_TimelineView_Day_14_de.png | 4 +- ...s.impl.timeline_TimelineView_Day_15_de.png | 4 +- ...s.impl.timeline_TimelineView_Day_16_de.png | 4 +- ...s.impl.timeline_TimelineView_Day_17_de.png | 4 +- ...es.impl.timeline_TimelineView_Day_1_de.png | 4 +- ...es.impl.timeline_TimelineView_Day_4_de.png | 4 +- ...es.impl.timeline_TimelineView_Day_6_de.png | 4 +- ...es.impl.timeline_TimelineView_Day_8_de.png | 4 +- ...typing_MessagesViewWithTyping_Day_0_de.png | 4 +- ...typing_MessagesViewWithTyping_Day_1_de.png | 4 +- ...typing_MessagesViewWithTyping_Day_2_de.png | 4 +- ...es.messages.impl_MessagesView_Day_0_de.png | 4 +- ...s.messages.impl_MessagesView_Day_10_de.png | 4 +- ...s.messages.impl_MessagesView_Day_11_de.png | 4 +- ...s.messages.impl_MessagesView_Day_12_de.png | 4 +- ...s.messages.impl_MessagesView_Day_13_de.png | 4 +- ...es.messages.impl_MessagesView_Day_1_de.png | 4 +- ...es.messages.impl_MessagesView_Day_2_de.png | 4 +- ...es.messages.impl_MessagesView_Day_3_de.png | 4 +- ...es.messages.impl_MessagesView_Day_4_de.png | 4 +- ...es.messages.impl_MessagesView_Day_5_de.png | 4 +- ...es.messages.impl_MessagesView_Day_6_de.png | 4 +- ...es.messages.impl_MessagesView_Day_7_de.png | 4 +- ...es.messages.impl_MessagesView_Day_8_de.png | 4 +- ...es.messages.impl_MessagesView_Day_9_de.png | 4 +- ....migration.impl_MigrationView_Day_1_de.png | 4 +- ...nboarding.impl_OnBoardingView_Day_0_de.png | 4 +- ...nboarding.impl_OnBoardingView_Day_1_de.png | 4 +- ...nboarding.impl_OnBoardingView_Day_2_de.png | 4 +- ...nboarding.impl_OnBoardingView_Day_3_de.png | 4 +- ...nboarding.impl_OnBoardingView_Day_4_de.png | 4 +- ...nswerViewDisclosedNotSelected_Day_0_de.png | 4 +- ...llAnswerViewDisclosedSelected_Day_0_de.png | 4 +- ...t_PollAnswerViewEndedSelected_Day_0_de.png | 4 +- ...werViewEndedWinnerNotSelected_Day_0_de.png | 4 +- ...AnswerViewEndedWinnerSelected_Day_0_de.png | 4 +- ...ollContentViewCreatorEditable_Day_0_de.png | 4 +- ...t_PollContentViewCreatorEnded_Day_0_de.png | 4 +- ...ontent_PollContentViewCreator_Day_0_de.png | 4 +- ...tent_PollContentViewDisclosed_Day_0_de.png | 4 +- ...lcontent_PollContentViewEnded_Day_0_de.png | 4 +- ...nt_PollContentViewUndisclosed_Day_0_de.png | 4 +- ...ll.impl.create_CreatePollView_Day_6_de.png | 4 +- ...ll.impl.create_CreatePollView_Day_7_de.png | 4 +- ....impl.history_PollHistoryView_Day_0_de.png | 4 +- ....impl.history_PollHistoryView_Day_1_de.png | 4 +- ....impl.history_PollHistoryView_Day_4_de.png | 4 +- ...alytics_AnalyticsSettingsView_Day_0_de.png | 2 +- ...blockedusers_BlockedUsersView_Day_0_de.png | 4 +- ...blockedusers_BlockedUsersView_Day_1_de.png | 4 +- ...blockedusers_BlockedUsersView_Day_3_de.png | 4 +- ...blockedusers_BlockedUsersView_Day_4_de.png | 4 +- ...blockedusers_BlockedUsersView_Day_5_de.png | 4 +- ...blockedusers_BlockedUsersView_Day_6_de.png | 4 +- ...efaultNotificationSettingView_Day_0_de.png | 4 +- ...efaultNotificationSettingView_Day_1_de.png | 4 +- ...efaultNotificationSettingView_Day_2_de.png | 4 +- ...efaultNotificationSettingView_Day_3_de.png | 4 +- ...efaultNotificationSettingView_Day_4_de.png | 4 +- ...ions_NotificationSettingsView_Day_0_de.png | 4 +- ...ons_NotificationSettingsView_Day_10_de.png | 4 +- ...ons_NotificationSettingsView_Day_11_de.png | 4 +- ...ions_NotificationSettingsView_Day_1_de.png | 4 +- ...ions_NotificationSettingsView_Day_2_de.png | 4 +- ...ions_NotificationSettingsView_Day_5_de.png | 4 +- ...ions_NotificationSettingsView_Day_7_de.png | 4 +- ...ions_NotificationSettingsView_Day_8_de.png | 4 +- ...impl.root_PreferencesRootViewDark_0_de.png | 4 +- ...impl.root_PreferencesRootViewDark_1_de.png | 4 +- ...mpl.root_PreferencesRootViewLight_0_de.png | 4 +- ...mpl.root_PreferencesRootViewLight_1_de.png | 4 +- ...itprofile_EditUserProfileView_Day_0_de.png | 4 +- ....api.crash_CrashDetectionView_Day_0_de.png | 4 +- ...ection_RageshakeDialogContent_Day_0_de.png | 4 +- ...nces_RageshakePreferencesView_Day_0_de.png | 4 +- ....impl.bugreport_BugReportView_Day_0_de.png | 4 +- ....impl.bugreport_BugReportView_Day_1_de.png | 4 +- ....impl.bugreport_BugReportView_Day_2_de.png | 4 +- ....impl.bugreport_BugReportView_Day_3_de.png | 4 +- ....impl.bugreport_BugReportView_Day_4_de.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_0_de.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_1_de.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_2_de.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_4_de.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_5_de.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_6_de.png | 4 +- ...impl.edit_RoomDetailsEditView_Day_7_de.png | 4 +- ....invite_RoomInviteMembersView_Day_0_de.png | 4 +- ....invite_RoomInviteMembersView_Day_1_de.png | 4 +- ....invite_RoomInviteMembersView_Day_2_de.png | 4 +- ....invite_RoomInviteMembersView_Day_3_de.png | 4 +- ....invite_RoomInviteMembersView_Day_4_de.png | 4 +- ....invite_RoomInviteMembersView_Day_5_de.png | 4 +- ....invite_RoomInviteMembersView_Day_6_de.png | 4 +- ....invite_RoomInviteMembersView_Day_7_de.png | 4 +- ...ion_RoomMembersModerationView_Day_0_de.png | 4 +- ...ion_RoomMembersModerationView_Day_1_de.png | 4 +- ...ion_RoomMembersModerationView_Day_2_de.png | 4 +- ...ion_RoomMembersModerationView_Day_3_de.png | 4 +- ...ion_RoomMembersModerationView_Day_4_de.png | 4 +- ...ion_RoomMembersModerationView_Day_5_de.png | 4 +- ...ion_RoomMembersModerationView_Day_6_de.png | 4 +- ...bers_RoomMemberListViewBanned_Day_0_de.png | 4 +- ...bers_RoomMemberListViewBanned_Day_1_de.png | 4 +- ...pl.members_RoomMemberListView_Day_0_de.png | 4 +- ...pl.members_RoomMemberListView_Day_1_de.png | 4 +- ...pl.members_RoomMemberListView_Day_2_de.png | 4 +- ...pl.members_RoomMemberListView_Day_3_de.png | 4 +- ...pl.members_RoomMemberListView_Day_6_de.png | 4 +- ..._RoomNotificationSettingsView_Day_2_de.png | 4 +- ..._RoomNotificationSettingsView_Day_4_de.png | 4 +- ....changeroles_ChangeRolesView_Day_10_de.png | 4 +- ...s.changeroles_ChangeRolesView_Day_1_de.png | 4 +- ...s.changeroles_ChangeRolesView_Day_2_de.png | 4 +- ...s.changeroles_ChangeRolesView_Day_3_de.png | 4 +- ...s.changeroles_ChangeRolesView_Day_4_de.png | 4 +- ...s.changeroles_ChangeRolesView_Day_5_de.png | 4 +- ...s.changeroles_ChangeRolesView_Day_6_de.png | 4 +- ...s.changeroles_ChangeRolesView_Day_7_de.png | 4 +- ...s.changeroles_ChangeRolesView_Day_8_de.png | 4 +- ...s.changeroles_ChangeRolesView_Day_9_de.png | 4 +- ...ons_ChangeRoomPermissionsView_Day_4_de.png | 4 +- ...sions_RolesAndPermissionsView_Day_0_de.png | 4 +- ...sions_RolesAndPermissionsView_Day_1_de.png | 4 +- ...sions_RolesAndPermissionsView_Day_2_de.png | 4 +- ...sions_RolesAndPermissionsView_Day_3_de.png | 4 +- ...sions_RolesAndPermissionsView_Day_4_de.png | 4 +- ...sions_RolesAndPermissionsView_Day_5_de.png | 4 +- ...sions_RolesAndPermissionsView_Day_6_de.png | 4 +- ...sions_RolesAndPermissionsView_Day_7_de.png | 2 +- ....roomdetails.impl_RoomDetailsDark_0_de.png | 4 +- ...roomdetails.impl_RoomDetailsDark_10_de.png | 4 +- ...roomdetails.impl_RoomDetailsDark_11_de.png | 4 +- ...roomdetails.impl_RoomDetailsDark_12_de.png | 4 +- ...roomdetails.impl_RoomDetailsDark_13_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_1_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_2_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_3_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_4_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_5_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_6_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_7_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_8_de.png | 4 +- ....roomdetails.impl_RoomDetailsDark_9_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_0_de.png | 4 +- ...res.roomdetails.impl_RoomDetails_10_de.png | 4 +- ...res.roomdetails.impl_RoomDetails_11_de.png | 4 +- ...res.roomdetails.impl_RoomDetails_12_de.png | 4 +- ...res.roomdetails.impl_RoomDetails_13_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_1_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_2_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_3_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_4_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_5_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_6_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_7_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_8_de.png | 4 +- ...ures.roomdetails.impl_RoomDetails_9_de.png | 4 +- ...y.impl.root_RoomDirectoryView_Day_1_de.png | 4 +- ...y.impl.root_RoomDirectoryView_Day_2_de.png | 4 +- ...ltRoomListTopBarWithIndicator_Day_0_de.png | 4 +- ...ponents_DefaultRoomListTopBar_Day_0_de.png | 4 +- ...omponents_RoomListContentView_Day_0_de.png | 4 +- ...omponents_RoomListContentView_Day_4_de.png | 4 +- ...pl.components_RoomSummaryRow_Day_29_de.png | 4 +- ...mpl.components_RoomSummaryRow_Day_2_de.png | 4 +- ...pl.components_RoomSummaryRow_Day_30_de.png | 4 +- ...pl.components_RoomSummaryRow_Day_31_de.png | 4 +- ....search_RoomListSearchContent_Day_2_de.png | 4 +- ...es.roomlist.impl_RoomListView_Day_0_de.png | 4 +- ...s.roomlist.impl_RoomListView_Day_10_de.png | 4 +- ...es.roomlist.impl_RoomListView_Day_1_de.png | 4 +- ...es.roomlist.impl_RoomListView_Day_2_de.png | 4 +- ...es.roomlist.impl_RoomListView_Day_3_de.png | 4 +- ...es.roomlist.impl_RoomListView_Day_4_de.png | 4 +- ...es.roomlist.impl_RoomListView_Day_5_de.png | 4 +- ...es.roomlist.impl_RoomListView_Day_6_de.png | 4 +- ...es.roomlist.impl_RoomListView_Day_7_de.png | 4 +- ...sable_SecureBackupDisableView_Day_2_de.png | 4 +- ...enable_SecureBackupEnableView_Day_1_de.png | 4 +- ...ureBackupEnterRecoveryKeyView_Day_1_de.png | 4 +- ...ureBackupEnterRecoveryKeyView_Day_2_de.png | 4 +- ...ureBackupEnterRecoveryKeyView_Day_3_de.png | 4 +- ...ord_ResetIdentityPasswordView_Day_0_de.png | 4 +- ...ord_ResetIdentityPasswordView_Day_1_de.png | 4 +- ...ord_ResetIdentityPasswordView_Day_2_de.png | 4 +- ...ord_ResetIdentityPasswordView_Day_3_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_0_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_5_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_6_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_7_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_8_de.png | 4 +- ....setup.views_RecoveryKeyView_Day_10_de.png | 4 +- ....setup.views_RecoveryKeyView_Day_11_de.png | 4 +- ....setup.views_RecoveryKeyView_Day_12_de.png | 4 +- ....setup.views_RecoveryKeyView_Day_13_de.png | 4 +- ...l.setup.views_RecoveryKeyView_Day_1_de.png | 4 +- ...l.setup.views_RecoveryKeyView_Day_5_de.png | 4 +- ...p_SecureBackupSetupViewChange_Day_0_de.png | 4 +- ...p_SecureBackupSetupViewChange_Day_1_de.png | 4 +- ...p_SecureBackupSetupViewChange_Day_2_de.png | 4 +- ...p_SecureBackupSetupViewChange_Day_3_de.png | 4 +- ...p_SecureBackupSetupViewChange_Day_4_de.png | 4 +- ...l.setup_SecureBackupSetupView_Day_0_de.png | 4 +- ...l.setup_SecureBackupSetupView_Day_1_de.png | 4 +- ...l.setup_SecureBackupSetupView_Day_2_de.png | 4 +- ...l.setup_SecureBackupSetupView_Day_3_de.png | 4 +- ...l.setup_SecureBackupSetupView_Day_4_de.png | 4 +- ....signedout.impl_SignedOutView_Day_0_de.png | 4 +- ...rofile.shared_UserProfileView_Day_0_de.png | 4 +- ...rofile.shared_UserProfileView_Day_1_de.png | 4 +- ...rofile.shared_UserProfileView_Day_2_de.png | 4 +- ...rofile.shared_UserProfileView_Day_3_de.png | 4 +- ...rofile.shared_UserProfileView_Day_4_de.png | 4 +- ...rofile.shared_UserProfileView_Day_5_de.png | 4 +- ...rofile.shared_UserProfileView_Day_6_de.png | 4 +- ...rofile.shared_UserProfileView_Day_7_de.png | 4 +- ...rofile.shared_UserProfileView_Day_8_de.png | 4 +- ...ysession.impl.emoji_SasEmojis_Day_0_de.png | 4 +- ...on.impl_VerifySelfSessionView_Day_0_de.png | 4 +- ...n.impl_VerifySelfSessionView_Day_10_de.png | 4 +- ...on.impl_VerifySelfSessionView_Day_1_de.png | 4 +- ...on.impl_VerifySelfSessionView_Day_3_de.png | 4 +- ...on.impl_VerifySelfSessionView_Day_7_de.png | 4 +- ...on.impl_VerifySelfSessionView_Day_8_de.png | 4 +- ...nents_ProgressDialogContent_Dialogs_de.png | 4 +- ...tem.components_ProgressDialog_Day_0_de.png | 4 +- ...ews_DatePickerDark_DateTime pickers_de.png | 4 +- ...ws_DatePickerLight_DateTime pickers_de.png | 4 +- ...mePickerHorizontal_DateTime pickers_de.png | 4 +- ...PickerVerticalDark_DateTime pickers_de.png | 4 +- ...ickerVerticalLight_DateTime pickers_de.png | 4 +- ...nents_AvatarActionBottomSheet_Day_0_de.png | 4 +- ...mponents_CheckableUnresolvedUserRow_de.png | 4 +- ...i.components_InviteSenderView_Day_0_de.png | 4 +- ...rix.ui.components_UnresolvedUserRow_de.png | 4 +- ...i.local.pdf_PdfPagesErrorView_Day_0_de.png | 3 + ...rmissions.api_PermissionsView_Day_0_de.png | 4 +- ...rmissions.api_PermissionsView_Day_1_de.png | 4 +- ...rmissions.api_PermissionsView_Day_2_de.png | 4 +- ...rmissions.api_PermissionsView_Day_3_de.png | 4 +- ...oomselect.impl_RoomSelectView_Day_2_de.png | 4 +- ...oomselect.impl_RoomSelectView_Day_3_de.png | 4 +- ...oomselect.impl_RoomSelectView_Day_4_de.png | 4 +- ...oomselect.impl_RoomSelectView_Day_5_de.png | 4 +- ...oser_MarkdownTextComposerEdit_Day_0_de.png | 4 +- ...textcomposer_TextComposerEdit_Day_0_de.png | 4 +- ...TroubleshootNotificationsView_Day_1_de.png | 4 +- ...TroubleshootNotificationsView_Day_2_de.png | 4 +- ...TroubleshootNotificationsView_Day_4_de.png | 4 +- ...TroubleshootNotificationsView_Day_5_de.png | 4 +- screenshots/html/data.js | 1210 +++++++++-------- 405 files changed, 1434 insertions(+), 1366 deletions(-) create mode 100644 appnav/src/main/res/values-zh/translations.xml create mode 100644 features/deactivation/impl/src/main/res/values-be/translations.xml create mode 100644 screenshots/de/features.call.impl.ui_CallScreenView_Day_3_de.png create mode 100644 screenshots/de/libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Day_0_de.png diff --git a/appnav/src/main/res/values-be/translations.xml b/appnav/src/main/res/values-be/translations.xml index 9c15463203..f6699c0674 100644 --- a/appnav/src/main/res/values-be/translations.xml +++ b/appnav/src/main/res/values-be/translations.xml @@ -1,4 +1,5 @@ "Выйсці і абнавіць" + "Ваш хатні сервер больш не падтрымлівае стары пратакол. Калі ласка, выйдзіце і ўвайдзіце зноў, каб працягнуць выкарыстанне праграмы." diff --git a/appnav/src/main/res/values-zh/translations.xml b/appnav/src/main/res/values-zh/translations.xml new file mode 100644 index 0000000000..134f3c07fe --- /dev/null +++ b/appnav/src/main/res/values-zh/translations.xml @@ -0,0 +1,5 @@ + + + "登出并升级" + "您的服务器不再支持旧协议。请登出并重新登录以继续使用此应用。" + diff --git a/features/deactivation/impl/src/main/res/values-be/translations.xml b/features/deactivation/impl/src/main/res/values-be/translations.xml new file mode 100644 index 0000000000..38037dce6c --- /dev/null +++ b/features/deactivation/impl/src/main/res/values-be/translations.xml @@ -0,0 +1,4 @@ + + + "Дэактываваць уліковы запіс" + diff --git a/features/deactivation/impl/src/main/res/values-et/translations.xml b/features/deactivation/impl/src/main/res/values-et/translations.xml index 6cfe352ce5..95695fef16 100644 --- a/features/deactivation/impl/src/main/res/values-et/translations.xml +++ b/features/deactivation/impl/src/main/res/values-et/translations.xml @@ -2,5 +2,13 @@ "Palun kinnita uuesti, et soovid eemaldada oma konto kasutusest" "Kustuta kõik minu sõnumid" + "Hoiatus: tulevased kasutajad võivad näha poolikuid vestlusi." + "Sinu konto kasutusest eemaldamine on %1$s ja sellega:" + "pöördumatu" + "Sinu kasutajakonto %1$s (sa ei saa enam sellega võrku logida ning kasutajatunnust ei saa enam pruukida)." + "jäädavalt eemaldatakse kasutusest" + "Sind logitakse välja kõikidest jututubadest." + "Kustutatakse sinu andmed meie isikutuvastusserverist." + "Sinu sõnumid on jätkuvalt nähtavad registreeritud kasutajatele, kuid kui otsustad sõnumid kustutada, siis nad nad pole nähtavad uutele ja registreerimata kasutajatele." "Eemalda konto kasutusest" diff --git a/features/deactivation/impl/src/main/res/values-sk/translations.xml b/features/deactivation/impl/src/main/res/values-sk/translations.xml index afddc8d43c..42470ce95f 100644 --- a/features/deactivation/impl/src/main/res/values-sk/translations.xml +++ b/features/deactivation/impl/src/main/res/values-sk/translations.xml @@ -5,7 +5,10 @@ "Upozornenie: Budúcim používateľom sa môžu zobraziť neúplné konverzácie." "Deaktivácia vášho účtu znamená %1$s, že:" "nezvratný" + "%1$s váš účet (nebudete sa môcť znova prihlásiť a vaše ID nebude možné znova použiť)." "Natrvalo zakázať" + "Odstrániť vás zo všetkých miestností." + "Odstrániť informácie o vašom účte z nášho servera totožností." "Vaše správy budú stále viditeľné pre registrovaných používateľov, ale nebudú dostupné pre nových alebo neregistrovaných používateľov, ak sa ich rozhodnete odstrániť." "Deaktivovať účet" diff --git a/features/roomlist/impl/src/main/res/values-be/translations.xml b/features/roomlist/impl/src/main/res/values-be/translations.xml index 94b50f6d3c..b5abcfc70e 100644 --- a/features/roomlist/impl/src/main/res/values-be/translations.xml +++ b/features/roomlist/impl/src/main/res/values-be/translations.xml @@ -1,6 +1,10 @@ "Выйсці і абнавіць" + "Ваш сервер зараз падтрымлівае новы, хутчэйшы пратакол. Выйдзіце з сістэмы і зноў увайдзіце, каб абнавіць яе. Гэта дапаможа вам пазбегнуць прымусовага выхаду з сістэмы, калі стары пратакол будзе пазней выдалены." + "Ваш хатні сервер больш не падтрымлівае стары пратакол. Калі ласка, выйдзіце і ўвайдзіце зноў, каб працягнуць выкарыстанне праграмы." + "Даступна абнаўленне" + "Стварыце новы ключ аднаўлення, які можна выкарыстоўваць для аднаўлення зашыфраванай гісторыі паведамленняў у выпадку страты доступу да вашых прылад." "Наладзіць аднаўленне" "Ваша рэзервовая копія чата зараз не сінхранізавана. Вам трэба пацвердзіць ключ аднаўлення, каб захаваць доступ да рэзервовай копіі чата." "Увядзіце ключ аднаўлення" diff --git a/features/roomlist/impl/src/main/res/values-zh/translations.xml b/features/roomlist/impl/src/main/res/values-zh/translations.xml index b77275bb8d..3e49dc899a 100644 --- a/features/roomlist/impl/src/main/res/values-zh/translations.xml +++ b/features/roomlist/impl/src/main/res/values-zh/translations.xml @@ -1,5 +1,11 @@ + "登出并升级" + "您的服务器现在支持更快的新协议。现在登出并重新登录以进行升级。现在这样做可以帮助您避免在以后删除旧协议时被强制登出。" + "您的服务器不再支持旧协议。请登出并重新登录以继续使用此应用。" + "有可用升级" + "生成新的恢复密钥,该密钥可用于在您无法访问设备时恢复加密的消息历史记录。" + "设置恢复" "聊天备份目前不同步,需要输入恢复密钥才能访问聊天备份。" "输入恢复密钥" "为确保您不会错过重要来电,请更改设置以允许锁屏时的全屏通知。" diff --git a/features/securebackup/impl/src/main/res/values-zh/translations.xml b/features/securebackup/impl/src/main/res/values-zh/translations.xml index c8f2b7d9ed..2ac13bca5c 100644 --- a/features/securebackup/impl/src/main/res/values-zh/translations.xml +++ b/features/securebackup/impl/src/main/res/values-zh/translations.xml @@ -16,6 +16,7 @@ "按照说明创建新的恢复密钥" "将新的恢复密钥保存在密码管理器或加密备忘录中" "使用其他设备重置账户的加密" + "继续重置" "您的账户信息、联系人、偏好设置和聊天列表将被保留" "您将丢失现有的消息历史记录" "您将需要再次验证所有您的现有设备和联系人" @@ -58,6 +59,7 @@ "是的,立即重置" "此过程不可逆。" "您确定要重置加密吗?" + "发生未知错误。请检查您的帐户密码是否正确,然后重试。" "输入…" "确认您要重置加密。" "输入您的账户密码以继续" diff --git a/libraries/push/impl/src/main/res/values-be/translations.xml b/libraries/push/impl/src/main/res/values-be/translations.xml index 074693ec08..0dc2611e58 100644 --- a/libraries/push/impl/src/main/res/values-be/translations.xml +++ b/libraries/push/impl/src/main/res/values-be/translations.xml @@ -26,6 +26,7 @@ "%d запрашэнняў" "Запрасіў(-ла) вас у чат" + "%1$s запрасіў(-ла) вас у чат" "Згадаў(-ла) вас: %1$s" "Новыя паведамленні" @@ -37,6 +38,7 @@ "Пазначыць як прачытанае" "Хуткі адказ" "Запрасіў(-ла) вас далучыцца да пакоя" + "%1$s запрасіў(-ла) вас далучыцца да пакоя" "Я" "Вы праглядаеце апавяшчэнне! Націсніце мяне!" "%1$s: %2$s" diff --git a/libraries/push/impl/src/main/res/values-cs/translations.xml b/libraries/push/impl/src/main/res/values-cs/translations.xml index d8ef70452e..15a5d22de9 100644 --- a/libraries/push/impl/src/main/res/values-cs/translations.xml +++ b/libraries/push/impl/src/main/res/values-cs/translations.xml @@ -26,6 +26,7 @@ "%d pozvánek" "Vás pozval(a) do chatu" + "%1$s vás pozval(a) do chatu" "Zmínili vás: %1$s" "Nové zprávy" @@ -37,6 +38,7 @@ "Označit jako přečtené" "Rychlá odpověď" "Vás pozval(a) do místnosti" + "%1$s vás pozval(a) do místnosti" "Já" "%1$s zmínil(a) nebo odpověděl(a)" "Prohlížíte si oznámení! Klikněte na mě!" diff --git a/libraries/push/impl/src/main/res/values-et/translations.xml b/libraries/push/impl/src/main/res/values-et/translations.xml index cda5b2649f..8211ac4c25 100644 --- a/libraries/push/impl/src/main/res/values-et/translations.xml +++ b/libraries/push/impl/src/main/res/values-et/translations.xml @@ -23,6 +23,7 @@ "%d kutset" "Kutse osalema vestluses" + "%1$s saatus sulle vestluskutse" "Mainis sind: %1$s" "Uued sõnumid" @@ -33,6 +34,7 @@ "Märgi loetuks" "Kiirvastus" "Saatis sulle kutse jututuppa" + "%1$s saatis sulle kutse jututoaga liitumiseks" "Mina" "%1$s mainis või vastas" "See ongi teavitus! Klõpsi mind!" diff --git a/libraries/push/impl/src/main/res/values-sk/translations.xml b/libraries/push/impl/src/main/res/values-sk/translations.xml index 8074371ea5..88bf1d91c0 100644 --- a/libraries/push/impl/src/main/res/values-sk/translations.xml +++ b/libraries/push/impl/src/main/res/values-sk/translations.xml @@ -26,6 +26,7 @@ "%d pozvánok" "Vás pozval/a na konverzáciu" + "%1$s vás pozval/a na rozhovor" "Spomenul/a vás: %1$s" "Nové správy" @@ -37,6 +38,7 @@ "Označiť ako prečítané" "Rýchla odpoveď" "Vás pozval do miestnosti" + "%1$s vás pozval/a, aby ste sa pripojili k miestnosti" "Ja" "%1$s spomenul/a alebo odpovedal/a" "Prezeráte si oznámenie! Kliknite na mňa!" diff --git a/libraries/push/impl/src/main/res/values-zh/translations.xml b/libraries/push/impl/src/main/res/values-zh/translations.xml index 88ac5dfa89..f81d97f1da 100644 --- a/libraries/push/impl/src/main/res/values-zh/translations.xml +++ b/libraries/push/impl/src/main/res/values-zh/translations.xml @@ -30,6 +30,7 @@ "快速回复" "邀请你加入房间" "我" + "%1$s提及或回复" "您正在查看通知!点击我!" "%1$s:%2$s" "%1$s: %2$s %3$s" diff --git a/libraries/ui-strings/src/main/res/values-be/translations.xml b/libraries/ui-strings/src/main/res/values-be/translations.xml index 1d9818f2a5..f382194509 100644 --- a/libraries/ui-strings/src/main/res/values-be/translations.xml +++ b/libraries/ui-strings/src/main/res/values-be/translations.xml @@ -44,12 +44,15 @@ "Закрыць" "Праверка завершана" "Пацвердзіць" + "Пацвердзіць пароль" "Працягнуць" "Капіраваць" "Скапіраваць спасылку" "Скапіраваць спасылку на паведамленне" "Стварыць" "Стварыце пакой" + "Дэактываваць" + "Дэактываваць уліковы запіс" "Адхіліць" "Выдаліць апытанне" "Адключыць" @@ -249,12 +252,14 @@ "Галасавое паведамленне" "Чакаем…" "Чакаю гэта паведамленне" + "Вы" "Пацвярджэнне" "Памылка" "Поспех" "Папярэджанне" "Вашы змены не былі захаваны. Вы ўпэўнены, што хочаце вярнуцца?" "Захаваць змены?" + "Ваш хатні сервер неабходна абнавіць для падтрымкі Matrix Authentication Service і стварэння ўліковага запісу." "Не атрымалася стварыць пастаянную спасылку" "%1$s не атрымалася загрузіць карту. Калі ласка паспрабуйце зноў пазней." "Не ўдалося загрузіць паведамленні" @@ -267,6 +272,7 @@ "Некаторыя паведамленні не былі адпраўлены" "Выбачце, адбылася памылка" "Сапраўднасць гэтага зашыфраванага паведамлення не можа быць гарантаваная на гэтай прыладзе." + "Зашыфравана раней правераным карыстальнікам." "Не зашыфраваны." "Зашыфравана невядомай ці выдаленай прыладай." "Зашыфравана прыладай, не пацверджанай яе ўладальнікам." @@ -286,6 +292,7 @@ "%1$d Замацаваных паведамленняў" "Замацаваныя паведамленні" + "Адклікаць праверку і адправіць" "Усё роўна адправіць паведамленне" "Замацаваныя паведамленні" "Не атрымалася апрацаваць медыяфайл для загрузкі, паспрабуйце яшчэ раз." diff --git a/libraries/ui-strings/src/main/res/values-cs/translations.xml b/libraries/ui-strings/src/main/res/values-cs/translations.xml index 4db196933f..a2c8adb875 100644 --- a/libraries/ui-strings/src/main/res/values-cs/translations.xml +++ b/libraries/ui-strings/src/main/res/values-cs/translations.xml @@ -252,6 +252,7 @@ Důvod: %1$s." "Hlasová zpráva" "Čekání…" "Čekání na dešifrovací klíč" + "Vy" "Potvrzení" "Chyba" "Úspěch" diff --git a/libraries/ui-strings/src/main/res/values-de/translations.xml b/libraries/ui-strings/src/main/res/values-de/translations.xml index 13bd0b7d93..597f468ec5 100644 --- a/libraries/ui-strings/src/main/res/values-de/translations.xml +++ b/libraries/ui-strings/src/main/res/values-de/translations.xml @@ -301,7 +301,7 @@ Grund: %1$s." "Der Nutzer kann dir wieder Nachrichten senden & alle Nachrichten des Nutzers werden wieder angezeigt." "Blockierung aufheben" "%1$s von %2$s" - "%1$s Angepinnte Nachrichten" + "%1$s fixierte Nachrichten" "Nachricht wird geladen…" "Alle anzeigen" "Chat" diff --git a/libraries/ui-strings/src/main/res/values-et/translations.xml b/libraries/ui-strings/src/main/res/values-et/translations.xml index 0453ed2de2..6f2bb40cc4 100644 --- a/libraries/ui-strings/src/main/res/values-et/translations.xml +++ b/libraries/ui-strings/src/main/res/values-et/translations.xml @@ -42,13 +42,14 @@ "Sulge" "Tee verifitseerimine lõpuni" "Kinnita" - "Korda salasõna" + "Kinnita otsust oma salasõnaga" "Jätka" "Kopeeri" "Kopeeri link" "Kopeeri sõnumi link" "Loo" "Loo jututuba" + "Eemalda konto" "Eemalda konto kasutusest" "Keeldu" "Kustuta küsitlus" @@ -247,6 +248,7 @@ Põhjus: %1$s." "Häälsõnum" "Ootame…" "Ootame selle sõnumi dekrüptimisvõtit" + "Sina" "Kinnitus" "Viga" "Õnnestus" diff --git a/libraries/ui-strings/src/main/res/values-fr/translations.xml b/libraries/ui-strings/src/main/res/values-fr/translations.xml index 936022ed7c..a1b01a9ca2 100644 --- a/libraries/ui-strings/src/main/res/values-fr/translations.xml +++ b/libraries/ui-strings/src/main/res/values-fr/translations.xml @@ -247,6 +247,7 @@ Raison: %1$s." "Message vocal" "En attente…" "En attente de la clé de déchiffrement" + "Vous" "Confirmation" "Erreur" "Succès" diff --git a/libraries/ui-strings/src/main/res/values-sk/translations.xml b/libraries/ui-strings/src/main/res/values-sk/translations.xml index f9059c47b5..b8a330ed2c 100644 --- a/libraries/ui-strings/src/main/res/values-sk/translations.xml +++ b/libraries/ui-strings/src/main/res/values-sk/translations.xml @@ -252,6 +252,7 @@ Dôvod: %1$s." "Hlasová správa" "Čaká sa…" "Čaká sa na dešifrovací kľúč" + "Vy" "Potvrdenie" "Chyba" "Úspech" diff --git a/libraries/ui-strings/src/main/res/values-zh/translations.xml b/libraries/ui-strings/src/main/res/values-zh/translations.xml index d5f82ed713..34bca6d3fa 100644 --- a/libraries/ui-strings/src/main/res/values-zh/translations.xml +++ b/libraries/ui-strings/src/main/res/values-zh/translations.xml @@ -34,6 +34,7 @@ "返回" "呼叫" "取消" + "暂时取消" "选择照片" "清除" "关闭" @@ -110,6 +111,7 @@ "点按查看选项" "再试一次" "取消置顶" + "在时间轴中查看" "查看源码" "是" "关于" @@ -273,6 +275,9 @@ "%1$d 置顶消息" "置顶消息" + "您将要转到您的%1$s帐户来重置您的身份信息。之后,您将被带回该应用。" + "无法确认?请前往您的帐户重置您的身份。" + "您的消息未发送,因为%1$s尚未验证所有设备" "置顶消息" "处理要上传的媒体失败,请重试。" "无法获取用户信息" @@ -294,6 +299,7 @@ "在 Google Maps 中打开" "在 OpenStreetMap 中打开" "分享这个位置" + "消息未发送,因为%1$s尚未验证所有设备。" "位置" "版本:%1$s (%2$s)" "zh-Hans" diff --git a/screenshots/de/appnav.loggedin_LoggedInView_Day_1_de.png b/screenshots/de/appnav.loggedin_LoggedInView_Day_1_de.png index 4df6236c8d..1f10ded788 100644 --- a/screenshots/de/appnav.loggedin_LoggedInView_Day_1_de.png +++ b/screenshots/de/appnav.loggedin_LoggedInView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58a7cd01339c7f1fcffeee29702372b3550c7bad62f773708fd47f5e6b56360e -size 9412 +oid sha256:02d1ddf186d518d3284a23f7fc3e1edd132e9aa0d42c22b8f830804500f445ac +size 9421 diff --git a/screenshots/de/appnav.loggedin_SyncStateView_Day_0_de.png b/screenshots/de/appnav.loggedin_SyncStateView_Day_0_de.png index 53287e66c1..37ccab0912 100644 --- a/screenshots/de/appnav.loggedin_SyncStateView_Day_0_de.png +++ b/screenshots/de/appnav.loggedin_SyncStateView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:38706a792e97861e4f6235c954fc385efb904a9d6de6a32de4b60f4a4a6b712d -size 9538 +oid sha256:504af9508487312a58c578bc03206f5579a4f666ff5c7c5729da4b271fee6da2 +size 9578 diff --git a/screenshots/de/appnav.room.joined_LoadingRoomNodeView_Day_1_de.png b/screenshots/de/appnav.room.joined_LoadingRoomNodeView_Day_1_de.png index d3bdd13cb3..2a72550a09 100644 --- a/screenshots/de/appnav.room.joined_LoadingRoomNodeView_Day_1_de.png +++ b/screenshots/de/appnav.room.joined_LoadingRoomNodeView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e6ec5c2ed06463e7642443c89500e3e4864e439382f5358d78db0b53cddfe2d5 -size 13019 +oid sha256:a27b5d56acfea6a41e0eeffc043e4a0655f8850c56543b728b01388e4b076846 +size 13021 diff --git a/screenshots/de/appnav.root_RootView_Day_0_de.png b/screenshots/de/appnav.root_RootView_Day_0_de.png index 31fc482040..52d9bcaf93 100644 --- a/screenshots/de/appnav.root_RootView_Day_0_de.png +++ b/screenshots/de/appnav.root_RootView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f0127dd90db31f780bead4ea6f09309cc2667032f1035a8d0e921248afbd08c -size 26167 +oid sha256:6ef416f0e1c58ceb0e7625cb116a1d51a44753814a2051284cc06cf3b8075bd3 +size 26153 diff --git a/screenshots/de/appnav.root_RootView_Day_1_de.png b/screenshots/de/appnav.root_RootView_Day_1_de.png index 44c434965a..58916a215b 100644 --- a/screenshots/de/appnav.root_RootView_Day_1_de.png +++ b/screenshots/de/appnav.root_RootView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9845fd260d8161048a7e9d3afaad396a9746bfe66f508b87545774e1b726a4f6 -size 29918 +oid sha256:485ab7ae5935abf6b6ad136b1a0802bba349fcd21a858128ea6d0f5fbd9bb639 +size 29789 diff --git a/screenshots/de/features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_de.png b/screenshots/de/features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_de.png index b7d1ae0f74..2fa0d2e1af 100644 --- a/screenshots/de/features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_de.png +++ b/screenshots/de/features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:625b27a6b81cac055b1092301ba165befd13058e4ce47331bc8962042d2f6098 -size 24846 +oid sha256:9c0a6df24a5249610107acdf80cda90102e9927aef6d87d1b8101cdf8da30cec +size 24847 diff --git a/screenshots/de/features.call.impl.ui_CallScreenView_Day_1_de.png b/screenshots/de/features.call.impl.ui_CallScreenView_Day_1_de.png index 4264e1f48c..1ff5d0b1d4 100644 --- a/screenshots/de/features.call.impl.ui_CallScreenView_Day_1_de.png +++ b/screenshots/de/features.call.impl.ui_CallScreenView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e59ed451dc39c6d7dc125f5cd21864129de6c23e77163e57c615ea0cb930202e -size 14108 +oid sha256:48beee519b4b93c8d6175c59f21f7ecac80a77562639cb5ff3800a5da1dd9314 +size 14206 diff --git a/screenshots/de/features.call.impl.ui_CallScreenView_Day_3_de.png b/screenshots/de/features.call.impl.ui_CallScreenView_Day_3_de.png new file mode 100644 index 0000000000..e5a95cd93b --- /dev/null +++ b/screenshots/de/features.call.impl.ui_CallScreenView_Day_3_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3550c163b827810656fa433349c77c0df9b6157295a5f1c8c4d17bb52b968922 +size 21909 diff --git a/screenshots/de/features.call.impl.ui_IncomingCallScreen_Day_0_de.png b/screenshots/de/features.call.impl.ui_IncomingCallScreen_Day_0_de.png index 0edabb595c..fc00862303 100644 --- a/screenshots/de/features.call.impl.ui_IncomingCallScreen_Day_0_de.png +++ b/screenshots/de/features.call.impl.ui_IncomingCallScreen_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c6b0b146cbd6cb3d1781e289cb37098e8ec3ed840d90144e30661b6dcfc52dc2 -size 67697 +oid sha256:14d558b06046c968017a7851b139f9c28a6a2a229b70ffda78ba356c8c0732e6 +size 68305 diff --git a/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_0_de.png b/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_0_de.png index 48b865b3f0..202f5ec903 100644 --- a/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_0_de.png +++ b/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d43571a3db35da818e49a4e1573dd6058c20ef5ed4d1e702fd43a8c686c2a4d9 -size 16996 +oid sha256:2683c2af9b6e03d8a63478a277bc08fee3938a48cf446e81fee14b8177a7a0e5 +size 17005 diff --git a/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_1_de.png b/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_1_de.png index 64429a9d95..20fb2fd98d 100644 --- a/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_1_de.png +++ b/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:525394de35c4066173c95e4ec4ef52842361febd45bf4484a2a9bb240a34fed1 -size 26707 +oid sha256:fabdf30f91e5d14fdb41a78f337adc1781e572bbdb346be34b6de1738362b577 +size 26228 diff --git a/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_2_de.png b/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_2_de.png index bba9b720fe..470d57da4f 100644 --- a/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_2_de.png +++ b/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e92a792373c64c6128b0e68512869121ebb3444d6effd7fa09791ec0bff9a58 -size 88672 +oid sha256:c0f3638a74eeb2150003ec66a36452929b6e294903dd9ca961dc9585e807a40f +size 87705 diff --git a/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_3_de.png b/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_3_de.png index 2626d16ac7..27a46e8484 100644 --- a/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_3_de.png +++ b/screenshots/de/features.createroom.impl.addpeople_AddPeopleView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68eef74d5c2514da4547b396ce1539c0eefac76db33853152613645057c4e261 -size 45129 +oid sha256:00a2119357556362eea4ffc31e982e87e0a2e18af95ab713b433851d5ad99d39 +size 44744 diff --git a/screenshots/de/features.createroom.impl.components_SearchMultipleUsersResultItem_de.png b/screenshots/de/features.createroom.impl.components_SearchMultipleUsersResultItem_de.png index 3243f98f3e..52609a5a99 100644 --- a/screenshots/de/features.createroom.impl.components_SearchMultipleUsersResultItem_de.png +++ b/screenshots/de/features.createroom.impl.components_SearchMultipleUsersResultItem_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dc5a037c099b88d37810bb579672e472dbfa6891103f34b3200abc8cbe65e7bd -size 100239 +oid sha256:06e25bb7c37f1ba66635bbc981d801c0725995acdb2ed214a3de8668a141e1d5 +size 99989 diff --git a/screenshots/de/features.createroom.impl.components_SearchSingleUserResultItem_de.png b/screenshots/de/features.createroom.impl.components_SearchSingleUserResultItem_de.png index 1a99b56123..7b04660575 100644 --- a/screenshots/de/features.createroom.impl.components_SearchSingleUserResultItem_de.png +++ b/screenshots/de/features.createroom.impl.components_SearchSingleUserResultItem_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b6b4e87f7ad555ee2d74287109322f5bca7d2e3409cee93f01ba1106a73e6dae -size 51546 +oid sha256:76ec5d3975491b745381ab49b8e6df5e3455ae0a33185f4d277680d315377d7f +size 51416 diff --git a/screenshots/de/features.createroom.impl.components_UserListView_Day_1_de.png b/screenshots/de/features.createroom.impl.components_UserListView_Day_1_de.png index 31b24fad11..39a409488e 100644 --- a/screenshots/de/features.createroom.impl.components_UserListView_Day_1_de.png +++ b/screenshots/de/features.createroom.impl.components_UserListView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:19054ab82d1da0961b22e7f7ea353c8142278ae4aec06a6c882eaf003ef2b7ac -size 21534 +oid sha256:f9a7ec6c7c6406da82cbc68a31e1ac6af0c7cd4fcb9a162f2f222a0b98d43ace +size 20914 diff --git a/screenshots/de/features.createroom.impl.components_UserListView_Day_9_de.png b/screenshots/de/features.createroom.impl.components_UserListView_Day_9_de.png index 5ba2d63702..82cb2036e1 100644 --- a/screenshots/de/features.createroom.impl.components_UserListView_Day_9_de.png +++ b/screenshots/de/features.createroom.impl.components_UserListView_Day_9_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:36cd5ee488aa8e51a8dda94c93e967c5e40b3ade4d5888cc8c195b03f323db8a -size 38129 +oid sha256:89fecc1b67392dae4b62e99963c440db63adddcc0c9c4f6d81408560063b870d +size 37718 diff --git a/screenshots/de/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_de.png b/screenshots/de/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_de.png index 4c28be2d53..61b9f59336 100644 --- a/screenshots/de/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_de.png +++ b/screenshots/de/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9bcdddc6c1c870df749418ed8fdc4147feeb4e59b4f0f66737d41c13cad56705 -size 68873 +oid sha256:da3443d59c212275afd2b040b45209c7433b63165f21f4c6f835527fdb23f295 +size 68865 diff --git a/screenshots/de/features.createroom.impl.configureroom_ConfigureRoomView_Day_1_de.png b/screenshots/de/features.createroom.impl.configureroom_ConfigureRoomView_Day_1_de.png index 7ea02382ba..288469508d 100644 --- a/screenshots/de/features.createroom.impl.configureroom_ConfigureRoomView_Day_1_de.png +++ b/screenshots/de/features.createroom.impl.configureroom_ConfigureRoomView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b42d6b355de876e3101bf57c2e8403379267bb3576ad0b76e202cf9693302762 -size 86470 +oid sha256:7302d7c5dbcbed959c5446b079f4b14fe846e8c2afc828274d49760f5ea4a942 +size 85874 diff --git a/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_1_de.png b/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_1_de.png index 8dac23a247..cbf5a5f9ba 100644 --- a/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_1_de.png +++ b/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e7242b607c9effc12257233e1ad7f26ac3fd57a00b218fc43979dec4e3132fbd -size 21044 +oid sha256:7faeafca006a15ed6fd89f94f737841e59c46f035b02f5d7e3dee24e0a879890 +size 21014 diff --git a/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_2_de.png b/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_2_de.png index e7a5c22087..146d6c2d41 100644 --- a/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_2_de.png +++ b/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb4252f4c05d4e917ee8014d45ea7a5d382eaa9b2cad3834cda01d7e56cfc98c -size 30792 +oid sha256:b70ad3ea46f1848045f59cd89ae4c157abba2b711888c5b45a77c8e4121519bc +size 30622 diff --git a/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_3_de.png b/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_3_de.png index de277b304c..874582fed6 100644 --- a/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_3_de.png +++ b/screenshots/de/features.createroom.impl.root_CreateRoomRootView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:25604e5725697c247bb7aecc182c0e04d54e1a28b3c73d8a46fa1926254a3c59 -size 48834 +oid sha256:7b5433313f6359603e64477fc7cdebb10782cbe3c2a9ac8087ff2252c11ece55 +size 48294 diff --git a/screenshots/de/features.ftue.impl.notifications_NotificationsOptInView_Day_0_de.png b/screenshots/de/features.ftue.impl.notifications_NotificationsOptInView_Day_0_de.png index 354cb009bf..f22c513f01 100644 --- a/screenshots/de/features.ftue.impl.notifications_NotificationsOptInView_Day_0_de.png +++ b/screenshots/de/features.ftue.impl.notifications_NotificationsOptInView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:64e6303839170af391c803b710d9bc54948e12d30f2e9174f8902de05f467fc4 -size 70660 +oid sha256:5934b3576d3c2f76793e31a74a3855bd31777560b37a55fa46ae87da39759854 +size 70787 diff --git a/screenshots/de/features.ftue.impl.welcome_WelcomeView_Day_0_de.png b/screenshots/de/features.ftue.impl.welcome_WelcomeView_Day_0_de.png index ba2f3a0d11..c2f1836b5f 100644 --- a/screenshots/de/features.ftue.impl.welcome_WelcomeView_Day_0_de.png +++ b/screenshots/de/features.ftue.impl.welcome_WelcomeView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:db9b0006162d6fb04cf913015d0713b6b5c044f1b88d86a1fe8f0597267ff89d -size 270320 +oid sha256:359abe7bf39c0db3e08f70190934082cc0120f1a0f4b20df2aef4cf0c07435d8 +size 265083 diff --git a/screenshots/de/features.invite.impl.response_AcceptDeclineInviteView_Day_1_de.png b/screenshots/de/features.invite.impl.response_AcceptDeclineInviteView_Day_1_de.png index b09515abf3..c8c8899081 100644 --- a/screenshots/de/features.invite.impl.response_AcceptDeclineInviteView_Day_1_de.png +++ b/screenshots/de/features.invite.impl.response_AcceptDeclineInviteView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5bdcebc7ed6a5e6769c686eae732e33b00e6fc449e1a5edf652e1776b95dd5fc -size 25499 +oid sha256:eb0ad352451d6fe718acc507e55fb3a923482f27517fd35cb82187af0474e17f +size 25520 diff --git a/screenshots/de/features.invite.impl.response_AcceptDeclineInviteView_Day_2_de.png b/screenshots/de/features.invite.impl.response_AcceptDeclineInviteView_Day_2_de.png index e9a1f44ba7..78bc2e26ab 100644 --- a/screenshots/de/features.invite.impl.response_AcceptDeclineInviteView_Day_2_de.png +++ b/screenshots/de/features.invite.impl.response_AcceptDeclineInviteView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8148ddb56dfcf647654455fc8cf675ce8b4e7d10fcbf27069a693353d256121 -size 24958 +oid sha256:284b436fadc5b683578299ea8e3cedaab7a9321ba2831fb8c85f1bc4ca6b4b06 +size 24965 diff --git a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_2_de.png b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_2_de.png index 1d2bb4fd13..4c40910f49 100644 --- a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_2_de.png +++ b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9de5e244b8cd18630d454da6c811255ef02286f6c5048e0db717ea43e80e0f6a -size 99617 +oid sha256:da133e7680d61beb4367513f324ee9800bfaa6df338a3fec46ee6b69ef370566 +size 99473 diff --git a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_3_de.png b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_3_de.png index 2a9dcb034b..2fbecb35de 100644 --- a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_3_de.png +++ b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9cb060a9a217250fb80d0a4ac44cf1f5520af5a2077bd93a48a8967c50de14c4 -size 111856 +oid sha256:203615332f2a04e244e1642e5216cf1fbe587451b4e6ef0928a02a8dbdfc83d4 +size 111758 diff --git a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_4_de.png b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_4_de.png index 83df9e61db..0879d27b21 100644 --- a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_4_de.png +++ b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:35674d031db87b318b24d88b4f543138877df2770c24a1fbfe9521173c214938 -size 116651 +oid sha256:f9b91c6b04ca9dc969284cd7e8499402bab84fcd08b0d5818365a355cf07854e +size 116571 diff --git a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_5_de.png b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_5_de.png index 17824149f3..a0cee32c3d 100644 --- a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_5_de.png +++ b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b1ba6af03637be89d0e9459c1586cad6f6cf6bcf72ae787d4f2d42262e17484e -size 112189 +oid sha256:45d925186a619b7fbe19211ddfc8c052a3571b53ea6fbc914d819473aed9328f +size 112045 diff --git a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_6_de.png b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_6_de.png index e402b05716..b3c6ee7f90 100644 --- a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_6_de.png +++ b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:63b72654e614e8121f44ddd7ffcafa32e0149572da48e06942e12209afc18da8 -size 121031 +oid sha256:e9932d10e3ddc88b8fef4512151eb1810fd91eb9f9a9fd7ef68786f94f89c7f1 +size 120891 diff --git a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_9_de.png b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_9_de.png index 3a5dff0715..a3aaef1824 100644 --- a/screenshots/de/features.joinroom.impl_JoinRoomView_Day_9_de.png +++ b/screenshots/de/features.joinroom.impl_JoinRoomView_Day_9_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f7096b8420b1ab0b469d02b19c65870b91ddb1b8d8f43992fa7091a65d1ef5a -size 114003 +oid sha256:5a975e41d142e75969ca6e4148c5a87acc57c3fc78c1a1bac65207b09ce3fe38 +size 113797 diff --git a/screenshots/de/features.leaveroom.api_LeaveRoomView_Day_4_de.png b/screenshots/de/features.leaveroom.api_LeaveRoomView_Day_4_de.png index a6b69d1a55..6207c21422 100644 --- a/screenshots/de/features.leaveroom.api_LeaveRoomView_Day_4_de.png +++ b/screenshots/de/features.leaveroom.api_LeaveRoomView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0941da6327436802e2b39f2167c7a274e39fb66cedcaab1ac25dc7eff67a1b5d -size 10592 +oid sha256:946af9704b2127f17407188d525689130f937abf7928225e3a61705ece0eb8df +size 10686 diff --git a/screenshots/de/features.licenses.impl.list_DependencyLicensesListView_Day_0_de.png b/screenshots/de/features.licenses.impl.list_DependencyLicensesListView_Day_0_de.png index 6b725d2cd5..379ff1e49b 100644 --- a/screenshots/de/features.licenses.impl.list_DependencyLicensesListView_Day_0_de.png +++ b/screenshots/de/features.licenses.impl.list_DependencyLicensesListView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5477f93082d663bf5a9108e2d13f3e45f06bbbee8ad15e2c158e17cb14e72e14 -size 11130 +oid sha256:daa1ee2d17b392c702067cfd3bd73a64ed393e68e242b342abe1db97baa696db +size 11218 diff --git a/screenshots/de/features.location.impl.send_SendLocationView_Day_0_de.png b/screenshots/de/features.location.impl.send_SendLocationView_Day_0_de.png index 94a7bd1b42..3a319a2cab 100644 --- a/screenshots/de/features.location.impl.send_SendLocationView_Day_0_de.png +++ b/screenshots/de/features.location.impl.send_SendLocationView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df08073b134d70531f3fffb61f3de450c8eaa431340535db56f70920d46f6d7f -size 20549 +oid sha256:ef204de40ffcaf89493ac4034e5ea17f410bae69fb6a8bb4cbffd9507a5b21d0 +size 20467 diff --git a/screenshots/de/features.location.impl.send_SendLocationView_Day_1_de.png b/screenshots/de/features.location.impl.send_SendLocationView_Day_1_de.png index 7b1978d1dd..2ca26fd76f 100644 --- a/screenshots/de/features.location.impl.send_SendLocationView_Day_1_de.png +++ b/screenshots/de/features.location.impl.send_SendLocationView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:920c06ffbb609d9ae045e7553953e6893c24601ebad281889d5c676389902e0a -size 38118 +oid sha256:fc8fa8212e7259517e40af598cdf6c9832983cc99b2ee39f8a2169bb7950e01c +size 38045 diff --git a/screenshots/de/features.location.impl.send_SendLocationView_Day_2_de.png b/screenshots/de/features.location.impl.send_SendLocationView_Day_2_de.png index 30ff37c89a..2c8350b5cc 100644 --- a/screenshots/de/features.location.impl.send_SendLocationView_Day_2_de.png +++ b/screenshots/de/features.location.impl.send_SendLocationView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6e6639b99f6b2a518493a5807fc1af12f66d751dcd663bda0030c0c528f3721a -size 34517 +oid sha256:ae4393bd42f9fb1ca0bac205f21fe27551b0884209558356593abd7e72ce1a63 +size 34450 diff --git a/screenshots/de/features.location.impl.send_SendLocationView_Day_3_de.png b/screenshots/de/features.location.impl.send_SendLocationView_Day_3_de.png index 94a7bd1b42..3a319a2cab 100644 --- a/screenshots/de/features.location.impl.send_SendLocationView_Day_3_de.png +++ b/screenshots/de/features.location.impl.send_SendLocationView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df08073b134d70531f3fffb61f3de450c8eaa431340535db56f70920d46f6d7f -size 20549 +oid sha256:ef204de40ffcaf89493ac4034e5ea17f410bae69fb6a8bb4cbffd9507a5b21d0 +size 20467 diff --git a/screenshots/de/features.location.impl.send_SendLocationView_Day_4_de.png b/screenshots/de/features.location.impl.send_SendLocationView_Day_4_de.png index 14729b0a6e..ce2e02e956 100644 --- a/screenshots/de/features.location.impl.send_SendLocationView_Day_4_de.png +++ b/screenshots/de/features.location.impl.send_SendLocationView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f4e614317dc5a8974451c45572dc6d3572a98995b76c2250c875fe9593ddcb6 -size 20686 +oid sha256:f1c2621e9325d09672e23f32ba18a97a9c75b0ebc6a263080907308a0bb84d8f +size 20616 diff --git a/screenshots/de/features.location.impl.show_ShowLocationView_Day_0_de.png b/screenshots/de/features.location.impl.show_ShowLocationView_Day_0_de.png index c3148072be..74c0c9d1c4 100644 --- a/screenshots/de/features.location.impl.show_ShowLocationView_Day_0_de.png +++ b/screenshots/de/features.location.impl.show_ShowLocationView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6432c1ddbd16df737087f880c69fbd2c67d82e4b9266d5123a334852d778c837 -size 12264 +oid sha256:a8b1b5b8a58e360ad290febc451e45f8d9ed5914de6131d8419454dce0ef329a +size 12195 diff --git a/screenshots/de/features.location.impl.show_ShowLocationView_Day_1_de.png b/screenshots/de/features.location.impl.show_ShowLocationView_Day_1_de.png index 1019beaf75..4ac0009ff8 100644 --- a/screenshots/de/features.location.impl.show_ShowLocationView_Day_1_de.png +++ b/screenshots/de/features.location.impl.show_ShowLocationView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6e1ea6bc818df234727640f239b36c575929f9de10e782e48ae9f96ca4b29b1d -size 32572 +oid sha256:9658e32678c73a0f47d3e11c7134e1c9b603fe9deb67bbef7b6e9644ad22ced6 +size 32512 diff --git a/screenshots/de/features.location.impl.show_ShowLocationView_Day_2_de.png b/screenshots/de/features.location.impl.show_ShowLocationView_Day_2_de.png index 4ad76d47db..a7e9b95359 100644 --- a/screenshots/de/features.location.impl.show_ShowLocationView_Day_2_de.png +++ b/screenshots/de/features.location.impl.show_ShowLocationView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ca9eb33cbdefc5ea7b1360b385bc6529bafaa8649d08d7bfabadf6bf68d50d9 -size 29023 +oid sha256:17cc95cced6f13bcc7487ca6ead90f162875b050487c545cf86b34c9fa0db5e5 +size 28973 diff --git a/screenshots/de/features.location.impl.show_ShowLocationView_Day_3_de.png b/screenshots/de/features.location.impl.show_ShowLocationView_Day_3_de.png index c3148072be..74c0c9d1c4 100644 --- a/screenshots/de/features.location.impl.show_ShowLocationView_Day_3_de.png +++ b/screenshots/de/features.location.impl.show_ShowLocationView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6432c1ddbd16df737087f880c69fbd2c67d82e4b9266d5123a334852d778c837 -size 12264 +oid sha256:a8b1b5b8a58e360ad290febc451e45f8d9ed5914de6131d8419454dce0ef329a +size 12195 diff --git a/screenshots/de/features.location.impl.show_ShowLocationView_Day_4_de.png b/screenshots/de/features.location.impl.show_ShowLocationView_Day_4_de.png index 2972e83c09..adc13e8bfd 100644 --- a/screenshots/de/features.location.impl.show_ShowLocationView_Day_4_de.png +++ b/screenshots/de/features.location.impl.show_ShowLocationView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a443ecba8faaab0dfc7cf8742a37a8712b2c2a3b2bfc7c5e94925195e0a532b -size 12461 +oid sha256:80f944a549c9e9d0d7c66ee7f4f1fafd41a7ba0453bec88fbb5ab5e05f705e17 +size 12388 diff --git a/screenshots/de/features.location.impl.show_ShowLocationView_Day_5_de.png b/screenshots/de/features.location.impl.show_ShowLocationView_Day_5_de.png index 8a989fd197..3e719e069c 100644 --- a/screenshots/de/features.location.impl.show_ShowLocationView_Day_5_de.png +++ b/screenshots/de/features.location.impl.show_ShowLocationView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e847a96b43a31df8ad991e2818b0e4c01eb3176d38e01aecde6ba34bbc929e90 -size 16033 +oid sha256:cc4c1b633804856175ecbccbd049b27fdf1a9e51603c1f47f83d710ddcf0a950 +size 15971 diff --git a/screenshots/de/features.location.impl.show_ShowLocationView_Day_6_de.png b/screenshots/de/features.location.impl.show_ShowLocationView_Day_6_de.png index 6bba72037c..e55b6a47a8 100644 --- a/screenshots/de/features.location.impl.show_ShowLocationView_Day_6_de.png +++ b/screenshots/de/features.location.impl.show_ShowLocationView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb000d2201d558a88024d54f03acb55e3ae55f4feed54021d7db609dadb5c566 -size 24616 +oid sha256:848af1b684b636a11d8abbf0401bfc948118a96186ea39ca840613f0ea4fa544 +size 24558 diff --git a/screenshots/de/features.location.impl.show_ShowLocationView_Day_7_de.png b/screenshots/de/features.location.impl.show_ShowLocationView_Day_7_de.png index e18815516c..1c2265b980 100644 --- a/screenshots/de/features.location.impl.show_ShowLocationView_Day_7_de.png +++ b/screenshots/de/features.location.impl.show_ShowLocationView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:723733e42d453d3867580827a9758588cca66fabc73d97a177047b523b0be257 -size 26989 +oid sha256:40367084c1192026f46a087bab6b83d3120599365c53836a80aa81faab4ae9e0 +size 26926 diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_de.png index 263d904d7c..a9b9c1805c 100644 --- a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_de.png +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4a5143634347d06d8fba99df8336052409249cf42baf72ce3ab730a43a705786 -size 23638 +oid sha256:1d60e3a707036054806cf0d9ca1a683789760f9e16ed1efce6eafdaa6fd23c31 +size 23728 diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_6_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_6_de.png index 5967946a53..66e36e0135 100644 --- a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_6_de.png +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6e788337a53264e9456a57aad56268cb0eb190ae62077ca3228d2bb1bcb8fc1f -size 31689 +oid sha256:d27eba0be4467be8bc779e3786d826a46d1561d7525cf9be033534cf2f5c6b84 +size 31799 diff --git a/screenshots/de/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_de.png b/screenshots/de/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_de.png index 3fefbdee74..7b1c77e6a4 100644 --- a/screenshots/de/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_de.png +++ b/screenshots/de/features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4a5624efb72c2bd11da89a8e8532551702d4ec51f9920a893cf53bd9c55b1e8 -size 55426 +oid sha256:20eeb638fbd5c0123f42f19e9c9a978cace4ff797710894e7f62ba3ba9286c7e +size 55443 diff --git a/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_1_de.png b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_1_de.png index db5f9573f6..7ec7a4dca4 100644 --- a/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_1_de.png +++ b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b345f6492eb7ecf24226050d3278e7b5fd78736c20173fb8d7a03d1bf71e2cae -size 13450 +oid sha256:a1963d056102e5946aac9309b10e49bbc5c6e85f8597c2f79590f9a84c781ebe +size 13560 diff --git a/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_2_de.png b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_2_de.png index e23afae05a..c582ea70c5 100644 --- a/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_2_de.png +++ b/screenshots/de/features.login.impl.screens.createaccount_CreateAccountView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69629592939063f0916ab2e77e69b98fa8e51f2ba5346f6be32ba2612054d441 -size 13372 +oid sha256:d5775e29d0b0051a2f91a349d92e288ce7866361867242fc0b9f420a04a7db76 +size 13463 diff --git a/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_de.png b/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_de.png index 3c8a4ab03d..0f91dbf02d 100644 --- a/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_de.png +++ b/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a1c9f0b6637d2830cbb08287e2e6ae92cbe2166d7edea0b2fe5f0c16de735f0e -size 40405 +oid sha256:b46893fbd830f797b7b0c17d936e60258b6083fdd163378052a726c44e621d4e +size 40403 diff --git a/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_de.png b/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_de.png index 23a50b4200..4d8a866283 100644 --- a/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_de.png +++ b/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42fb0b80ea1504698aac7f9d271d544656f186207089cacad599f41e6dd79797 -size 41314 +oid sha256:769cf41262963d5cbda8a9a41c7aef5d4ab14aa46d957ba0b206ab10d686fe7c +size 41352 diff --git a/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_de.png b/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_de.png index 74d6c7008e..e2d0f3e43d 100644 --- a/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_de.png +++ b/screenshots/de/features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e2d3f4b69eda0022924fc6b3eabbd627422abfb6b08acb36aeb8771be5f6bead +oid sha256:225b810b242ad22ea26e87b235828297e5d5e1c1ac2bed7f3a801c1a4253d642 size 30919 diff --git a/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_de.png b/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_de.png index 55a31a2820..c05fbda584 100644 --- a/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_de.png +++ b/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3159d6268aa0ca6e34aae671ed8ad34f695d7e9655e86f6fa57dff32765abd4a -size 38360 +oid sha256:ca3dc79e6d794fc73d54f889f546c415f5475093bbb1fab56975fb47cb23dbb2 +size 38412 diff --git a/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_de.png b/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_de.png index 8564c5afcb..dcd0089483 100644 --- a/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_de.png +++ b/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4db52837aea928e6a51f6041554c9cc326524d1261eedb0929918fd41975ae17 -size 36098 +oid sha256:e202f09973f2133a5442060f609a7f39f4a2cb857bc8dcfbf1b3129ab628546e +size 36147 diff --git a/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_de.png b/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_de.png index d75b2c2065..b3de975444 100644 --- a/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_de.png +++ b/screenshots/de/features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:158b4eb52d85dcdf76c22767988a8bf7dd1096f0b616af7ef2ed699858e63ae9 -size 37950 +oid sha256:60be587a889c1d6009f80a2ee91be1cec4cf8bf5b2db3414a69bb22496178bc8 +size 38002 diff --git a/screenshots/de/features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_de.png b/screenshots/de/features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_de.png index 000a3f89af..105a8b3801 100644 --- a/screenshots/de/features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_de.png +++ b/screenshots/de/features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f8ecdd57f9b13e335390c950e8a7dbf683b94a09add66601ef0dd090d58c4b3f -size 24055 +oid sha256:7ebcf0c4b8c1106e845bb20fd5339677b25b102071ef7e59d6adad7c58feb3dd +size 24067 diff --git a/screenshots/de/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_de.png b/screenshots/de/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_de.png index bd668d5972..1b5cd7eda2 100644 --- a/screenshots/de/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_de.png +++ b/screenshots/de/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bcc32ba64e5a874116b95156720744e9aeb4ee7754c8fb470d17e598a0abf8a6 -size 42420 +oid sha256:1a277bbafb3eb34458f53d40570a3c8e73ec9c294219b30ae4d7272fd44f0ac6 +size 42412 diff --git a/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_de.png b/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_de.png index 4adc3ab0fc..366704e3c9 100644 --- a/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_de.png +++ b/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:79d50a4d51a5128a9c1d5c69dee93d086426268a99745d26a0ab5f30b72a0549 -size 19516 +oid sha256:62cd992dcf0cd41ddb070d7b351445c249f59a65eedfb0957cda3df0ada2068b +size 19570 diff --git a/screenshots/de/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_de.png b/screenshots/de/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_de.png index 3bd7d76d9e..e10f2f845e 100644 --- a/screenshots/de/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_de.png +++ b/screenshots/de/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15720a86d26ad74607028eda0071b6f1bdd76d0054bd05551d50db538e35a9fc -size 60671 +oid sha256:14a540a7c8fb6bc94b290d84ac0017e2720e1a9cd8aa026c08579550021cf4e4 +size 60675 diff --git a/screenshots/de/features.logout.impl.direct_DefaultDirectLogoutView_Day_1_de.png b/screenshots/de/features.logout.impl.direct_DefaultDirectLogoutView_Day_1_de.png index 7aca635eb7..c181bd9e63 100644 --- a/screenshots/de/features.logout.impl.direct_DefaultDirectLogoutView_Day_1_de.png +++ b/screenshots/de/features.logout.impl.direct_DefaultDirectLogoutView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:905c8aa35b6462e3aa67f3beb5b44085643df90912b8edff772d3384e60a3a92 -size 20052 +oid sha256:fc4cb707d661a149b891528ec0adae5431777ca5af27fe89e177b6c0762434ca +size 20027 diff --git a/screenshots/de/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_de.png b/screenshots/de/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_de.png index 74db46ac69..9ca145736a 100644 --- a/screenshots/de/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_de.png +++ b/screenshots/de/features.logout.impl.direct_DefaultDirectLogoutView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b017aa414f6e0126f5b13e4523abbaf3a597119e3459ac236b523635a3b54dc -size 9697 +oid sha256:9ced1e12c94cc4e237998a9b2851d8ddbeb08925704c59bb03cbaf49665a146c +size 9792 diff --git a/screenshots/de/features.logout.impl_AccountDeactivationView_Day_0_de.png b/screenshots/de/features.logout.impl_AccountDeactivationView_Day_0_de.png index f7318e77db..55d8b24b10 100644 --- a/screenshots/de/features.logout.impl_AccountDeactivationView_Day_0_de.png +++ b/screenshots/de/features.logout.impl_AccountDeactivationView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:20560534b6577fcec841c75081434f852eab2697c219ac445492c8e6302df2d3 -size 76542 +oid sha256:02d7096d4629a9c55f59aa585e88a0b3e016ad49caafe3c5b6eceff9bac098a2 +size 76544 diff --git a/screenshots/de/features.logout.impl_AccountDeactivationView_Day_2_de.png b/screenshots/de/features.logout.impl_AccountDeactivationView_Day_2_de.png index d17a4bdf3c..e3737b1d0a 100644 --- a/screenshots/de/features.logout.impl_AccountDeactivationView_Day_2_de.png +++ b/screenshots/de/features.logout.impl_AccountDeactivationView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2920cfed26cd21ead4169aba76124a1de0f4bcd7b2ad243831f3e7962c322465 -size 61089 +oid sha256:5790a9d84dc0a6078e615967618327abee10935074dc51155c79faf0a2ee8c19 +size 61091 diff --git a/screenshots/de/features.logout.impl_AccountDeactivationView_Day_3_de.png b/screenshots/de/features.logout.impl_AccountDeactivationView_Day_3_de.png index e2966073b6..982a45f199 100644 --- a/screenshots/de/features.logout.impl_AccountDeactivationView_Day_3_de.png +++ b/screenshots/de/features.logout.impl_AccountDeactivationView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2b82f70b872b4d2fb6a1a08a281837e2b77ea71d497425b814b46c933fb0d649 -size 54269 +oid sha256:da45b56934dbea069a26f075d70a1123a84673d2271c1291b869db7d27df80a9 +size 54363 diff --git a/screenshots/de/features.logout.impl_AccountDeactivationView_Day_4_de.png b/screenshots/de/features.logout.impl_AccountDeactivationView_Day_4_de.png index 3db9eb2355..b1312fe78d 100644 --- a/screenshots/de/features.logout.impl_AccountDeactivationView_Day_4_de.png +++ b/screenshots/de/features.logout.impl_AccountDeactivationView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8020846899ef99e1b5a9aeea2f79466b2acc479979bcd2bbc637428b96efb04c -size 53264 +oid sha256:042db2bebad8a1cfe4c089c3cdd2f34ee38da60b33538b8425ba15f3d0a19f93 +size 53267 diff --git a/screenshots/de/features.logout.impl_LogoutView_Day_1_de.png b/screenshots/de/features.logout.impl_LogoutView_Day_1_de.png index 94639fe1ca..3e0e1bc363 100644 --- a/screenshots/de/features.logout.impl_LogoutView_Day_1_de.png +++ b/screenshots/de/features.logout.impl_LogoutView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9fe48d697a5884fdd99b19145364f10f98be8efc10f5afdb0d461f12e9d940bd -size 48053 +oid sha256:b9e9ffa05d6ae0d62643b8f8e2fe085c0fa67316a92c85a0ed58bdb6863e18df +size 48034 diff --git a/screenshots/de/features.logout.impl_LogoutView_Day_2_de.png b/screenshots/de/features.logout.impl_LogoutView_Day_2_de.png index 066cc96cb0..632d9641e5 100644 --- a/screenshots/de/features.logout.impl_LogoutView_Day_2_de.png +++ b/screenshots/de/features.logout.impl_LogoutView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:48d61b2b5135a0d0821b603b4654ee38a1397748e7336f77d65f49a6f93ad0bf -size 32533 +oid sha256:af74c40ec8b0f1243cf4c610d9aa29657872bb718de9a8fc992c7dc760e9926f +size 32718 diff --git a/screenshots/de/features.logout.impl_LogoutView_Day_3_de.png b/screenshots/de/features.logout.impl_LogoutView_Day_3_de.png index 94639fe1ca..3e0e1bc363 100644 --- a/screenshots/de/features.logout.impl_LogoutView_Day_3_de.png +++ b/screenshots/de/features.logout.impl_LogoutView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9fe48d697a5884fdd99b19145364f10f98be8efc10f5afdb0d461f12e9d940bd -size 48053 +oid sha256:b9e9ffa05d6ae0d62643b8f8e2fe085c0fa67316a92c85a0ed58bdb6863e18df +size 48034 diff --git a/screenshots/de/features.logout.impl_LogoutView_Day_4_de.png b/screenshots/de/features.logout.impl_LogoutView_Day_4_de.png index d60fae6d9b..4a7bf5fb06 100644 --- a/screenshots/de/features.logout.impl_LogoutView_Day_4_de.png +++ b/screenshots/de/features.logout.impl_LogoutView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d6824535c057946e1c2159b8081d13f058283e3fec80c57da2fcc4b9376fcbfd -size 26533 +oid sha256:256afe8ad59283ad740ecc19dcb0488fde94fffbecde068a6bc97535f832f1cd +size 26503 diff --git a/screenshots/de/features.logout.impl_LogoutView_Day_5_de.png b/screenshots/de/features.logout.impl_LogoutView_Day_5_de.png index 209d42e686..3734346f48 100644 --- a/screenshots/de/features.logout.impl_LogoutView_Day_5_de.png +++ b/screenshots/de/features.logout.impl_LogoutView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bde3bae948b0a7be035a2d345ff31a8a71fe6bce7422345c726079f66e9f387b -size 16858 +oid sha256:bd096fdeb2b7700f5283a12802fcfc36edac09cc837d9ebb65c451c30e31bf2d +size 16979 diff --git a/screenshots/de/features.logout.impl_LogoutView_Day_8_de.png b/screenshots/de/features.logout.impl_LogoutView_Day_8_de.png index a45c15f41a..6a061c8757 100644 --- a/screenshots/de/features.logout.impl_LogoutView_Day_8_de.png +++ b/screenshots/de/features.logout.impl_LogoutView_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee26f213c30410d25966c730ff04853ec4a79c2370b6fca40359b561983cf2d8 -size 42635 +oid sha256:a4ef1c6a5a0681131c21263a24830dbc807b5fb595744f124a5e70b407f30809 +size 42611 diff --git a/screenshots/de/features.logout.impl_LogoutView_Day_9_de.png b/screenshots/de/features.logout.impl_LogoutView_Day_9_de.png index 4daead70e3..b54584093e 100644 --- a/screenshots/de/features.logout.impl_LogoutView_Day_9_de.png +++ b/screenshots/de/features.logout.impl_LogoutView_Day_9_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69d695670811300217e8920db8b2f90e9518bc4d4130b7f06489606102275b91 -size 40473 +oid sha256:10f95c1dabb3929feca31707177706ffb9650b9c45b4476cf21190dbfe81d63c +size 40451 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_10_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_10_de.png index 0029967b6f..a323107f35 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_10_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2c64408109604364014f866bbb600d32920466a4af0f1a1d1b2dbf460fa5edf5 -size 35449 +oid sha256:3863896937835bad93aec454ea1ac84c0256abecbde4609bc217724e7707a990 +size 35422 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_11_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_11_de.png index 0ad0f83bca..6f08fbcffe 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_11_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_11_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16210ff9cc3c825e4ca62b7096e1b90937221f351bc3ba4e4f095c23823f8421 -size 51416 +oid sha256:f614c45833e18e8aba011073006793824485114488e30e32548303ca55574a97 +size 51406 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png index 2fd9274774..f4afa40ee1 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_12_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcd09b6f69e80f03ea6e81c64a7da582dc732a6288fb0660bddb6a2b4fe41a07 -size 51531 +oid sha256:c12ba12dca338d5722efc87ff7150d555d825dc2793e3263adb490135d696345 +size 51517 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_2_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_2_de.png index be219be00f..72d8f27d8c 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_2_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2528dd13890b9091ad50e759a67932eae39c671df1883e2a9707cf7714cc51d9 -size 43509 +oid sha256:93e7012184ddeadda396c78b1c70b713e58e96994b69471c26c413f940d4a5aa +size 43500 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_3_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_3_de.png index 1b918aa7a9..398650d7d8 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_3_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c029202a18241592ea2be08e8ca78fe169572c7fd68f3c353ea85c6e06c0db34 +oid sha256:5a055db86e2ab8ff3551d960d363960d7286e4c95d851b3860f599cd40660ff4 size 46106 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_4_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_4_de.png index 83d61e2c91..b2bc53e507 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_4_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2da8ac6a3e88a6b4a030d9323380583dab26beed0653870c8e99949c4c3d40ce -size 44544 +oid sha256:06f1353e8cf554102e1c9f778b26c7e07be5a192369d14bc99248509939e4fb8 +size 44540 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_5_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_5_de.png index 0448218def..f5c2a7c189 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_5_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf637fe89d2308640338fb6152ab78e065ee0a0829d7637adb9bac745b651f84 -size 44179 +oid sha256:9835505f8e7675e2a78b82643d6b90baf927501ef14c9f75d39f2a11862b2217 +size 44170 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_6_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_6_de.png index 44a99ba3bf..48b221c319 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_6_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6014c32a1ef5aeb2f6416d0700dff6ef9fcd7707121d505707f378e3b4c94457 -size 44786 +oid sha256:8b4587204de12c826dba2920cf04fe58fd6ce5a2e7a8f235dfc658bc2a6b8504 +size 44787 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_7_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_7_de.png index 3a795b91e2..36ce780480 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_7_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dd68337c8aba204ab7cdd0a8cc6f3acf312c01cb1463d2c1756b0955574ca1cb -size 45224 +oid sha256:1f7940891b92cb8900994c98c9fb5eef7b60569c58fc01c3b204c3ab74283553 +size 45228 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_8_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_8_de.png index 5a9cffca57..d95a850300 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_8_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4d4a869a5146b0d3276cf57b7d73f6f03253377ee0335994028418abac1dbb4 -size 45509 +oid sha256:bd5d1ce6dde457a01f0c21a75c37a4ab84f74b0b0c0a5b06c821db88af8e055b +size 45513 diff --git a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_9_de.png b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_9_de.png index e429822ae4..5330d62e56 100644 --- a/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_9_de.png +++ b/screenshots/de/features.messages.impl.actionlist_SheetContent_Day_9_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9c690e2a6bb5b48150227460eebee949221858aa8a5a715b20e7cc9c5dd5a12 -size 35090 +oid sha256:f7671d88bab4949a79cb1e3fb342f1a9bd398f507bd25a5d08c918e26b588837 +size 35071 diff --git a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_2_de.png b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_2_de.png index a5017f83bb..aa40ca176c 100644 --- a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_2_de.png +++ b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf31b7f53973374c4884aa885270ddf3deb05188815e56e17fbbcfb22e5b8a1e -size 49495 +oid sha256:2d5364c50135e4b11be2f6d352a9a13a3c1ef550fd836202b6a9905febe24368 +size 50045 diff --git a/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png index 937f0b8b00..1e95a7ac31 100644 --- a/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png +++ b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5b73f8ee5792e95bb189e3dfdb615e30d2089afb879ed05958245ddba0251aae -size 63856 +oid sha256:f411f309892148b82a3564bbc2ea841e8b3236507fbd9c5164fa9d2eed0aacfc +size 63854 diff --git a/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png index 9d990d6e19..0200d63779 100644 --- a/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png +++ b/screenshots/de/features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:54ad73d4aa324d71a5a6f718b8fb508b6a90aaf3f433f0e35ac621ca713ca0a1 -size 67574 +oid sha256:cdb99809f45d49d730dca21388ba780e7bbf922021f0680c9f8daf439a867fb9 +size 67588 diff --git a/screenshots/de/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_de.png b/screenshots/de/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_de.png index 4cdefe54cc..e1a11e1906 100644 --- a/screenshots/de/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_de.png +++ b/screenshots/de/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:02591eb63947314eddd09de39ba90c33858465f7bff3152b47cd1a1e7939f0e9 -size 21338 +oid sha256:699d3f2c05f3baea33f87647ae614829304a67b6274e998b1cbf56eaeb85fe4e +size 21270 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_de.png index 9b2768ead7..e1c1cff8ee 100644 --- a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_de.png +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:90c440095f0ad13807b16ce710f69bc039b2df42eace9ca510e7e054e92d9312 -size 13198 +oid sha256:e7738a4437a517abd9acd147b932fb4a34636c5c617edf3ee5adf6fbd7950a58 +size 13144 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_de.png index 6a9e2c93f8..84ccf39539 100644 --- a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_de.png +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a970f4f1ce3cbbbfde86774d40f68cd35537586dd6c43c7de84ae422c813b91 -size 8529 +oid sha256:c5787b15e0c6e2f7f8351dee103a15a7c17f3464902a73c091990a0fd6ab66d0 +size 8566 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_de.png index 0911cafa8f..b5087f8a07 100644 --- a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_de.png +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e1790f4c2d4a6b54c4e20dd44b9d14f38b5bec555f65c5f30a17439fddab8842 -size 12768 +oid sha256:80407eb4836cd5a0c7a8ed2be66018069cb9a6f1d9d3ea51264f9562d088149a +size 12264 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_de.png index 2727ca4d1f..ce4775bb1e 100644 --- a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_de.png +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b44fd60d6a2f04d0378cf8d6915a67ec419234f77bc2b3def03d383ddcd2ba29 -size 13104 +oid sha256:834a85c3febb4218ea6af2eb13c882613ef2808e1b46a6dcfbf9ea185539540e +size 13038 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_de.png index 408dd84152..9e81f0ee66 100644 --- a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_de.png +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b18307b48cb95912a6af7439abb757a08c511855762c10f3cc7e2524d49b7801 -size 13097 +oid sha256:505683ffcaa001ee6bcf87bd3dd664d212b020933473fe4e820c7bd7b8d092d5 +size 13039 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_de.png index 4976d25d04..edab087206 100644 --- a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_de.png +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1105b0e258a8d1206b9fce019581f3ae4ff64d37478fcad59e8a2fae565093a5 -size 13076 +oid sha256:ce99055f65fc36db1f24df3a9ec67ea5f5d9c76aa3d5c8450de7757f3a74da4d +size 13022 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_de.png index 4013873733..47cb9d5f53 100644 --- a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_de.png +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:470f79c25b1fdba687de6d7a1661bc7813e45973910f3a7b64335e9ddf0d3f0e -size 13210 +oid sha256:cc7f23bf0c683aeb81d7cd9dde9e93d0e9b6413d98445ed98416481682e3dd9f +size 13162 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_de.png index 5674baf748..f6eb9f3ea2 100644 --- a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_de.png +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b5c33166db211422cb5e9a977322b2c76b61f3a31e7a8c72a1778697e3b46a1 -size 13229 +oid sha256:2e50583b1b0b5cf3b3fed8bceb5fad9082c2301a9e05a17bc19ab246fe787287 +size 13153 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_de.png index 1f65c0bc5f..3a44d442d5 100644 --- a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_de.png +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e3020cd0ede2de6f324300b1ded1c1f0aff95d0bd9d69b10b041583800574be0 -size 13126 +oid sha256:ec1364f5768359d59f5ea7bcb936b64b5a29bcefd6d54f1b6be7b2efae54b062 +size 13068 diff --git a/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_de.png b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_de.png index 2c5b8d4c12..1e01c9010e 100644 --- a/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_de.png +++ b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9d0f5407369b9d57c271a432046b373e9e0a8177ec8931b8dcc4893e577d205f -size 9070 +oid sha256:6c7a6f4ead21dff32579260eb8afb65d5b5748a3fd37ef12dd881fa450fa48a8 +size 9166 diff --git a/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_de.png b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_de.png index b8a89d2bbf..234d12ae60 100644 --- a/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_de.png +++ b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5757c939f82c431d4bc99454df9778d6a6e963010c3c0ec5ab8556245fa172ba -size 42795 +oid sha256:9025883082e794b6ab7a22e222abb9f001505f6454352474025a68b7ddfe3386 +size 42697 diff --git a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_0_de.png b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_0_de.png index 4d803c071e..46c87740cd 100644 --- a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_0_de.png +++ b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:97e8c722a41b7aca192733cbed4f773b009c29bfe4e0bc44cb7cb367c1ebf64f -size 49052 +oid sha256:915d2638f03d43671864edbe89c4c3ef20328c202f106acfb64c38b24158a3e9 +size 49041 diff --git a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_1_de.png b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_1_de.png index 66961dbd3b..9d22d1481d 100644 --- a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_1_de.png +++ b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2456cde9f07ce6249e0940fda2b4cc6ff49d674e41fcb8a0671fa90d92f7cb66 -size 49977 +oid sha256:984dbdbd6f06d4803003bc040c7688c581cfa94527aa15227f95dd6b450498e2 +size 49980 diff --git a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_2_de.png b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_2_de.png index 43ecb3429c..22093b61c8 100644 --- a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_2_de.png +++ b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f4aafe74a2322b3e87c98749bfcad4126c2d305d6e6381672536051fa1b576a -size 49501 +oid sha256:2ab185db8e19894412e2920184f6401d427cbbd90dd212275dfe2c0c63a1e2c2 +size 49508 diff --git a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_3_de.png b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_3_de.png index e68e7d0645..c9a1a28041 100644 --- a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_3_de.png +++ b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a29767fad63edf54c883ee00bea3a8b7036672d666281fc9bc8b8c3b9464cc3 -size 47988 +oid sha256:7d7a8c5f1dbd21126298d3571f505576d92fada889c43236c826e386b9f962c4 +size 48033 diff --git a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_4_de.png b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_4_de.png index 0f838b43ba..a52367ee04 100644 --- a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_4_de.png +++ b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:463238a17d83f2f95bc0034a977df634e21c55f19261a5058f03fe36568bf620 -size 34201 +oid sha256:611c1244c3c13f727a8b146f668d85e8844292f11f9615931244d16076cc7afc +size 34179 diff --git a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_5_de.png b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_5_de.png index 43ecb3429c..22093b61c8 100644 --- a/screenshots/de/features.messages.impl.report_ReportMessageView_Day_5_de.png +++ b/screenshots/de/features.messages.impl.report_ReportMessageView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f4aafe74a2322b3e87c98749bfcad4126c2d305d6e6381672536051fa1b576a -size 49501 +oid sha256:2ab185db8e19894412e2920184f6401d427cbbd90dd212275dfe2c0c63a1e2c2 +size 49508 diff --git a/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_de.png index 31ce6cd5b6..e7d43eb67e 100644 --- a/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_de.png +++ b/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33f1c86bae51f2c041e03095812f815567b022d31fbdeb388011acffe1b44512 -size 48269 +oid sha256:c22870fb6518d28eb77238480b76a02c34d515a21ea55b1c536baea828e9f1c6 +size 48611 diff --git a/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_de.png b/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_de.png index bde37830e3..699aabe6e9 100644 --- a/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_de.png +++ b/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4389205f52f52a6f626d1f680461e5fa0d52bc7dc44a2e9abf19fc8a8bebef00 -size 50978 +oid sha256:98832ca86d2fb672600940334dc71c1b82517d9f67ff8c90662c77cbe68ed5ec +size 51258 diff --git a/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_de.png b/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_de.png index 81ba55ac22..9d4e1202ef 100644 --- a/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_de.png +++ b/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c0a4632e0174df2d4f3aec7f3d863b08e7b3dd4fbb85fba7cd4567ada9fd650e -size 52371 +oid sha256:d7bc86b9cf768de5c070789219f429c64d9b2eafdcad3c87cd938e9838028261 +size 52796 diff --git a/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_de.png b/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_de.png index 2e0956a340..deed1edaf6 100644 --- a/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_de.png +++ b/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ccdf7a2c57adfea06628a67e4e375d597051dcfa870eb29005b868c512b50c09 -size 52724 +oid sha256:2a907523aca078d48fcc6c156e7550b2f1dc8e07af43bc81d80aa7003687eb25 +size 53150 diff --git a/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_de.png b/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_de.png index fe0d853ee4..50e4ad26d5 100644 --- a/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_de.png +++ b/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b661f5db123ea7ff2372659809899a4a555ecc8582056bddd7b54a6c36f23d1 -size 11646 +oid sha256:662c22ead79f4beb2d4983d6d7a23b7fb58d2943bd8233df21bd47b81cff4b4d +size 11703 diff --git a/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_de.png b/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_de.png index d755adb152..64af09da5f 100644 --- a/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_de.png +++ b/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5764404a3ce413080b3c4c66e58c3a086cd931019190f60e8f4e103b513903fd -size 16768 +oid sha256:c97f056c73ecd15d0e22809061414a87a014e8c372a3f983decf66ec373e8acb +size 16982 diff --git a/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_de.png b/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_de.png index bdfb576319..287a380caf 100644 --- a/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_de.png +++ b/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c128afca0537daa70e24043699f4c188b86a2a20e570e8c7e288df1f6daeb1d -size 21848 +oid sha256:0c843a5165466d537abfa85d948dcc27fb8a01eb61d4559db308bcb303b64d41 +size 22010 diff --git a/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_de.png b/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_de.png index 8aa55431ae..a88ec1c855 100644 --- a/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_de.png +++ b/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c3361157e2f2aaacf9eb068b0b136dea4b683be81d23ef0d20970db220b30fb -size 26571 +oid sha256:6eb89bfefd3ba933a0ce542142d35ce69a2f1369edb71dd96d2d7710c90a8634 +size 26774 diff --git a/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_de.png b/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_de.png index 3d2e616574..6e562238fa 100644 --- a/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_de.png +++ b/screenshots/de/features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:35de5c29d50928d4cfc7a07d338907b0d9458ac373d34c7a3a5d6cbd1a2b035b -size 31949 +oid sha256:6355f5871c23d785d79b3969ceaa0d37ab0c95a8b07caa4e98f52432ae4390a9 +size 31885 diff --git a/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png index 6b3a059bf1..321e3a9082 100644 --- a/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:282e9afb40069c21fce9c8df11e9d1f98d07184fa0600ec8488b1a667ee0d1e0 -size 48184 +oid sha256:79bf43b0902076002f3ddea0ebedbd1ac4be933e55c7fb503b5fabdaa0f6e12a +size 48183 diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_de.png index dffcffdb8b..d46cbb48d4 100644 --- a/screenshots/de/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0730181922858ff0d22e4b898abd749fcae97cccb00057f7cb8d26d766508661 -size 20834 +oid sha256:c74fbb033404fb0c21114a956e09dbddfbd6cf23ebf6f0338f0c1c4f1c188ef5 +size 20817 diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_de.png index cb76e66901..903928e368 100644 --- a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5acdcef89d5edffa238a67d3a02b7cf16de2ebb0898b897e2346aaec00d57d1b -size 34260 +oid sha256:bde168175cbe02263bc47ce77072a9a254c152127f05a4e0e51873da861372f1 +size 34072 diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_de.png index e69439d73e..4cf1faed8f 100644 --- a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:76da51224a40e33377daeb78dd324193a993cad5e10b80756c3454e7f4997e47 -size 35624 +oid sha256:bc9452163af66b684598c020b54a15ce530969f2eb4ce264a36591a76b93c3ed +size 35448 diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_de.png index d545c9e321..bc4a2e99d1 100644 --- a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f3299a52aeb154b54ef3fbce68ce97e2aec2d9c9a62cda670251861ab9e5da9 -size 79350 +oid sha256:3fc2ca4c106dbf0b7907c9f2fb493799afe21ee55c1c9933dfd460e3960ea4c4 +size 79341 diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_de.png index 83937a3bf2..4f48d60c43 100644 --- a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a5c2b0e45f51bb5a01e888c3b8bbdf804fbd07afda3dd58478fc1c5fec9233bd -size 149035 +oid sha256:b0a6de2e051249f63b1cf8f105fcc48d4e1e26ce7af76f54f68240c1646dca57 +size 148994 diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_de.png index 7e697bda9f..4ec834041d 100644 --- a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1dd1b729638778045fa1fa42fba5f41537a1887f7d661545c160946cebd648ea -size 154659 +oid sha256:2ed6b3415914062f8f6af9a8e56425864715288e356cc7fe0689a9155210a296 +size 154626 diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_de.png index 89b861e947..d5b3e1d614 100644 --- a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:35db0aeecac5226f22ce2149b2a7974568114f658d116b5965a70dd1e5ff4fcc -size 148225 +oid sha256:0f419fddc0817dedf193d56d60f1b9e4e0fb4c66c341d049a1fd4519fc40357b +size 148203 diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_de.png index c540c91ab8..5fcc4cde68 100644 --- a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:12b4f05a1abb23abb7a2355c5e71705183d0c86dfb92cd1d71674d32400338cc -size 150177 +oid sha256:d3efe04926766a7a8b46386f8c58c8d5e40ea7b36b37cd41d8c9363e2c44747a +size 150143 diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_de.png index 87d630b8c3..5d41ba4a68 100644 --- a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:75ddeade971087f8d09827d2028bd2f94ba965b67b90acd35389093df9bf2f49 -size 54568 +oid sha256:0ce02f942a1be9314dca9d27aab5bb48d97e77d52aed1f09a728b1aef1a20d07 +size 54946 diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_de.png index bc1829b8ed..be1129155d 100644 --- a/screenshots/de/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c33449238f46bcf35dc3930317936775c73aae7859c70a69283c699129df822f -size 7993 +oid sha256:aceb78a72088d65a22efcb4c9aef38d6630bce916f9e3509b8c955cf220a3d14 +size 8095 diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_de.png index 2fc9916e2b..ea4a3a9cd0 100644 --- a/screenshots/de/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_de.png +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3fd191323a6733b375a46073b7009048aa7d1c0ec5a44a7c0e6b30010bf25f4 -size 17119 +oid sha256:eb7083152d7a6f3d4a1209e1847730e87b3a5b847350d60262483bfd02156d07 +size 17209 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_de.png b/screenshots/de/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_de.png index a529935603..5b212e454a 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineViewMessageShield_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6662602c79a0a2093cb304122b6e8bedcfb23d12cb0396393a2751623747d07c -size 37503 +oid sha256:47c3916ba25fd145f7699735e3c8ca61c9796fc1d6ae34274bf75bbf61421b65 +size 37488 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_0_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_0_de.png index 43b8894f6b..7efe528a49 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_0_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e2180c9b456bed41bdd94e80cf4182bc51050a30c659eb2c68ab6e36ca6603ea -size 50514 +oid sha256:ef01b8c49dfa3950ac88a955772edabf087f3ad2fb9c1789945897dff9bcbe77 +size 50412 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_11_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_11_de.png index 378ebe0edb..154c87ddce 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_11_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_11_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7940dce9ae520d31d0d0803e0b846b96e073686376ff96fc47e7d43c4deb25d7 -size 84036 +oid sha256:8938cbd6e928b9497f2fd9b7f72624a761826dd809ef2db027d0b942be5cbe52 +size 84492 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_12_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_12_de.png index d9b3826e60..e21114b98a 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_12_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_12_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0fe9f4177fde8d172f27b089c992298996f6c1442bf88c94a6274b7166f4e3b5 -size 51985 +oid sha256:5eeffca98e367dcda636264ad5e9d8c5919499cff5ef4c45cb9eb2813a61a263 +size 51888 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_13_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_13_de.png index a1d808a820..14ed398b96 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_13_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_13_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba5c59a12df66c30799f7bb0e5079005730736a478cb60b5793c9e5f30bedf4b -size 63596 +oid sha256:4ea04dc7b42cf0c794319aa6c19821d02bcedc3eaeb46ae3ef6729e477c120f6 +size 63468 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_14_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_14_de.png index 1896113e91..6280b1a3ce 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_14_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_14_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1b24e59147975445ffab335da4ba2ca7fe6fd3c55c26dff2dfe409f6be358450 -size 48423 +oid sha256:2bca338437a2320a2dc35e59680c4fac8cc037de5b874363561d87f13704eeb6 +size 48325 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_15_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_15_de.png index 6411dd13ee..268797a031 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_15_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_15_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30727c9119fc9ed861a3a07b86e3473fc44d60b5ab8c9f9e18aa7520d5ba7080 -size 72166 +oid sha256:479877e54e0cd8886d29ffc5f514f5b5aacedcda74a84044623e6f13e7db3a29 +size 72022 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_16_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_16_de.png index 920fcc2f34..f655d63027 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_16_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_16_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:94a4586d9ee7760bc473c5d36559805f26610424f34e3e7e12c34505a80b7e2c -size 58156 +oid sha256:4ff36005b0b29f99a6b79d0cc6e324b29e34d5adcf66da0ba12f3cbcf0d1700f +size 58053 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_17_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_17_de.png index a91793eade..c976f300bd 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_17_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_17_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec08080ab283b43921562681599a52e95553cb1393cd3415f7754fef548f8130 -size 64446 +oid sha256:39a94b5ba42b3232f8e88cbd9bafdb2b4fdee26fec135521a483151defb8d6ca +size 64368 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_1_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_1_de.png index 7d6ca72465..26666b17c3 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_1_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:88192c0f08bb7a0b0c2cbbeec56a9492b18d542b092df879f7cee7961af01f3f -size 71968 +oid sha256:6f8da680223c23dfdce6109b5fbe23133c63db3e2a67865ff835163dfaf6811d +size 71822 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_4_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_4_de.png index 35cfdb3fca..c419e2d65d 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_4_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:348129891c66ad29cfaf3dc0304620ca2b7ef51462432e9fc8015beb28277628 -size 70626 +oid sha256:15e45b221f5fc941f57a22b175f5e8e7a5f2fd3e4bcb0c495e2ab5675c606939 +size 70513 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_6_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_6_de.png index 4e77fffe00..31d5666f54 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_6_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:350670790a1da02213bc5cbc69b617ba4fec27577fabd6cd733406f67f809f03 -size 73112 +oid sha256:06907b60e9815a85806729837dc3b4cbb260503904aee6055e58e68255658522 +size 73010 diff --git a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_8_de.png b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_8_de.png index eaa66a36d2..cf1f55ff51 100644 --- a/screenshots/de/features.messages.impl.timeline_TimelineView_Day_8_de.png +++ b/screenshots/de/features.messages.impl.timeline_TimelineView_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:289fc4bd16960157d5603bdbcd31606e784ba78398f0653649deefdb0bea684d -size 53546 +oid sha256:4a0fcb3ada4dbdf7c92e965f8ca601a64fa50c41bf6f95083177ee52d2c31ae4 +size 53443 diff --git a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_0_de.png b/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_0_de.png index 2534593668..b5a68ac669 100644 --- a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_0_de.png +++ b/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f9736d130af44f96f76fddde001d896020a0cc8fbded268bfc7b97a0be9bd82 -size 56350 +oid sha256:71f29af65e2c698a969c6d9b347598315628b4c8ff6a13db76ceed2e0c104123 +size 56311 diff --git a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_1_de.png b/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_1_de.png index 4b90e15d82..766e8612cc 100644 --- a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_1_de.png +++ b/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2af17d96bdbe7c8db90cf2b841ae1a408257294599b93a9ee857c79d638c115f -size 57292 +oid sha256:d27c0f14f8ca5dabbfc0b41853f090888524abf736565f212123636214bc0ac1 +size 57259 diff --git a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_2_de.png b/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_2_de.png index 1b71766fe2..13d5ae8f7c 100644 --- a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_2_de.png +++ b/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:770feb099dd4194adb861aee6f8ec75f1eda98b2ca13c5ae7a80d403470aba12 -size 53325 +oid sha256:6c8cbfc8984dcf2954b8ee1b86a30382d1a0452b747dc40285e5d32b4c173829 +size 53287 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_0_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_0_de.png index 21f41c9cd6..4fcf932c56 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_0_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5774b5842c31608c787c828e1e16a7a04dc4f416f33d8e5c7654a80322fe98f6 -size 57027 +oid sha256:3da67fa1fe1ae3528ec5a08c8e1573d2f2b9ed93ec8fee2400fcf615415dcb52 +size 56961 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_10_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_10_de.png index c7e5268821..3b4cd23337 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_10_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0fc8f65eaae03e1b765e0dcf29b02621bbc56e868a9bbe3f5fdeb71e7e293894 -size 59499 +oid sha256:58036a1f458f4828b63421ceee70e1061d74161d5c26a0644ff25c0a053db524 +size 59432 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_11_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_11_de.png index e1c6bb8079..af20dcbede 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_11_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_11_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b1994b6f3127701edefbb002c0aa90582fc6e25c468e8fd1a5ae2a33bc5e1d09 -size 47258 +oid sha256:b63541bcb62d14feec4351bf843f45f78c5f31b4e89225a305574ca35d28aa35 +size 47267 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_12_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_12_de.png index c66a832b08..f0208b4a12 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_12_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_12_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bdcf3db34a35c338705216dced84f4f3a4b976fb4f19e739fda6ba82938bbdc5 -size 57061 +oid sha256:305cbe3ef1d7577f13b942f4bba186452f9b812f28ceec67ad4307f29c5a855b +size 56996 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_13_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_13_de.png index c8f7776db1..9daed51264 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_13_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_13_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:41837dc9d6d30b5c659a34865650739878a78035fba9d89da313db2798f8a92f -size 60080 +oid sha256:756a13ffa12168f7b4aed1794edfd2c903070257164b5cb3608e6c84d3175dde +size 59938 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_1_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_1_de.png index 97f6ef57a0..fa533cae61 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_1_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:86d5fcae7c2b7369dec7dc78eab154b9fbd8914fed36a9914ed31d99b1522ab3 -size 56199 +oid sha256:a2293d26fc2c2cdaee5a67f935cf8db9029ccd13d5fd4287ccdebfaa71f2e729 +size 56144 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_2_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_2_de.png index b88961adfb..9cf4b796b1 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_2_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4111a8ff0b77524c068fc41960ca21801f5054a3a9bc10f90f6d9a3372e6e3fb -size 28222 +oid sha256:1949dbb68c40fcac4c493932f4daf5908f1b4e9b6793cb692f74c14fb910e3b7 +size 28235 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_3_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_3_de.png index c53620caf7..1ab65f221f 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_3_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c669d64e8ca7e835131184a630899dbac1a4c96fe9d4d2a98ae5fd58a74076f0 -size 60204 +oid sha256:c261d0d69206820362b91dc3ac029fb5b3b125ecf379ed3b1359f4a58769ea6c +size 60145 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_4_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_4_de.png index 2f5c0133d9..fa673d94d2 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_4_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17f5bbeeff8990826d3fc8b32c6fee148aad8c3f1428c91ed270eed832e50f9a -size 54873 +oid sha256:dc738a706685154092180ab830ef3855bb8855a2e652a12975590f9c91fffbcd +size 54995 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_5_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_5_de.png index 00786721aa..38e1fc31e3 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_5_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:35cdd5ef931afadd138391620d22d6dd8f7b0c4f6163f4d6f0f43685cef835c1 -size 54902 +oid sha256:a5cdf8d9bc125b0656078928311c307e4cb17be5fd28e6d302d56c82f7d21efa +size 54812 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_6_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_6_de.png index 64e2d044a3..a914a3c52e 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_6_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b2a2ad0537c2e5b05fa40e10a924f474530461a05428d4f982119b0adda2048 -size 54060 +oid sha256:b4329101f08015c7243766e627c366282950badc23bc21e5c2efb4c5fe63edb3 +size 54089 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_7_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_7_de.png index 84cdbf987f..886b5fea36 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_7_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6a20dcc31a68871bcfbd25ecf9178bd08aedb17699a340dadcf24e16f1b47898 -size 58863 +oid sha256:be2ef4caeff68d136a567fb3203d6e7abe2f12dd4884ed53aaa45a90096b37e1 +size 58869 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_8_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_8_de.png index 5f825d3e0f..d7d5c15577 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_8_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d5671d440551e42b8182573924f559f7d66208f7a450fb88756ade286e7dedf5 -size 41750 +oid sha256:31520055e9558554a6ae1eaabc4fb78b2ac356d5e2ba7fc3ac2623518007598e +size 41854 diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_9_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_9_de.png index bc15434f98..2fc5f659df 100644 --- a/screenshots/de/features.messages.impl_MessagesView_Day_9_de.png +++ b/screenshots/de/features.messages.impl_MessagesView_Day_9_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a1783999989568cc1c2204f4c5adc88f4a86b190d206a8238dbdd2e4e88197a1 -size 41021 +oid sha256:696dd4e0a49bca48f1035ce6c92bd6276219d075995a9be1becb2ac748add83f +size 41789 diff --git a/screenshots/de/features.migration.impl_MigrationView_Day_1_de.png b/screenshots/de/features.migration.impl_MigrationView_Day_1_de.png index b1c32f54c2..99dec9a60a 100644 --- a/screenshots/de/features.migration.impl_MigrationView_Day_1_de.png +++ b/screenshots/de/features.migration.impl_MigrationView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:08dfa334acc33d108fb6210133005d2eae4fd376caf21f0e0cf6cb1b08734de8 -size 7830 +oid sha256:c18a6c4037767617e5547f7191f99e59a5481b11ebda90346ee8db7af8f8deeb +size 7912 diff --git a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_0_de.png b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_0_de.png index 8a30d784de..bccb55156c 100644 --- a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_0_de.png +++ b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6922e0d6f181e637ba6faa42338d3f19a4e018ebc0970e67a2f4646bc6070bbd -size 312085 +oid sha256:5e3314ad0e483fa774ae08df223ecc1703316c8a8232db79612a1119934189cc +size 304905 diff --git a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_1_de.png b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_1_de.png index 3afe360484..039432156b 100644 --- a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_1_de.png +++ b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68b5dcfcb5724ea0085f5a64c1f89ac8bd0f4f0ea75be599f861444fbe3fe84b -size 308281 +oid sha256:782b80608d7e547255660dde27f4a1948e93634989cda7000083bd62195219f3 +size 300088 diff --git a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_2_de.png b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_2_de.png index 6121562597..72088c0aed 100644 --- a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_2_de.png +++ b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:11eeb61c2d3ad494bb9b106ac1443df0c98f5f77d5b70ec4f0f617c1dcceb5fc -size 311194 +oid sha256:60a2ee51dc98e5717ad304a8ecb7dc22ff8fd9cff46bca8d721751c8039a11ec +size 303090 diff --git a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_3_de.png b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_3_de.png index e2bd3aa8f1..180777be68 100644 --- a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_3_de.png +++ b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1d4ebb057326ef42c95a77a46a3b5ab183a83b6fd734e11c598222f4cae4a07a -size 305270 +oid sha256:e013ee7d883dba5c3819ac348e7dcf9a366d7f794d97457787ceb8708aa13c02 +size 297848 diff --git a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_4_de.png b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_4_de.png index fe625b8ccd..a0d61c41c5 100644 --- a/screenshots/de/features.onboarding.impl_OnBoardingView_Day_4_de.png +++ b/screenshots/de/features.onboarding.impl_OnBoardingView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f5d160b2230e97f3d8c7c3d6a107f7165926df096bf1125096bd7082cdbe06f6 -size 312844 +oid sha256:e177723bf22ad7f1cddd55486301a07fc0c7e50738600810566c0d6c250a6861 +size 305677 diff --git a/screenshots/de/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_de.png b/screenshots/de/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_de.png index 2f587b461a..27ef48331e 100644 --- a/screenshots/de/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_de.png +++ b/screenshots/de/features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1fb9d2d1299ec09c0f777fd0770921d4814ad94e78260b7e585942c0c7623780 -size 21894 +oid sha256:f7a8c5aae055b1451dcbd2e75a5792f008d12e6b0dca8b2d3787843e71055f2b +size 22010 diff --git a/screenshots/de/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_de.png b/screenshots/de/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_de.png index 13ab5033c8..ab407cedec 100644 --- a/screenshots/de/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_de.png +++ b/screenshots/de/features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d8c38e322cdb5bbdf21e2a38a7821809f557443c25353a364069242c4f833a80 -size 21734 +oid sha256:6728b1abd4b31b25607689f3a6800ab3aea09eae21ce49f46907b2e516f91b70 +size 21848 diff --git a/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_de.png b/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_de.png index 534cf0dd57..f2f000c56b 100644 --- a/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_de.png +++ b/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab73909ce97156a17c0b982101ef2ebbd0729d87f29b0b967b923a3ec0e2dd79 -size 21799 +oid sha256:38eb481920e8944c523b3ed02eb9e0905550387fd197630033535905ee73ce6f +size 21905 diff --git a/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_de.png b/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_de.png index 8ebaa153f7..78ba4548d4 100644 --- a/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_de.png +++ b/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:11e6bcb2c8c82be3428d723727babf9d77d511437c56b83ab2f49922adeaf17c -size 22007 +oid sha256:e273a2336f445c231227b567abcc08f1a227b9d9eca41616b02bf470d4137d87 +size 22129 diff --git a/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_de.png b/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_de.png index 42b40b0af6..9849dbb378 100644 --- a/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_de.png +++ b/screenshots/de/features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e691a74a3a44d1b54d72d1bf89523486418f0b7c2d810b4776c55344ad9c98a7 -size 21977 +oid sha256:9db8c767a3787bbffac92ff3bccbb30116dcf4c50b3b91dd6e0c95a210dedbfd +size 22097 diff --git a/screenshots/de/features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_de.png b/screenshots/de/features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_de.png index 70d830ad7e..a9fc3da70f 100644 --- a/screenshots/de/features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_de.png +++ b/screenshots/de/features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a89ea2ea209f98899fb9754b963099509d7049fa9459a8dfb91198c1bb167385 -size 52760 +oid sha256:6963352805840442af5881e8f1f84c08c8b2bf6edf823a4508634ca33bab3ea3 +size 53052 diff --git a/screenshots/de/features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_de.png b/screenshots/de/features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_de.png index 57f94b9b76..fc3e7e60d0 100644 --- a/screenshots/de/features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_de.png +++ b/screenshots/de/features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:00b6cb52c4f4efe2fa36b309a6a2ac6f34b911cf847dee14dade3d40015f1317 -size 48603 +oid sha256:740af769de1a19b33b9c65720293d710168291bbc52340a6778d9efc03f6749c +size 48928 diff --git a/screenshots/de/features.poll.api.pollcontent_PollContentViewCreator_Day_0_de.png b/screenshots/de/features.poll.api.pollcontent_PollContentViewCreator_Day_0_de.png index 81ba55ac22..9d4e1202ef 100644 --- a/screenshots/de/features.poll.api.pollcontent_PollContentViewCreator_Day_0_de.png +++ b/screenshots/de/features.poll.api.pollcontent_PollContentViewCreator_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c0a4632e0174df2d4f3aec7f3d863b08e7b3dd4fbb85fba7cd4567ada9fd650e -size 52371 +oid sha256:d7bc86b9cf768de5c070789219f429c64d9b2eafdcad3c87cd938e9838028261 +size 52796 diff --git a/screenshots/de/features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_de.png b/screenshots/de/features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_de.png index 31ce6cd5b6..e7d43eb67e 100644 --- a/screenshots/de/features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_de.png +++ b/screenshots/de/features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33f1c86bae51f2c041e03095812f815567b022d31fbdeb388011acffe1b44512 -size 48269 +oid sha256:c22870fb6518d28eb77238480b76a02c34d515a21ea55b1c536baea828e9f1c6 +size 48611 diff --git a/screenshots/de/features.poll.api.pollcontent_PollContentViewEnded_Day_0_de.png b/screenshots/de/features.poll.api.pollcontent_PollContentViewEnded_Day_0_de.png index 57f94b9b76..fc3e7e60d0 100644 --- a/screenshots/de/features.poll.api.pollcontent_PollContentViewEnded_Day_0_de.png +++ b/screenshots/de/features.poll.api.pollcontent_PollContentViewEnded_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:00b6cb52c4f4efe2fa36b309a6a2ac6f34b911cf847dee14dade3d40015f1317 -size 48603 +oid sha256:740af769de1a19b33b9c65720293d710168291bbc52340a6778d9efc03f6749c +size 48928 diff --git a/screenshots/de/features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_de.png b/screenshots/de/features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_de.png index 305ca75b69..56e54effbe 100644 --- a/screenshots/de/features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_de.png +++ b/screenshots/de/features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9678ec57b9fc7fd617e5f0bf906ce4be5d34f771e22a7069a3218b943b426e38 -size 46308 +oid sha256:d913c9cd8a205c282983462abe27b0b5ffa06d4a79a862c5ae89a365fe9fae8a +size 46517 diff --git a/screenshots/de/features.poll.impl.create_CreatePollView_Day_6_de.png b/screenshots/de/features.poll.impl.create_CreatePollView_Day_6_de.png index 5725b40017..8f5793438e 100644 --- a/screenshots/de/features.poll.impl.create_CreatePollView_Day_6_de.png +++ b/screenshots/de/features.poll.impl.create_CreatePollView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14bd0f3ee9b6346fdc3f7ececb9440d82c91f8daeec50edbe7d1ef131b627c70 -size 43263 +oid sha256:32435fe06f3e2bfcd315add8f090b4faed9001be3cf37b800c361c5223a38785 +size 43244 diff --git a/screenshots/de/features.poll.impl.create_CreatePollView_Day_7_de.png b/screenshots/de/features.poll.impl.create_CreatePollView_Day_7_de.png index d60b0f3da2..5ea0f068ef 100644 --- a/screenshots/de/features.poll.impl.create_CreatePollView_Day_7_de.png +++ b/screenshots/de/features.poll.impl.create_CreatePollView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:27db25b9039b4b1948534dc626129a53f91aede5494f1b6fa5f8c6f2961a8fdf -size 42011 +oid sha256:f00fef67e441ef43ef4a9e951c643fb3404d189f9c5a7f6dceb8f4971553f409 +size 41962 diff --git a/screenshots/de/features.poll.impl.history_PollHistoryView_Day_0_de.png b/screenshots/de/features.poll.impl.history_PollHistoryView_Day_0_de.png index 593f885647..6ffa97c503 100644 --- a/screenshots/de/features.poll.impl.history_PollHistoryView_Day_0_de.png +++ b/screenshots/de/features.poll.impl.history_PollHistoryView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:534fa4231a0d1f068847814dd41d7eb29c6ed16d7f7fc5fc1dfeffd650a8b410 -size 60478 +oid sha256:3362b1c162e38d84908d20870cca11bfa8eac932d9dd2d6cf4a235ea6b112e86 +size 60845 diff --git a/screenshots/de/features.poll.impl.history_PollHistoryView_Day_1_de.png b/screenshots/de/features.poll.impl.history_PollHistoryView_Day_1_de.png index 8cf71089e8..3963885282 100644 --- a/screenshots/de/features.poll.impl.history_PollHistoryView_Day_1_de.png +++ b/screenshots/de/features.poll.impl.history_PollHistoryView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c38c48900da3b8aa9a189b5526de1abe2699c4386ddd9f94363b43bfdcc5ae4 -size 64712 +oid sha256:7cef4c921f44700534ce0ae9b7e0c6dc214aade5a549c53815cb9c563bae828b +size 65060 diff --git a/screenshots/de/features.poll.impl.history_PollHistoryView_Day_4_de.png b/screenshots/de/features.poll.impl.history_PollHistoryView_Day_4_de.png index 08c6cb567d..9eaf088ddf 100644 --- a/screenshots/de/features.poll.impl.history_PollHistoryView_Day_4_de.png +++ b/screenshots/de/features.poll.impl.history_PollHistoryView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:caeddc2e594e9b83a6db709decc8d14d726fb74bc8bbe3dcec666394d0955021 -size 22417 +oid sha256:d46460d4289863c1eb3982917832fe66e2fdaacce48d0c54984612900ed8b08a +size 22325 diff --git a/screenshots/de/features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_de.png b/screenshots/de/features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_de.png index d53adc71dd..953f304881 100644 --- a/screenshots/de/features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_de.png +++ b/screenshots/de/features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:502c34e22a38b4354496bb37d04bdbddfb9e78b1361f499a40964c540ae3e8d1 +oid sha256:c06c0e39eb590c0cdcb7f9e7172517f44216d17d53f2fa01f10917d9137a055a size 28509 diff --git a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_0_de.png b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_0_de.png index 922f8aa3ed..a197fb329a 100644 --- a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_0_de.png +++ b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:63de2be68c3d4cd61e3ac499dc4de9a137117c9e0c12eeffa114d35e772399df -size 59589 +oid sha256:b3914fffb6e9be4ab720ddc769dda6b0a2d79adef670ddc41935fe2ec4cd28a2 +size 59066 diff --git a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_1_de.png b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_1_de.png index 77cf9356bf..96de29e433 100644 --- a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_1_de.png +++ b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:65d1c11fa74de8dd52cefcbc4fb795d5e34ff148027660ed9462e4ac587ce885 -size 59522 +oid sha256:03d786f3c8fe235d168c4a322b1168174fed0f6f9a08eb4ba3e09c020ca89317 +size 58921 diff --git a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_3_de.png b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_3_de.png index f79ee2f769..f233f95e6b 100644 --- a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_3_de.png +++ b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:043894c6e82ebc69665ed26a81ad7cd455de1b74d336173c1efcd7ad344336bb -size 58426 +oid sha256:4eb5d7210b2f1589eb2b5e1bbc6c360b5e44a817aee51dda303f10a90722eb99 +size 58323 diff --git a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_de.png b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_de.png index 4556acc62e..c7d37704d5 100644 --- a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_de.png +++ b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7782e70ad91cde4011a7facebdf65c71e2ddf2c8c1da48e41e80c1126bb776b6 -size 63149 +oid sha256:a70121e2be10cc4038de039cd072b9829aea89cee28192b0cb3645e782367a2c +size 62689 diff --git a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_de.png b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_de.png index 456b5f47d0..6e274479e8 100644 --- a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_de.png +++ b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f09a132eaca1c5cc96b296fedecb66b1d12662ad4de053d49482289b277a8cbd -size 62253 +oid sha256:325a9fde4b0fb803bb9112916e9d549fd9d725c17a09983db87c3a0a03725a10 +size 61731 diff --git a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_6_de.png b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_6_de.png index 922f8aa3ed..a197fb329a 100644 --- a/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_6_de.png +++ b/screenshots/de/features.preferences.impl.blockedusers_BlockedUsersView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:63de2be68c3d4cd61e3ac499dc4de9a137117c9e0c12eeffa114d35e772399df -size 59589 +oid sha256:b3914fffb6e9be4ab720ddc769dda6b0a2d79adef670ddc41935fe2ec4cd28a2 +size 59066 diff --git a/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_de.png b/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_de.png index 469ff90f9c..e2aec3d5b6 100644 --- a/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_de.png +++ b/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b4e39d2463e1f2d226c0ac503f8d2df79123ebf858b72d781aea3a7b8040f1f9 -size 50532 +oid sha256:bea5fe757a938bea14b1fe92ad3a7bf5463e54a3e1b1a1c9d4adc90752e62473 +size 50318 diff --git a/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_de.png b/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_de.png index 8c9422850d..4f51943596 100644 --- a/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_de.png +++ b/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f147cf09f3f4957f2e6bf9e0bbb65d991bf82293ed161dbe37117498ff20c3f -size 51371 +oid sha256:5aa7f398ecad0158592e613aec5ee0f699b803420c56aceab2edd3549e4f6825 +size 51176 diff --git a/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_de.png b/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_de.png index b39079cd3e..e0520d040a 100644 --- a/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_de.png +++ b/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f319358df99d4596ec3a5526482dab38806decaff2507f9f7f0e1f63eb4af604 -size 42011 +oid sha256:50b1ea9ee1070ecdb363b75829c95e9049f4a1635afacffa8b301347e64008f6 +size 41898 diff --git a/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_de.png b/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_de.png index 71bdcfea61..aa780a5667 100644 --- a/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_de.png +++ b/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:32a89c79545450d7c9702b9e2a74572d765b39dc8ad15dfeff58a417d7dc7740 -size 41081 +oid sha256:75900c0c9f6503a26efc9d12b6dbccb7cfa32068fc490210f7b31adfef8383ca +size 40993 diff --git a/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_de.png b/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_de.png index 2abccb3e83..f4bee74840 100644 --- a/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_de.png +++ b/screenshots/de/features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8f9f0881872f9375f9473bcd778caa473f7f813d6559bb47318c49c770a68c75 -size 67863 +oid sha256:d5a85a67c46d6a23e12ffbb01286209665ab0a3bbf34161581e24a1d4d41b71d +size 67606 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_0_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_0_de.png index 5809b21d53..157399ef08 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_0_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d03be5355cf0ce8f69fbc6816fdfcdaafb1a8f6489ef193a3c66e2d45732fab -size 67333 +oid sha256:445e853d56ee1d7865bbeaf38f02c11bd1b7d2465a175eb593e7becbd5530164 +size 67332 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_10_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_10_de.png index 50f94d65da..740446db14 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_10_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0356d17b53c3015da10f57347bfb10a582d989a90bd9dae24a84477fe3bac8d1 -size 42665 +oid sha256:3c1e76d5502a8ea37030c955491f2cd792b1dbaed9f2d23dd21f648a7993fef2 +size 42660 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_11_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_11_de.png index ab8448ce8e..c83875d635 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_11_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_11_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5460e4879b0184c178681ba553f495e52e202bffb4bfdf4b22b8a104368ca1c1 -size 71624 +oid sha256:0f6ad0c721d50da502a629f2725de0158532033e025810f316a3fda925c75820 +size 71641 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_1_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_1_de.png index f71e5a0edc..0c5e80113d 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_1_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7b2d7dc01c42ce9fd39264759496adcf6d38f68ee0de1b8ec3c5a09eeb1536c -size 53773 +oid sha256:ff30e625cbbd792343700d99633bf63ca66f1aac59a4ae679e1a4986957dcc3e +size 53790 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_2_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_2_de.png index 1e8e8ae05c..e5d1c62be1 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_2_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c8f3894999c3758731677ae62b20acf05b9d63edbbe783f9bfd2cef6a6fde482 -size 48004 +oid sha256:b0223f94f111a5c40d8b24228ae2d3a03a40b936391a324c3d1442ba1c806a7c +size 48109 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_5_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_5_de.png index f71e5a0edc..0c5e80113d 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_5_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7b2d7dc01c42ce9fd39264759496adcf6d38f68ee0de1b8ec3c5a09eeb1536c -size 53773 +oid sha256:ff30e625cbbd792343700d99633bf63ca66f1aac59a4ae679e1a4986957dcc3e +size 53790 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_7_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_7_de.png index f71e5a0edc..0c5e80113d 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_7_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7b2d7dc01c42ce9fd39264759496adcf6d38f68ee0de1b8ec3c5a09eeb1536c -size 53773 +oid sha256:ff30e625cbbd792343700d99633bf63ca66f1aac59a4ae679e1a4986957dcc3e +size 53790 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_8_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_8_de.png index f71e5a0edc..0c5e80113d 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_8_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7b2d7dc01c42ce9fd39264759496adcf6d38f68ee0de1b8ec3c5a09eeb1536c -size 53773 +oid sha256:ff30e625cbbd792343700d99633bf63ca66f1aac59a4ae679e1a4986957dcc3e +size 53790 diff --git a/screenshots/de/features.preferences.impl.root_PreferencesRootViewDark_0_de.png b/screenshots/de/features.preferences.impl.root_PreferencesRootViewDark_0_de.png index 5fcae7743c..f32e69ff8b 100644 --- a/screenshots/de/features.preferences.impl.root_PreferencesRootViewDark_0_de.png +++ b/screenshots/de/features.preferences.impl.root_PreferencesRootViewDark_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:293bc62f17f650df8f649c5ffb82b192262c96869d3aa8ee3c37e65d50862b60 -size 38383 +oid sha256:a12575a26cbb9e3c6d936dbd139584fed33cd97be453d1f9bc2b7e96259bb8c7 +size 38465 diff --git a/screenshots/de/features.preferences.impl.root_PreferencesRootViewDark_1_de.png b/screenshots/de/features.preferences.impl.root_PreferencesRootViewDark_1_de.png index 13cb1684f9..78f861c3e0 100644 --- a/screenshots/de/features.preferences.impl.root_PreferencesRootViewDark_1_de.png +++ b/screenshots/de/features.preferences.impl.root_PreferencesRootViewDark_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4ea0802430c831da46cfc3568a14f06b7dfcee8fe0040049cc7b6054e7192cae -size 38140 +oid sha256:9ac360c420327dff438755fca427901d7d5b15f9ba28d6491c429f94dadcfcc2 +size 38215 diff --git a/screenshots/de/features.preferences.impl.root_PreferencesRootViewLight_0_de.png b/screenshots/de/features.preferences.impl.root_PreferencesRootViewLight_0_de.png index 53080e1dfc..06f2a0c5fa 100644 --- a/screenshots/de/features.preferences.impl.root_PreferencesRootViewLight_0_de.png +++ b/screenshots/de/features.preferences.impl.root_PreferencesRootViewLight_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e0b7650dc48fad7f42d9af4acb2dcff4c78ffc55503ef9570825d30e07305d28 -size 39564 +oid sha256:d5ea47b0933533cc802bab3f4ffa38c6687ccbaeeb390299a83476fb32fcbd27 +size 39442 diff --git a/screenshots/de/features.preferences.impl.root_PreferencesRootViewLight_1_de.png b/screenshots/de/features.preferences.impl.root_PreferencesRootViewLight_1_de.png index a63768d71c..5b66d88432 100644 --- a/screenshots/de/features.preferences.impl.root_PreferencesRootViewLight_1_de.png +++ b/screenshots/de/features.preferences.impl.root_PreferencesRootViewLight_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cbaf53d7591505a73828b6f88464829eff2bfa3041091d2477cf3463300ba4d2 -size 39523 +oid sha256:e7c2933c34d34c1ea48376c3633cf6014ff16c14c247f31c1b88aadb6e7a491d +size 39448 diff --git a/screenshots/de/features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_de.png b/screenshots/de/features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_de.png index 7c6ce23935..97bfaab334 100644 --- a/screenshots/de/features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_de.png +++ b/screenshots/de/features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:da9542c4930396e7546817c0d3acf459cb2ae0f58e24e0293660ca9cfe56cae6 -size 22450 +oid sha256:0b31bd23d6c286b7574591d1a569556539ecf147f6e9c9f92e620a6874c76968 +size 22166 diff --git a/screenshots/de/features.rageshake.api.crash_CrashDetectionView_Day_0_de.png b/screenshots/de/features.rageshake.api.crash_CrashDetectionView_Day_0_de.png index 88097a713b..201832e87d 100644 --- a/screenshots/de/features.rageshake.api.crash_CrashDetectionView_Day_0_de.png +++ b/screenshots/de/features.rageshake.api.crash_CrashDetectionView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f07f8c883cb8bcfdd7ed806dccf0c8e28a117516bc12a952ac37e31a853e284 -size 24728 +oid sha256:8e8546c93e3f30fb4756dbf4c706bae2394f83b41e45ca1fa2a2fce761e55641 +size 24720 diff --git a/screenshots/de/features.rageshake.api.detection_RageshakeDialogContent_Day_0_de.png b/screenshots/de/features.rageshake.api.detection_RageshakeDialogContent_Day_0_de.png index d16f7f492e..964528e518 100644 --- a/screenshots/de/features.rageshake.api.detection_RageshakeDialogContent_Day_0_de.png +++ b/screenshots/de/features.rageshake.api.detection_RageshakeDialogContent_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a81ea9921e7749cc783646cb5b2d3f6f34eef55b000ee4e4b7534527e84ed0ec -size 28210 +oid sha256:c7be9d54e6f54a8090051906b55b2276c715a4a99b181fb8b8ad41dd8681331d +size 28087 diff --git a/screenshots/de/features.rageshake.api.preferences_RageshakePreferencesView_Day_0_de.png b/screenshots/de/features.rageshake.api.preferences_RageshakePreferencesView_Day_0_de.png index e6214e0ede..b441821d62 100644 --- a/screenshots/de/features.rageshake.api.preferences_RageshakePreferencesView_Day_0_de.png +++ b/screenshots/de/features.rageshake.api.preferences_RageshakePreferencesView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4373e6a58633562922ebf42dcff404056b6c52dde8e159528b41aa5fd0ea9550 -size 19236 +oid sha256:9cda7ea7acc18ff35da4c5f47ce0e3c07be5d4269f5edd3fcf4bfaeb5b13904d +size 19355 diff --git a/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_0_de.png b/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_0_de.png index b161b37374..9b334bd1c3 100644 --- a/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_0_de.png +++ b/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b83e038f4c1a2b7ab150d563a66bcb02ac85cb225fedfbcdbe849d8f4dc27e3 -size 78638 +oid sha256:7e9db04b8dc5d02610b882a35c596b4c31b3acbf80df2954dba20c75c1526fa4 +size 78633 diff --git a/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_1_de.png b/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_1_de.png index 61e7493d5e..41cde8b757 100644 --- a/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_1_de.png +++ b/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a1b179763e76d47cf7428aa27dae7e7ae9b36349b1211f4a7ecdbb767a956f1 -size 85725 +oid sha256:515472a817c304d7a6a4b9c25ac54b528007773791d23c92640558ab322b6814 +size 85560 diff --git a/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_2_de.png b/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_2_de.png index 588529ed22..edb1665cc3 100644 --- a/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_2_de.png +++ b/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c99d0e7b0b6e69e4ca93b53f069d7bf17f7867cad992ea83be7c953c0655e277 -size 74036 +oid sha256:a498eebfddbb78173b58684176ad2a1a45919ee12a39e806b6d9e2e5a88f26ea +size 74060 diff --git a/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_3_de.png b/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_3_de.png index b161b37374..9b334bd1c3 100644 --- a/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_3_de.png +++ b/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b83e038f4c1a2b7ab150d563a66bcb02ac85cb225fedfbcdbe849d8f4dc27e3 -size 78638 +oid sha256:7e9db04b8dc5d02610b882a35c596b4c31b3acbf80df2954dba20c75c1526fa4 +size 78633 diff --git a/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_4_de.png b/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_4_de.png index c7f1969587..7f4159bbbe 100644 --- a/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_4_de.png +++ b/screenshots/de/features.rageshake.impl.bugreport_BugReportView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e6bc7be2ebc36565f69b08c3e1a12dc1f12974bc5bd72daf131e5b41eef77ab -size 59236 +oid sha256:ac9a7f2ad3221c8b1689f65d538a7bd25a1f36e37db1df933b5856e2a4ad9fb4 +size 59229 diff --git a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_de.png b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_de.png index 6be66571a6..e58268a587 100644 --- a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_de.png +++ b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1bc1c100ca5b39b6a742b53d78d99e5d521f43f2ecd9d32e4b0c08be798bfb2c -size 30023 +oid sha256:33b0034e6fef702fe7dae8b63104302bf93bc8667d936f9d58b4a0591bddce8f +size 29812 diff --git a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_de.png b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_de.png index 5ea1cf8be4..0f283d8add 100644 --- a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_de.png +++ b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9e224eb10aee2d2cf2e759259ae92576fcefc95127b67304ac4ef136a3257f3d -size 24239 +oid sha256:d5889aba8d581b97a4f2b39ed50de836a72306c021d9f21c4597ffa6ba700008 +size 24073 diff --git a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_de.png b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_de.png index 4c418483ac..0f8887251d 100644 --- a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_de.png +++ b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c6fd6e9012896212bed1ed9f1e851a18b50b6d0be9fb7aea511606dccc30882b -size 31287 +oid sha256:9dbb897879a701d315d141e2df7c852929b6ad68adc0b1daa1271da867592051 +size 31065 diff --git a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_de.png b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_de.png index 3299d1836f..c5caef02f1 100644 --- a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_de.png +++ b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c639bf86ec89204fa4103439f02879456a35230bb95e4af7189727831c0dc9b6 -size 29627 +oid sha256:569b5b66c85619133923a40d360877ff78dd225780e5de2bc4dce2abb4d679d6 +size 29430 diff --git a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_de.png b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_de.png index a1be2bf35c..3b7b13726f 100644 --- a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_de.png +++ b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:51fa55443cfc39873b4c3038c6393c0bbb92080526320b414b734b070e8eee83 -size 29759 +oid sha256:1adc44c43ffed315fa58233ef34cf70b3c07a6d022ba2e5cac1fc7c3e6effd11 +size 29564 diff --git a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_de.png b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_de.png index 1a95014758..b4d6fe521a 100644 --- a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_de.png +++ b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9a8d92dbc2c6c2c1b45a6decef1023d722d8c63517cc59a0eacb32732e24e018 -size 26339 +oid sha256:0b6091c1821671f7c9194fec2ab513468674e6d83d76689e8f93276cb701f7a0 +size 26291 diff --git a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_de.png b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_de.png index f357d748b1..9d5a985108 100644 --- a/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_de.png +++ b/screenshots/de/features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e3bebf72fdbe712e18825d9207120d06d37992c1f8a34c7bc9b11eb1c7ce5ab -size 29180 +oid sha256:a62dbecaea9cadbc7d72486a7e961af0916e35c73ca0f0f679234ef92b32dd0c +size 29014 diff --git a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_de.png b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_de.png index fbddc456ca..28b48c9672 100644 --- a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_de.png +++ b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8bef34cd5f640fd17b97bd403570c010a91c909c37b0403c8c5dbf2f0dfb6eb8 -size 15624 +oid sha256:7c8c2f78930685af16b95527f5781783693f0be8280808b412d8bfa581013aba +size 15649 diff --git a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_de.png b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_de.png index 55fcd95078..22bd6ac780 100644 --- a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_de.png +++ b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3fc8d588dd06344e7950fdce6d059886dbbb1aefa0b54aa6ddfa048843c6604c -size 26662 +oid sha256:bd1a9370e7482947abe8d9ac447116683db85aa8ebc8cca99d12d5cc3246fdca +size 26222 diff --git a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_de.png b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_de.png index e78cc14073..46c04d63c9 100644 --- a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_de.png +++ b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:967a9fc4a7a20e724e57b730e0583fee3f823e9c3be9a46e6f6a04579f3d04f0 -size 12531 +oid sha256:0ba5447b42b04b1b7d75ab8f6e36b660ddba149806de29d420bc53420fa2ca65 +size 12566 diff --git a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_de.png b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_de.png index e77ca07c74..5f84667321 100644 --- a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_de.png +++ b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4feb66c3e2c122238a069e592a08202cdb5c94e022af56e885f3a06206d8b22c -size 24082 +oid sha256:edebb0083cb0bd161a58f6997d675220ebaee980d7cae1373f92c16eb960358e +size 23693 diff --git a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_de.png b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_de.png index 7751c5438a..e0b916854c 100644 --- a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_de.png +++ b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7002a368923cf5c7def25d6aa4543b379b14e4082650ab8c71917dfaae9a10d7 -size 15800 +oid sha256:d6fddc0b54320ff565d7a734fbc8d83001a399d9c9a1446c00b0117c7eb38bae +size 15834 diff --git a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_de.png b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_de.png index 0b05037baa..43d3a17af0 100644 --- a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_de.png +++ b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:595ad9b71b0315a8521be6cdb11a4f063ff7c1998f4c881696001f06f2e2a45b -size 45068 +oid sha256:7d70f77cbb39cefd988e17a2f7f286d21f79bfcb16635f34593eb2db381ffefb +size 44730 diff --git a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_de.png b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_de.png index 8a825a3b50..b1b60c29a6 100644 --- a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_de.png +++ b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:094c9fa91f47001cbb9fd7aa0eb5eefbfd06d8d5fa8adeb75a129a28379ca61d -size 44211 +oid sha256:22dbed8b8f5272a8c2ecd484976291cb314bf1cf27c2048b683bd0c144952295 +size 44076 diff --git a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_de.png b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_de.png index 5ccc66244d..7baa87f0f3 100644 --- a/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_de.png +++ b/screenshots/de/features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e0803e7eec22628c25778d8f6799787dbd9745692fe347cf493fae4c737e0a1 -size 36436 +oid sha256:0e50047ba6cae7721c6a18b180dbfeade261c2cdd083dbd2edccc3b339e53f84 +size 36598 diff --git a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_de.png b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_de.png index a02dfe533b..0c26cb7e88 100644 --- a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_de.png +++ b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d3415262f35f416203aa1f1d9997960b947b9629ee4a89f242c3162eeaca677f -size 19997 +oid sha256:3e0a27956c38bbb9ed09bdad34a3f7afdf56c6c4005123374a66339393b3d3c6 +size 20021 diff --git a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_de.png b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_de.png index 60914538f9..1b82afcb01 100644 --- a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_de.png +++ b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09919a0c36537f0b8fb9767faaab760d11a4d8b34ab26585a9e4fba63b86e8b8 -size 24364 +oid sha256:bc9f37d6d0cdaac75b6714993e7aef03a71f6d14d18025012b140097cdf6a4ea +size 24378 diff --git a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_de.png b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_de.png index 6fdc3ce5db..043e3ae9a1 100644 --- a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_de.png +++ b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4fa3156adbe2172ba3717ba78a4b693dcd939fb35c9ef4b7a935261af5f44e02 -size 30081 +oid sha256:2953bb11c8531aa7ce75777ce272bdca2cc987958b1ed80aa252e318858fe0b4 +size 30098 diff --git a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_de.png b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_de.png index d8a825e60e..2a18017b3d 100644 --- a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_de.png +++ b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69d6de7b66985ae9fd35cbe733cbb92dbf490c64472f888acb00e9920b38ac20 -size 9591 +oid sha256:296db138a27cd8a6dc2d3a22e282bc7cd26526fb316bee11e55d13d36fcc6d3e +size 9634 diff --git a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_de.png b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_de.png index 1390540353..3b03e686a9 100644 --- a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_de.png +++ b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f7a63cc2c71b8aac624306f976d46d8d88e99d6d87fe8b1897b45a342e29705 -size 9919 +oid sha256:bab22bdfcacbc1cfe8d795daf1e581a52b4251bef121bf676cf09f86ff0fa267 +size 9944 diff --git a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_de.png b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_de.png index 8bbced30ff..f36f49ce72 100644 --- a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_de.png +++ b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42acaf848d8171bbd5165e809ea8324807b102d7029e4c5d899b0a62d0a332e9 -size 9913 +oid sha256:93a166c63f0b29cb6791d1b96f4c77d74fe29e14c2baaf7c33c4d2571176943f +size 9952 diff --git a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_de.png b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_de.png index e15d3745bb..7aa77f0bc7 100644 --- a/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_de.png +++ b/screenshots/de/features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cc604387773fc50481303c325a57813f354ea14724a2f0ea2d46f059ef9e5204 -size 9294 +oid sha256:d7ae7cf6e62cd6e65c3e9b5b8ad82d12595dc1c49b63e5128b6554510ac3f3f4 +size 9282 diff --git a/screenshots/de/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_de.png b/screenshots/de/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_de.png index 4b299846dc..9a6ec6a07a 100644 --- a/screenshots/de/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_de.png +++ b/screenshots/de/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:698e01d564091093f4395606f2d6401cde37c44a3c59724d109bb9dc23614a28 -size 33722 +oid sha256:c2c4d3664c29c0260da80d9e10784ee79f7697da67ef07b56a44385961bdddd0 +size 34061 diff --git a/screenshots/de/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_de.png b/screenshots/de/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_de.png index 24bd1eb231..54d9654af7 100644 --- a/screenshots/de/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_de.png +++ b/screenshots/de/features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a4df892ca0efca1a8bc3838fbf41e838ee934bb8d841d07722184c754e357b5 -size 33818 +oid sha256:941b453f07e80eb361acf8ad4e8126ae72061d93d85e4c824c5f71c0af79332f +size 34443 diff --git a/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_0_de.png b/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_0_de.png index 3b90e9e877..1abe5f3155 100644 --- a/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_0_de.png +++ b/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e7374f34d394dfdb02925dddf6fa7ed290378fe1b97536e2038c76137cc07f2 -size 47084 +oid sha256:471fbb4c02418814037434bda896789e60b0fd7d0d63579b6e368eb1b57a1eb9 +size 47040 diff --git a/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_1_de.png b/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_1_de.png index 687e1d84b3..205855c11a 100644 --- a/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_1_de.png +++ b/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e425891056e3b2f2bf24493c83e964404f3c106fbe265cffa2aafce97b844457 -size 12526 +oid sha256:9c9aa66027b4e4aa7c6980cc2ac2c046575a19b7a6084c85d3f2f2bf0108ab03 +size 12796 diff --git a/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_2_de.png b/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_2_de.png index a0381f1b5c..cc34aae337 100644 --- a/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_2_de.png +++ b/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:56fb1dd5d4a404ea1905c0ed1c95f117aa95d68019e09b74828e37ed9d01e9c6 -size 13842 +oid sha256:ec17a8d8e2bcc549144066aa0f5bdd80d6c7cccf42cbb3506a09f4dcea285dbd +size 14150 diff --git a/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_3_de.png b/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_3_de.png index 687e1d84b3..205855c11a 100644 --- a/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_3_de.png +++ b/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e425891056e3b2f2bf24493c83e964404f3c106fbe265cffa2aafce97b844457 -size 12526 +oid sha256:9c9aa66027b4e4aa7c6980cc2ac2c046575a19b7a6084c85d3f2f2bf0108ab03 +size 12796 diff --git a/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_6_de.png b/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_6_de.png index 10920287c7..52c1896d28 100644 --- a/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_6_de.png +++ b/screenshots/de/features.roomdetails.impl.members_RoomMemberListView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6110b7ca3e3ea2101e06d5f08a2e8f50433c15833dcb34fbb16ddf8025ca211b -size 25491 +oid sha256:59a0d786c26f707d3db071f2845fd95b6762e33b37ebe9b9ab1b696d6c3b5452 +size 25504 diff --git a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_de.png b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_de.png index 2c7efbb877..bb0722f78c 100644 --- a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_de.png +++ b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dadca20f35d5796ca6206ea87846e1708e0ef0ad58923737da916a598a5e0b68 -size 40681 +oid sha256:29d84e85540dcfe91b8746e0a7d50d9633b07c7bfeb4f895b4dd3200699b57dc +size 40774 diff --git a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_de.png b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_de.png index 2c7efbb877..bb0722f78c 100644 --- a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_de.png +++ b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dadca20f35d5796ca6206ea87846e1708e0ef0ad58923737da916a598a5e0b68 -size 40681 +oid sha256:29d84e85540dcfe91b8746e0a7d50d9633b07c7bfeb4f895b4dd3200699b57dc +size 40774 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_de.png index 6a8cb77e39..2014b3542f 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e7222d872fcd862316f13390eca1cdddde78b79cb0892f5de2ac8014ef29c62f -size 52360 +oid sha256:7f9429d2d0f2ad4da52dcbb1377d5153ee22e4273c3bbb57873441ed383a0829 +size 51577 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_de.png index 50351ff98d..77bf243557 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b1437921595ebc4300fcbd7532e573b9c7d284fae92bc09e153cbc46a06a36b -size 74324 +oid sha256:996d1b109f028a02c984964042c5db07fdf6b020c9ae4a87f2a9a5491cf8cc5e +size 73321 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_de.png index 79cc8fa487..70a655ae03 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b44e8f93195a6a6789d9d339e86c8b8dc97f33812ef643222a3bc22048c9bb9 -size 67397 +oid sha256:14d0a1adba6ccb7ca22a37e77c0b378ee289b638f546051434f467337f86fef5 +size 66365 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_de.png index 76b71afac4..aead3a0051 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ef9e2d5cdfea91b4710ccee53ea82894111a139226b4ce99cbca1bfed14f908 -size 67240 +oid sha256:51b94cf8aa0a325f14151ce942494fc07c8db4ded9bd3a025de0fffdcde676fd +size 66191 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_de.png index ec168a4667..a4b22abf2f 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:198dc2e85c308178626110a0958c8c0b75f3baa37d259abdb2d2b41b27436e20 -size 61903 +oid sha256:236a5aed3620f9e05c2ab50163bd0a86e6e49059afd6d59b443a278b5f547b7b +size 61275 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_de.png index 0593c9e7cc..85dea672cd 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5487bc67baea0d4623444612ad001c89fb2234b449d0cdfe6fa5de7136e63f76 -size 14440 +oid sha256:f7dcb912daf865e95d04a8932f89e05100c336e90d5b3f1b37b25833094d4294 +size 14441 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_de.png index 47a4fdedcc..b563a9c1bd 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:51a14486813f3e3007edac4aa7d395761955838424ba9033560427b867a6a777 -size 64772 +oid sha256:c8266737dbfc51e8d93877fac681695aa06241fb5d0f74133087a9786d1edaf6 +size 64061 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_de.png index 8219f733df..a516dd3bc2 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a567a76b32117bccf256fc84cffaa892be34b643a470e29a00ae581718f5805b -size 66199 +oid sha256:608fe11885f94115e02da613ea095f855b198c69ed3f8d14008b866fe3de7d91 +size 65504 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_de.png index caf8fabd08..c37c632d2f 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3a75994d2cf4f2d95afc3345304cbfc975ad9fc1fcd43115a41612afdabcad0f -size 56528 +oid sha256:f7d5fa52e3703e998bc47f8cd07305f62463ced63ea0288da73e6ded2509a574 +size 55824 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_de.png index 57ba83f2c4..7437dd86c3 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6a67ad470d73a32771cb05269dbe65c73e805bba72ab4a2d0116c8d1f18d8cc9 -size 69698 +oid sha256:92c9dbf7093eab7131c69f060bb885f4fa47bcf873c9d88040bb3e178b450049 +size 68727 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_de.png index 103a193a31..e81f45f917 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b7cf7b5af5e550b8bf83f508bc1a37085e3a242d7495992741b65697e5070eb -size 41682 +oid sha256:5cca87adff907ee6feb905fd4d920e110a10e527aa5f817da51d9e4d862f0841 +size 41774 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_de.png index 9212ff45fd..f566830b8d 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f82f6783254cf0f3ef70c3bf603390964b606b4d9c50b530fec4c5cde2e8486 -size 49578 +oid sha256:f085827fde896c6f5e1989848cd3e57ee205820b11d7f2b3b84e549e0994e183 +size 49579 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_de.png index 3fb4712835..e12710cc3b 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:696ad3b82fbd1703a64630cbac170cd706eea796913d372d02484a982f9df64c -size 49288 +oid sha256:8438d90317ab54f6383f5850f2933a367b632583e063f9f96ee35dc68d0d8381 +size 49283 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_de.png index 379c496ec5..1d473083b5 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:651740f98257e1b535badd67ba479cee71c6d602a1151eede2778382f2505f91 -size 50128 +oid sha256:12e8e7c4db1884f8b5aeadb5f8ff99eddc757cd0a51a39e983f90b0ab706889d +size 50139 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_de.png index ba25a7673f..6b4561fa9b 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16b367d51acceaf628819129b0851fd6e434815a5f2f825e9b8989e6aa864d6b -size 44592 +oid sha256:85b8cc1dc241900961fa2a75561b21e1beb86fef54738d770b9f5f538569c268 +size 44682 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_de.png index 536ad495a3..cf059bd7b6 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0ecef2aba82090461ee680400af1b1930dc5942beb58a756e9157c2d55d8c210 -size 42742 +oid sha256:cea700c61c1b80c0059f42db2a6a34d7da6b9725fd346c5f47aaaed795e0eb8a +size 42743 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_de.png index 12f1a22b59..7df29efd80 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:112b4accffda91b2a4f4207fc11c302272a711501bf7b1b55e360b75a3e16475 -size 55332 +oid sha256:bcb84a2033a911da5365e187612cf69b9d8e5fbce75d5723a73fd3445bb07541 +size 55333 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_de.png index ba25a7673f..6b4561fa9b 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16b367d51acceaf628819129b0851fd6e434815a5f2f825e9b8989e6aa864d6b -size 44592 +oid sha256:85b8cc1dc241900961fa2a75561b21e1beb86fef54738d770b9f5f538569c268 +size 44682 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_de.png index 6bc4870861..b9bdca3bae 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6fc55181cb7a1c6d0023be086de0dd150d90a8cf83bad4679c206b565e0e2edc +oid sha256:b51c2cd984dedcf4de67d1693a98c89d02e9f2cb41a064a2b3ba59f33f7b2f5f size 42227 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_0_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_0_de.png index 355a348677..a9ecaaa3c1 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_0_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b7ff61b4b4281fdce700003fdaad4138b75075e10a66b9e4e0de8ae487d9d84 -size 44271 +oid sha256:08d1e0a2cf79414dd73b5a8bf8023b7daafced58aef3a6260388613522ad02c8 +size 44340 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_10_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_10_de.png index 1a28f57540..2a66ece120 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_10_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:384654c739d25cfd314ecde1fedaa6c8c0beccdfabfb0b0f0faacf1f1d10f6e1 -size 46456 +oid sha256:6ab2237480d2b1ba849938eb865dfd36d7710a8ecb9f4858e53902e14cbe3bd6 +size 46487 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_11_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_11_de.png index 6a7dcf16e7..110b777e78 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_11_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_11_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ff26f20abce5bfa8e936057d70258bbac919cc47c7aa27b374176f7d618c7ba -size 44947 +oid sha256:4b889f8538bccc33f8de015aa2c814340c9f21ea125877684e2919ca801d3a54 +size 44971 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_12_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_12_de.png index 53674500dd..4959d35ccb 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_12_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_12_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9cc4178e91b11dd83bcfc07e291a989317e744fbfcfb802e913875988d7f1685 -size 48606 +oid sha256:e0b0ffcb08b837adaaa6891edc5d9b7f1f3d3e505059efe2281b7c82b81f27bd +size 48719 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_13_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_13_de.png index a0eb722a41..9393cee493 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_13_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_13_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:edb4fe7262c508c066c11cebbf578e2b4851a871d5c438085bb3caea1dfae14a -size 46936 +oid sha256:f0b275892a4da98b57219008a44d2ab3f5449f9fba51226602f7dde724fbe08f +size 46955 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png index a8632d499b..b2fc105b23 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:da8ed936f17cd7b016aa5c2e45fe1df9bfbe149c686ab04903fafb537cf322c0 -size 42808 +oid sha256:49286b4564da8a26d52c0f892564984341d55c1c29b8f08bb3ca05d70cfd4e5a +size 42845 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_2_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_2_de.png index 6b21e09888..c17a227bbb 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_2_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e65461ca9a5aa89268fdfe04759d4c0dd5918ca395470d58c95a9f50eefb4ee4 -size 43835 +oid sha256:7887879e6da3f0677b11f91be7f6447f362f645a750a2183edcaf0afd4e2a2ed +size 43879 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_3_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_3_de.png index 667414400c..f0dd41298e 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_3_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bec0e6890c5da8790c3b787d05ea7dab0e1084e8c1f34e98fdf6a478adfeff95 -size 41892 +oid sha256:c829220a28e8d50eaa6e4aabfb604ffaadfb3971a7d48aa00f6d8bea303da4f1 +size 41958 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_4_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_4_de.png index 2a431ede3d..8902d4d30d 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_4_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30dd58fbdb510dce6e75347fcf9cca171770f285aa4abe981624b49c7ea45ab0 -size 47282 +oid sha256:a59e1d2ba58c3f4c06a15954519f2d99c5500db65d68ad442c8333381e9f8c64 +size 47305 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_5_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_5_de.png index 07c6683054..ef4fe6eafc 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_5_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ad624a4ae1c20addec10174f60e2115649bb8440d9d1b742091a5a2a8b3e68b -size 44834 +oid sha256:756b332670494e4d5ff69f985801026877a7b143df968102d5e8b9fb5b9024f0 +size 44658 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_6_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_6_de.png index 07c6683054..ef4fe6eafc 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_6_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ad624a4ae1c20addec10174f60e2115649bb8440d9d1b742091a5a2a8b3e68b -size 44834 +oid sha256:756b332670494e4d5ff69f985801026877a7b143df968102d5e8b9fb5b9024f0 +size 44658 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_7_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_7_de.png index b7d93442f2..7b5e079dee 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_7_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:84a24a5c58ecfb144caf04c0e8652d290c0574ff6cb1dbed7b701df2fa9e195b -size 47850 +oid sha256:2ed229d07c90485fbaba3e6f566c0b7fc6011f82ceff7ac301b01e95b1bdbdc5 +size 48005 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_8_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_8_de.png index 4d9d503a0d..e1c83627a4 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_8_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8a20b95ef4d95bdc045505ed01199ec219d5698a8295f3301e4f260ad926a043 -size 46780 +oid sha256:a5de857622f577a3545132a59d0ee8704231a683a0a7540af11f33e582b03d6c +size 46814 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_9_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_9_de.png index d0c7127489..583443ce47 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_9_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_9_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0dfce3cff7725fc9e5778c813be51fc159817ecdecfd14fe62af7905213d3c4f -size 45824 +oid sha256:ebd7d3f3cc39e21d845b1d1dfd437da7c2f0eb2cca9afedb93402f8cae839e2e +size 45850 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_0_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_0_de.png index 31cc642e29..bed2f509a5 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_0_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d5d7311a5e7fd9e5e950128960089555ac4d84341c2d9107e94d1396c9d1175a -size 45326 +oid sha256:c35e98cd20b2001f531e6a3eadd7086ea81fa86cf654f34a81035fd69ed45087 +size 45457 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_10_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_10_de.png index fb144576a1..ed08816153 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_10_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b80349e217e0649d360502c881abdca61008ac0a52a9860cb223588174673850 -size 47606 +oid sha256:1b0b409c0ccb5b39cb8c042e9aea81a8cc7215ba2b25a845c794cb671cf2d657 +size 47692 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_11_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_11_de.png index 0ad7508787..5c0c8a6bcb 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_11_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_11_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dac10588ea7f2d0909356bdd24ac789959ebbc52853c6d6904a7e3899eba3313 -size 46058 +oid sha256:d23cc0cc8b48063cfbf5570bdd928c87a33e758c6dd3b0635d98bf1214a5e056 +size 46148 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_12_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_12_de.png index ec420272df..03ba6667d8 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_12_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_12_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f9797f47aea0f543849c333616a55b73cd5afcd236498f9e85129720c0246c9 -size 49720 +oid sha256:057e2ddb366a24b91eeec559918e5c3e2f6682624137fff641bc9f4b5607accb +size 49504 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_13_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_13_de.png index 05ce4083ee..60e49dbdbd 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_13_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_13_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c202ce10bcadc283985cdbc537db571b9cd3c452bc3f99bf0587c9beb354bd0f -size 48091 +oid sha256:8f418eed573ab3c6f5a483135710d98670ad08a990233cb7169ced3f496a7954 +size 48166 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png index 5691f770cd..9eab5d9706 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f17d568db0c791191fd171ff60a7f1f9dda733610a8cdc4fc13128625b45507 -size 43984 +oid sha256:fd10a9612c96f01d7891688a032042d07ec7f755f1419ef8f02a01071298b735 +size 44074 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_2_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_2_de.png index 019cc7168b..8873150759 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_2_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1df92fa426acbbdfecb208e03cd98e0e699816cb7e9f4780479710dd0ac9a866 -size 45077 +oid sha256:2b62615d67cd22c9b9952f159b5f16a297243ce11d9003783f3862e90e28b2ab +size 45165 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_3_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_3_de.png index 28b88db2ae..91f033d4ba 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_3_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d43f43946824fa36994303c527ed6ac4396b1d3c71d3562ec456a7daecd6fec2 -size 42816 +oid sha256:a0acf61d5fbd491684ba6604c246683e1ceeaaf2aa57681c3cddc864a8563d29 +size 42935 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_4_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_4_de.png index a731314fc9..8abbe6d48b 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_4_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c6a6d1abea617ec460b96d70a2fb197926714a3b120cc7217e15031232438078 -size 48442 +oid sha256:ee1ddc1780182b20d7108bd7b4d442fc7fc5fca34a9da1ba81ac97192b4e908d +size 48530 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_5_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_5_de.png index 5f85ce08f7..faa1f6d60e 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_5_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:725c2b15c127b3b7e455f07de17d582d2b7aa04cfcb13cea1b56f6f6ab2ecdaa -size 45783 +oid sha256:93e8c7af9cb42051e1ba144585c7b3956273b1036c326558f8a909d535776efd +size 45842 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_6_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_6_de.png index 5f85ce08f7..faa1f6d60e 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_6_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:725c2b15c127b3b7e455f07de17d582d2b7aa04cfcb13cea1b56f6f6ab2ecdaa -size 45783 +oid sha256:93e8c7af9cb42051e1ba144585c7b3956273b1036c326558f8a909d535776efd +size 45842 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_7_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_7_de.png index 84fcc21085..c9c738939a 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_7_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:633389d3bd3878fb2aa7e75359967fb72b168a769ee99bdf2581661915fad981 -size 49103 +oid sha256:2bbca1fc91c21574c889462cfaaf76a0ad733ced4cce27109dee35e51a6dc0d0 +size 49307 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_8_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_8_de.png index 066b9b403b..f02bdd41fd 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_8_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f47f49ff6c3aa8ba703b2ffdd6bc08d3c389f8bd79abb276a437571f78f08ee0 -size 47984 +oid sha256:7934d076dba037836b08f1d36c3c7128792df4e48dc07ff06011b85d8a8c1863 +size 48070 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_9_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_9_de.png index c0c98b9a73..10685abc50 100644 --- a/screenshots/de/features.roomdetails.impl_RoomDetails_9_de.png +++ b/screenshots/de/features.roomdetails.impl_RoomDetails_9_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6542cfb73e64d5022a089872f80793e34244c530609d5c408872f249f53f8337 -size 46926 +oid sha256:baa83523347d5478834b78ce1af89cbd45de41bd98ede3cc6c29e3db4dd5a6d7 +size 47012 diff --git a/screenshots/de/features.roomdirectory.impl.root_RoomDirectoryView_Day_1_de.png b/screenshots/de/features.roomdirectory.impl.root_RoomDirectoryView_Day_1_de.png index f4d898edff..d822e4ec92 100644 --- a/screenshots/de/features.roomdirectory.impl.root_RoomDirectoryView_Day_1_de.png +++ b/screenshots/de/features.roomdirectory.impl.root_RoomDirectoryView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:af5454e3284e094aaeab22bffa96771beb2ed43a7a5d9c0d02c753d4f4bb3dcc -size 28289 +oid sha256:aadaa202e7772a2ca09381dfbbb1acab6e06aa7c458582897b0da38ee9319071 +size 28398 diff --git a/screenshots/de/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_de.png b/screenshots/de/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_de.png index 9a84d1dc7d..9c6890ec9b 100644 --- a/screenshots/de/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_de.png +++ b/screenshots/de/features.roomdirectory.impl.root_RoomDirectoryView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a4b8f7335cfc37f3193cef92cd7b2c414ba83cb698a9080d0e0793039cb36aa -size 29872 +oid sha256:ae00f91aac22d5e7dba2cffd2f5a6b14e6c3f43bc7dac1735abfec0da18731ff +size 30018 diff --git a/screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_de.png b/screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_de.png index edf94901c7..a0884f8eb1 100644 --- a/screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_de.png +++ b/screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6d5fc76f0f68365a273a42b6db571e615fea04ff438a4b79c62a6776c6d9ec62 -size 38061 +oid sha256:babba9ba21126c58bc531cffb980c668f8d916b1bcef48d1a677d25a2ff8c7c3 +size 37232 diff --git a/screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_de.png b/screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_de.png index eb940c0bc3..a9c242d889 100644 --- a/screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_de.png +++ b/screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e3b7521aa350412c23cd08237e8a919bf00f5496e1d105669df561491016927d -size 37753 +oid sha256:3952863400d28d54b5f1ec8b2b0b853fe091b7ead675a86a35e7f4d26649d3dc +size 36960 diff --git a/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_0_de.png b/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_0_de.png index 0bb97a8ca1..cd2d0b6d57 100644 --- a/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_0_de.png +++ b/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e4892d99758f54f2068d88ae1127dba04279e45cb7d37cb763102778342e5644 -size 43388 +oid sha256:30bbe117cc58dee08e9a0ac2d4d09cea886043be685d98827520d24ffd5b7ec2 +size 43320 diff --git a/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png b/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png index 7f02a36973..e82583651d 100644 --- a/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png +++ b/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ca791ab27e69f4a84eecfe420aba93fd7aedbcca93914e8aceb8781dd0409981 -size 82377 +oid sha256:14d0bc95b4fe349e272c1e89ba7e4a13108cbc41d4e62162ad1c990a69766884 +size 82369 diff --git a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_29_de.png b/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_29_de.png index 8afde4ac90..898c652e4a 100644 --- a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_29_de.png +++ b/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_29_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad87fa6f2569c062f850a4d9baded2611a62863234d14f8d55f788565f4a69e0 -size 24913 +oid sha256:d2629ce71a269ef8c8d2dea7d5a29928e4a8d4b1613bf5329e56456a47b5f334 +size 24855 diff --git a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_2_de.png b/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_2_de.png index a90c2f6ccb..e88acc2020 100644 --- a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_2_de.png +++ b/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d632938127f7f86ee33beee4536f3af2426d2a8a9d34b8c1b052c0ccb5e5dd30 -size 13261 +oid sha256:6d91c3e72dde59161788561644b9d84d218d85b250fa144dac3a3928d5006abb +size 13042 diff --git a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_30_de.png b/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_30_de.png index e11b50f599..477e4e55d6 100644 --- a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_30_de.png +++ b/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_30_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8047e54fce6fead740d55b68fe3e7196456a662c9cec7c535188d5934db6fc14 -size 16432 +oid sha256:f96f4a398a7756ab0df76251c4dbfdd7e10ceb558953a8bff4713522f0f069d8 +size 16265 diff --git a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_31_de.png b/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_31_de.png index e97fb12608..df774b3e89 100644 --- a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_31_de.png +++ b/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_31_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d2e42363661590d5cfcc6c22c2411a978c54936a615c892adf2a97901f427276 -size 23767 +oid sha256:09bdb0dd2ee913da7818d80bfa994c185bf2565e590d7be19a677bd04b78b3f2 +size 23679 diff --git a/screenshots/de/features.roomlist.impl.search_RoomListSearchContent_Day_2_de.png b/screenshots/de/features.roomlist.impl.search_RoomListSearchContent_Day_2_de.png index 8730001b88..ae2c40d715 100644 --- a/screenshots/de/features.roomlist.impl.search_RoomListSearchContent_Day_2_de.png +++ b/screenshots/de/features.roomlist.impl.search_RoomListSearchContent_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:753bb5fce99d8bfb7a48f4a588f72542876dc4b91aa412601a53e92c0c1945a2 -size 45580 +oid sha256:bd6eae197cc27ab53c139b5a467c8035571c5f5cf18f7fda4c77481877918cdf +size 45517 diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_0_de.png b/screenshots/de/features.roomlist.impl_RoomListView_Day_0_de.png index 1c21047f3e..9fa4a5cc19 100644 --- a/screenshots/de/features.roomlist.impl_RoomListView_Day_0_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3d70a66e47a821c047c3f2a90ad89c82030f8adb0955473c8ea6d0aa7f21c8a1 -size 81946 +oid sha256:8abae4ac440b98591510e18b54b0d666df9e44ff308572a7766fef34b449346b +size 80799 diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png b/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png index 0405427877..b8bdbb4895 100644 --- a/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:04d51057429c916bda03e771ca7da818fe32f9766257eb4813fcba924e5dd5d4 -size 103878 +oid sha256:1f3aa0bbf81efea63b57bd5a69c599f469af1fc0fe7d72fd59ff0ff1c333808f +size 102594 diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_1_de.png b/screenshots/de/features.roomlist.impl_RoomListView_Day_1_de.png index 1c21047f3e..9fa4a5cc19 100644 --- a/screenshots/de/features.roomlist.impl_RoomListView_Day_1_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3d70a66e47a821c047c3f2a90ad89c82030f8adb0955473c8ea6d0aa7f21c8a1 -size 81946 +oid sha256:8abae4ac440b98591510e18b54b0d666df9e44ff308572a7766fef34b449346b +size 80799 diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_2_de.png b/screenshots/de/features.roomlist.impl_RoomListView_Day_2_de.png index cba60e3f68..dbad7c38f5 100644 --- a/screenshots/de/features.roomlist.impl_RoomListView_Day_2_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d4b26596fcdbbdd32d379f18650d826773a351c39e0fedf4abcc2a36a03f9207 -size 81964 +oid sha256:c73a78f653f1f3a11e89e4f04f10865bac61c5596ab3dae9015ca553da986c0c +size 80766 diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_3_de.png b/screenshots/de/features.roomlist.impl_RoomListView_Day_3_de.png index 0891b89914..b29d5313f2 100644 --- a/screenshots/de/features.roomlist.impl_RoomListView_Day_3_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6a438cf39d0132430a76ed852a4c3a4013c955c86a4a8cda387928d560f2c629 -size 24411 +oid sha256:fd7900ca25592817d14922e41cbc41bb8c9829a40b66d8143f876f7b09b03332 +size 24434 diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_4_de.png b/screenshots/de/features.roomlist.impl_RoomListView_Day_4_de.png index 7e24689018..66add2869c 100644 --- a/screenshots/de/features.roomlist.impl_RoomListView_Day_4_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f4f52e67c86ad0d6e2e0b7e2f6bc45460700c46ae86d4a4d7d31e06fe0cbcfdc -size 23754 +oid sha256:82122455d7d89935d578cab812a2701e2841810f96da2e0cf80a6e6b452eb13f +size 23779 diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_5_de.png b/screenshots/de/features.roomlist.impl_RoomListView_Day_5_de.png index 7a9ab1374b..9586853fe4 100644 --- a/screenshots/de/features.roomlist.impl_RoomListView_Day_5_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6fc214b314c23cf5a2437ddcb7fddca5657a4a575e65b95a092f12bd40ef4fd5 -size 21666 +oid sha256:274e43b267c0ccb2d135ee83faf5a09c286b631487cc17b821209bb49b9723a7 +size 21686 diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_6_de.png b/screenshots/de/features.roomlist.impl_RoomListView_Day_6_de.png index a485b1fcb6..a3278452a3 100644 --- a/screenshots/de/features.roomlist.impl_RoomListView_Day_6_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f27f9e5960390f3940a1423e7e22494742c3aad535bb1b3453c1d9eae9f7dd5f -size 104133 +oid sha256:91866c59294fe10cf0c4839f00d3386fe5d98dd1077406891aa07dd1d52bcd07 +size 102809 diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_7_de.png b/screenshots/de/features.roomlist.impl_RoomListView_Day_7_de.png index dfaf8f3f05..c66bf0bf25 100644 --- a/screenshots/de/features.roomlist.impl_RoomListView_Day_7_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:59a04c47062b44cf927e1e113913a0e88e04985759dec0887e89e123d3e541e1 -size 50949 +oid sha256:66c17536588f2fbccf1f452ae9441e3da338006ab2c9cf6679cb0ff28ef4bea5 +size 49677 diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png index e64607ce87..752b53b391 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fa5a407d658c99463e30074041a643d6e826427b5171061e345af5419f9bbbf -size 72612 +oid sha256:8e5e4cb8d451ef06ee5dedf7f9dc3f82c301633f2dcd63ed261634e98a75a08e +size 72639 diff --git a/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_1_de.png b/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_1_de.png index 6dcc14a267..e40f1b9f72 100644 --- a/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a4c698abc6f2b6f6644f322e5e59f8ea3dde8133c9f5a0998a5dbeacc21c97e -size 15633 +oid sha256:80e6bc5470d919c7bc209857e9dda95ecd3a4492e7ef5348077a7d56e6863205 +size 15660 diff --git a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_de.png b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_de.png index 1aafb3efc5..b184e2041e 100644 --- a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e5e8ff2d563c362e13fc34bb10499fc3e8d57d9b5e8c8d7d03f048266d952294 -size 54845 +oid sha256:61bdcd93ddba3f8242723007ee30f101a062014c9a3931da153e3ee6b0df142d +size 54786 diff --git a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_de.png b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_de.png index 3a991a3c5f..ee1c62842c 100644 --- a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_de.png +++ b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8e44020c5e575340c7ac3b7e1a2360a5b6fe43ea4fe5eb5419bb4c5064ed5e5 -size 53317 +oid sha256:d0f526d22945f308a0a0546f48105a4f8971e4edf63eb44454ecd6cd1ddc262d +size 53236 diff --git a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_de.png b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_de.png index f3b19f85ce..9336e04a1f 100644 --- a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_de.png +++ b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d44d341217f60e13a49775483025bbe18f39ea1d5dd6ce2cbfc62758847acbbd -size 45656 +oid sha256:68941e1c7e1896097eb6aa6d60cd7f8cd611c8de33f080b3f98bcd565523ed7b +size 45653 diff --git a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_de.png b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_de.png index 917a84f862..0822e4bbd6 100644 --- a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_de.png +++ b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ce2351412f17348c5fbc94c1e77fc6f70e6aa6fe118041ff29692f1f19f815f -size 27939 +oid sha256:777b67a35ddb011ec864d491aba32b4a023a152ecda87cabd5889ed0a5fd2d3f +size 27937 diff --git a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_de.png b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_de.png index 0218d8dc9a..b1ed5e4ac1 100644 --- a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4c7f50bd4bb194c26fdb8fca8b3f733255d30804a035e4b1269e31494419744 -size 26944 +oid sha256:42484f29bd0f29f2a6ac499ea50d6759abbb54bbdda98a68b27906b356814b96 +size 27039 diff --git a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_de.png b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_de.png index 0218d8dc9a..b1ed5e4ac1 100644 --- a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_de.png +++ b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a4c7f50bd4bb194c26fdb8fca8b3f733255d30804a035e4b1269e31494419744 -size 26944 +oid sha256:42484f29bd0f29f2a6ac499ea50d6759abbb54bbdda98a68b27906b356814b96 +size 27039 diff --git a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png index a8bc71740a..544073af6f 100644 --- a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png +++ b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f6d57c36c609cd6d810368df13f7bfb15b7366ffdbe17dfb4c6be64b8bd33b8 -size 41658 +oid sha256:abafc8d2b422829d5e5f72849c2cc9b3446f9adf49eed8bde38a51d8c7fd217f +size 41664 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_0_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_0_de.png index d85d762ff0..a45558fb83 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_0_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a34f01e8674105b74346c31436f466cf743b8b02cccf4ab1b3e9269c6b7149ae -size 45646 +oid sha256:52a9bec3dacf4ab4c6263e1b7f232d5e9736aa42fc1e449d94118342ec5c7a5d +size 45732 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_5_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_5_de.png index d85d762ff0..a45558fb83 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_5_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a34f01e8674105b74346c31436f466cf743b8b02cccf4ab1b3e9269c6b7149ae -size 45646 +oid sha256:52a9bec3dacf4ab4c6263e1b7f232d5e9736aa42fc1e449d94118342ec5c7a5d +size 45732 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_6_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_6_de.png index 6145958fa1..5632f77cc9 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_6_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:449ffaa43f1c6e27cedc7963eb55898b0d414777e9d773803df3a7d1adbe3a76 -size 29016 +oid sha256:1339a9e8b240506fea6011c0b81be79a840de43fbeb66f68a6733d8b10796249 +size 29110 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_7_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_7_de.png index d85d762ff0..a45558fb83 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_7_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a34f01e8674105b74346c31436f466cf743b8b02cccf4ab1b3e9269c6b7149ae -size 45646 +oid sha256:52a9bec3dacf4ab4c6263e1b7f232d5e9736aa42fc1e449d94118342ec5c7a5d +size 45732 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_8_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_8_de.png index e2a234d267..1a2924b84c 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_8_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:415dc20b52a159ac9160f20b60bac99d510a9747dad42d7b4115907bdf764ce4 -size 37237 +oid sha256:c74021a7a9eecb4dcdb9e917c2dfd6ec12cf68b259638a0b89a935db056941c1 +size 37331 diff --git a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_de.png b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_de.png index 1ad5b9778d..7ace443442 100644 --- a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_de.png +++ b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:34d5888174890f723b4333febe4000eb669a43c8b1366701458c7b3ef45167c6 -size 29851 +oid sha256:124bf4736ee49b3d2210c8c8e31256f8d13d423655f2239a5b8584f0fc6981bb +size 29786 diff --git a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_de.png b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_de.png index 4d408d0b5b..d6d966bd8f 100644 --- a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_de.png +++ b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:60f0ada355a0b18515f70b4ee89a76595618d362f0e0a44191b18c7b432f23f3 -size 28341 +oid sha256:86a3acc49761cf4fd008bcf17bde919d2d9ed1e7a7228cb7638543f3562c72de +size 28252 diff --git a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_de.png b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_de.png index 1ad5b9778d..7ace443442 100644 --- a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_de.png +++ b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:34d5888174890f723b4333febe4000eb669a43c8b1366701458c7b3ef45167c6 -size 29851 +oid sha256:124bf4736ee49b3d2210c8c8e31256f8d13d423655f2239a5b8584f0fc6981bb +size 29786 diff --git a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_de.png b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_de.png index e64bc2c46d..4f64df1ea0 100644 --- a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_de.png +++ b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:003c5748277db3d2bfae60828bd9e3356d0e115de369b6fd4c908c55456f1504 -size 25440 +oid sha256:e11301b9e87e2c4d3736f798be0f72d21072fe69fca663c6cfe5f5ad98b96fc4 +size 25364 diff --git a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_de.png b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_de.png index 21e7d3a726..9503d4062a 100644 --- a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4e3c138f7de0319b0b87d9e81c907e8d3bb7807607545bd4858470ac36d46ae5 -size 24887 +oid sha256:6e21b399b7785db3706c530235cc17ae29277e4c6126214bd548595165b30d99 +size 24905 diff --git a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_de.png b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_de.png index 21e7d3a726..9503d4062a 100644 --- a/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_de.png +++ b/screenshots/de/features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4e3c138f7de0319b0b87d9e81c907e8d3bb7807607545bd4858470ac36d46ae5 -size 24887 +oid sha256:6e21b399b7785db3706c530235cc17ae29277e4c6126214bd548595165b30d99 +size 24905 diff --git a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_de.png b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_de.png index e8ad99d3e7..cef739ec20 100644 --- a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_de.png +++ b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:00d9efc5a7d480d2a3b2fa7b85fd34439257531663b865df8405284e0c30000f -size 65500 +oid sha256:01c201e2ed0c8092feab40974eeeeb9e831d737ae91342d61379fd04c73cf27e +size 65503 diff --git a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_de.png b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_de.png index 138aa37531..e089859793 100644 --- a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f71ce4d9a21d8238f4a7ffcd5a7a72a473ed21a4200676bc0f5cf7a7dd8f676a -size 61967 +oid sha256:22a66fa85cd11954aff5cb75de978bdab90d77c8121ffe5442930e64c231b238 +size 61989 diff --git a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_de.png b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_de.png index 2b16501026..51ddc2ff5e 100644 --- a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_de.png +++ b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fa478fe8903c4fb38c13de607c2a32031d4cbbb8ca3fdb7a5c765393dcdfe8b -size 64909 +oid sha256:7fb699eff9872c43aa9efc34fdcc0c4378d9c779e8361439dd59dab6d95f46a6 +size 64923 diff --git a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_de.png b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_de.png index 2b16501026..51ddc2ff5e 100644 --- a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_de.png +++ b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fa478fe8903c4fb38c13de607c2a32031d4cbbb8ca3fdb7a5c765393dcdfe8b -size 64909 +oid sha256:7fb699eff9872c43aa9efc34fdcc0c4378d9c779e8361439dd59dab6d95f46a6 +size 64923 diff --git a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_de.png b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_de.png index de8f0e1c4a..354e66d19e 100644 --- a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_de.png +++ b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5efed0ea59e01626b290f3b65c471b6c688c48320455e51d669e23bca7b6d439 -size 54851 +oid sha256:c47f0e69c83da8001c88ae9a9481cbfd0e9a68b8d0d9ebdb8135bd3b0e77d4ac +size 54824 diff --git a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_0_de.png b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_0_de.png index f9d8ed19c5..fc16d9b45e 100644 --- a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_0_de.png +++ b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a2632179d9ad720d85f62fc1cf55b0deca7632e18beb47583ed4d3c23ffec43 -size 70464 +oid sha256:2a56b2279335e9235500def14bda16add03491cb1891d886b6bf21816f19a0a1 +size 70476 diff --git a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_de.png b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_de.png index 517916e2ae..f65d4a35a5 100644 --- a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8d4c6cd7978eb5766e6dac461e818b9e726d7f8abc2b7acf3708fb4560de7245 -size 67128 +oid sha256:65badf36cefdecf854a8954ac49257e141b8af6e47186d9ad060c8959869356b +size 67172 diff --git a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_2_de.png b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_2_de.png index 2b16501026..51ddc2ff5e 100644 --- a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_2_de.png +++ b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fa478fe8903c4fb38c13de607c2a32031d4cbbb8ca3fdb7a5c765393dcdfe8b -size 64909 +oid sha256:7fb699eff9872c43aa9efc34fdcc0c4378d9c779e8361439dd59dab6d95f46a6 +size 64923 diff --git a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_3_de.png b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_3_de.png index 2b16501026..51ddc2ff5e 100644 --- a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_3_de.png +++ b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fa478fe8903c4fb38c13de607c2a32031d4cbbb8ca3fdb7a5c765393dcdfe8b -size 64909 +oid sha256:7fb699eff9872c43aa9efc34fdcc0c4378d9c779e8361439dd59dab6d95f46a6 +size 64923 diff --git a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_4_de.png b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_4_de.png index de8f0e1c4a..354e66d19e 100644 --- a/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_4_de.png +++ b/screenshots/de/features.securebackup.impl.setup_SecureBackupSetupView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5efed0ea59e01626b290f3b65c471b6c688c48320455e51d669e23bca7b6d439 -size 54851 +oid sha256:c47f0e69c83da8001c88ae9a9481cbfd0e9a68b8d0d9ebdb8135bd3b0e77d4ac +size 54824 diff --git a/screenshots/de/features.signedout.impl_SignedOutView_Day_0_de.png b/screenshots/de/features.signedout.impl_SignedOutView_Day_0_de.png index e5b1eaf8af..dd7f544e49 100644 --- a/screenshots/de/features.signedout.impl_SignedOutView_Day_0_de.png +++ b/screenshots/de/features.signedout.impl_SignedOutView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e76e28fd849c6d1e484c4ac7cf845c7deefc42fbdb2e52c155e07de42c58da49 -size 63197 +oid sha256:43607cf5bf2040bc2fd93e5bbc971f60abc8dc918d395c34643532b84470c47f +size 63205 diff --git a/screenshots/de/features.userprofile.shared_UserProfileView_Day_0_de.png b/screenshots/de/features.userprofile.shared_UserProfileView_Day_0_de.png index 4922cd0dce..f4a82c4a59 100644 --- a/screenshots/de/features.userprofile.shared_UserProfileView_Day_0_de.png +++ b/screenshots/de/features.userprofile.shared_UserProfileView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b47212f7091cad82b08c895973878350e6811abbef213a15cf8212f63bee6383 -size 22063 +oid sha256:a500962d55266adf1ea198fefc36f0848869fb543ce92445e5b5ffa2f8e737de +size 22367 diff --git a/screenshots/de/features.userprofile.shared_UserProfileView_Day_1_de.png b/screenshots/de/features.userprofile.shared_UserProfileView_Day_1_de.png index f8778b2b5f..3854d5560e 100644 --- a/screenshots/de/features.userprofile.shared_UserProfileView_Day_1_de.png +++ b/screenshots/de/features.userprofile.shared_UserProfileView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1b7852461279a2f92f42617050f6e024bba153a231c762c09165886fbfb4ff1a -size 19789 +oid sha256:ac438a2011b4a419a5b8d4108507f467cddc0aded4b0c35bbde83b40ff0acffd +size 20129 diff --git a/screenshots/de/features.userprofile.shared_UserProfileView_Day_2_de.png b/screenshots/de/features.userprofile.shared_UserProfileView_Day_2_de.png index 889c1c18a9..300f2a8ce3 100644 --- a/screenshots/de/features.userprofile.shared_UserProfileView_Day_2_de.png +++ b/screenshots/de/features.userprofile.shared_UserProfileView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3fd20e8a91b2c1d779c5a92ea7fc7ad74ea90810473abf1cef55ae234eee27dc -size 22448 +oid sha256:d9fe4655bd28cd0c5a81614224bbbfa9713421bea5855389bd221a68ee97ff72 +size 22728 diff --git a/screenshots/de/features.userprofile.shared_UserProfileView_Day_3_de.png b/screenshots/de/features.userprofile.shared_UserProfileView_Day_3_de.png index b1537a1f54..8fd64bc15d 100644 --- a/screenshots/de/features.userprofile.shared_UserProfileView_Day_3_de.png +++ b/screenshots/de/features.userprofile.shared_UserProfileView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df7d6d3c849a9246115a32d91b38e98802ede42c7fb0639c665f7c30cace2a29 -size 40767 +oid sha256:b8cc5f9592c6a8d78a490c7b57cacd88c977ebbe717b8b72536c7c4c5267d081 +size 41055 diff --git a/screenshots/de/features.userprofile.shared_UserProfileView_Day_4_de.png b/screenshots/de/features.userprofile.shared_UserProfileView_Day_4_de.png index b7790a8efd..dc15ec1795 100644 --- a/screenshots/de/features.userprofile.shared_UserProfileView_Day_4_de.png +++ b/screenshots/de/features.userprofile.shared_UserProfileView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b47823b7d25c223d07b814d75ecc27abc9fe86b4165cb8e5c9286b91a09b27d0 -size 34922 +oid sha256:e5963a50a03f4e0aa48445a21d59896b1c83c7c1dfbcce2e29aca0af457f6dff +size 35214 diff --git a/screenshots/de/features.userprofile.shared_UserProfileView_Day_5_de.png b/screenshots/de/features.userprofile.shared_UserProfileView_Day_5_de.png index b15f376b95..63372f6e02 100644 --- a/screenshots/de/features.userprofile.shared_UserProfileView_Day_5_de.png +++ b/screenshots/de/features.userprofile.shared_UserProfileView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:632eb318c56cf3854ff8eaf030b2b3d5660b0c485337ea6ffe4fe00c6e68ad72 -size 22957 +oid sha256:c9c31c26897606c0668ed64472c7e5aac1ba47625e44047494dcd607527f41a0 +size 23263 diff --git a/screenshots/de/features.userprofile.shared_UserProfileView_Day_6_de.png b/screenshots/de/features.userprofile.shared_UserProfileView_Day_6_de.png index 56a0a438ca..e926cc035b 100644 --- a/screenshots/de/features.userprofile.shared_UserProfileView_Day_6_de.png +++ b/screenshots/de/features.userprofile.shared_UserProfileView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e5f2e969681cb64272bdc7d75617274d7faf58bbb5e1e50709e070dbccf36fbe -size 22240 +oid sha256:07e48a6e120a6b15d4132668106d5d3aac56891123d34e2f7c42500eee715d86 +size 22611 diff --git a/screenshots/de/features.userprofile.shared_UserProfileView_Day_7_de.png b/screenshots/de/features.userprofile.shared_UserProfileView_Day_7_de.png index f434835da5..b1ae02fb45 100644 --- a/screenshots/de/features.userprofile.shared_UserProfileView_Day_7_de.png +++ b/screenshots/de/features.userprofile.shared_UserProfileView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d24df97d7a01dbdb981a74b322de36e278f8d071f56eaa7cfbb60d857f13b3d8 -size 23100 +oid sha256:2ece7152c314d2eb2c9de8ff1fcf1ed08a62ff5faadc62ec8449ba0961552724 +size 23370 diff --git a/screenshots/de/features.userprofile.shared_UserProfileView_Day_8_de.png b/screenshots/de/features.userprofile.shared_UserProfileView_Day_8_de.png index 4922cd0dce..f4a82c4a59 100644 --- a/screenshots/de/features.userprofile.shared_UserProfileView_Day_8_de.png +++ b/screenshots/de/features.userprofile.shared_UserProfileView_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b47212f7091cad82b08c895973878350e6811abbef213a15cf8212f63bee6383 -size 22063 +oid sha256:a500962d55266adf1ea198fefc36f0848869fb543ce92445e5b5ffa2f8e737de +size 22367 diff --git a/screenshots/de/features.verifysession.impl.emoji_SasEmojis_Day_0_de.png b/screenshots/de/features.verifysession.impl.emoji_SasEmojis_Day_0_de.png index c7e0049ce4..57903a1f0b 100644 --- a/screenshots/de/features.verifysession.impl.emoji_SasEmojis_Day_0_de.png +++ b/screenshots/de/features.verifysession.impl.emoji_SasEmojis_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:668e74c98da90306bb2e5ed64b085d90a22e1dc53f927f654827290ab350af58 -size 139936 +oid sha256:25a82fddd01cee5c5d7825df63f257dbad35d73d2540e485c9939533f4b87abe +size 140122 diff --git a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_0_de.png b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_0_de.png index 9f8451840d..65792e758e 100644 --- a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_0_de.png +++ b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c2335f94957bf3990e87a3466b8483ef77172477cab8901be7bf6db23ab78543 -size 39336 +oid sha256:bac992076d0de0c1ac6352e625329b4754fafb8c2e730cbf31fcbffc2861cd54 +size 39339 diff --git a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_10_de.png b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_10_de.png index 8d6de5cde2..0677d814ee 100644 --- a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_10_de.png +++ b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e52a85508dbea8b5a54cab3f5d766c2b0a6619c06abb051d9385c45f4a4ddbfa -size 38462 +oid sha256:2ddd2dcc134f5f205ebca8e9fa28b73bf1daa3773925ec28df660251659cf1a2 +size 38515 diff --git a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_1_de.png b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_1_de.png index bc9544615d..5890e81fc4 100644 --- a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_1_de.png +++ b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e5f7ca215102143db527bedfac670a4e7b8b276080238d5bbd52759fa21053d2 -size 27667 +oid sha256:0b260f30cd2fc29f351c09537cb8c448673ad0f084625000bbfc683cb1694e5a +size 27696 diff --git a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_3_de.png b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_3_de.png index a1b3bd4849..a82d9383d0 100644 --- a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_3_de.png +++ b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dc1f7b4b6eeba7f4be2624b8a047a26236b1d05f2f2f65a14a841e5815134c48 -size 55145 +oid sha256:fd739501ed66685e1507cf2e5858496e5ab9df61fc710c6bb84ea29659ca3f7d +size 55165 diff --git a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_7_de.png b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_7_de.png index 9f8451840d..65792e758e 100644 --- a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_7_de.png +++ b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c2335f94957bf3990e87a3466b8483ef77172477cab8901be7bf6db23ab78543 -size 39336 +oid sha256:bac992076d0de0c1ac6352e625329b4754fafb8c2e730cbf31fcbffc2861cd54 +size 39339 diff --git a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_8_de.png b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_8_de.png index 1855a5c4c3..60b7b062e0 100644 --- a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_8_de.png +++ b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2abeedc500889e25021adae22a4089b2fdaddd1c0498b8befaec38044c943e60 -size 32341 +oid sha256:73ec792440a6e773c87dd51813fdc110aaae195ed1730f2335589d6b0908de6e +size 32344 diff --git a/screenshots/de/libraries.designsystem.components_ProgressDialogContent_Dialogs_de.png b/screenshots/de/libraries.designsystem.components_ProgressDialogContent_Dialogs_de.png index f4fbc9e878..daddcf6fb1 100644 --- a/screenshots/de/libraries.designsystem.components_ProgressDialogContent_Dialogs_de.png +++ b/screenshots/de/libraries.designsystem.components_ProgressDialogContent_Dialogs_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d4293a5789a584f4e694ad88e1dcabe6e3c1cd8b05da4c97a68cbeee2fd95bd0 -size 20564 +oid sha256:ebb99f5d5c123439a7df746b4150ceeb449a7a8ea3b5e769902bcc995b9b9e33 +size 20663 diff --git a/screenshots/de/libraries.designsystem.components_ProgressDialog_Day_0_de.png b/screenshots/de/libraries.designsystem.components_ProgressDialog_Day_0_de.png index a9cf984a6e..27a0ff9565 100644 --- a/screenshots/de/libraries.designsystem.components_ProgressDialog_Day_0_de.png +++ b/screenshots/de/libraries.designsystem.components_ProgressDialog_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:afbf1e0dcbfa022468c890b133735905eb5a5923a06c6b7705829b9fa693bb16 -size 12830 +oid sha256:547c3576d4767b127372e4700985bd35bfd9e8632e96823a2ec4903658a12e82 +size 12921 diff --git a/screenshots/de/libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_de.png b/screenshots/de/libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_de.png index e23e314229..4930ce3e1a 100644 --- a/screenshots/de/libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_de.png +++ b/screenshots/de/libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:44d3a5cbfe1dcb242c3e21c2d9f94e7aa452493463d87802793e5727407b01ba -size 30921 +oid sha256:ed48dc7ebaf8ddc04802a6c11fa90a467295a09ce1b2643ef2d69a65db4761d6 +size 31092 diff --git a/screenshots/de/libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_de.png b/screenshots/de/libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_de.png index 974bc977d8..1631785ce9 100644 --- a/screenshots/de/libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_de.png +++ b/screenshots/de/libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:66ee6fee18e5d2d450a7fd6e06bf9681e0705f240f8af9478c889484feb730ca -size 31400 +oid sha256:b6c6c892f8099020766205760409a3698e28b6b1941bea45c7cd442dcb8b451c +size 31576 diff --git a/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_de.png b/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_de.png index e800ef20ca..b076d47f0b 100644 --- a/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_de.png +++ b/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3ca6913e2837238a49e24410437e20f1e0e01734d6b6511e9c4b532f165ad4f7 -size 37248 +oid sha256:c3fed1d9178d29f0e6af94d98753e8b07333e73cb363770427f604119dca64a3 +size 36434 diff --git a/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_de.png b/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_de.png index b1a9fb0d82..89ff0cb67f 100644 --- a/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_de.png +++ b/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:50bbb8b6ac4bcfc9dfe03d6ecbe2ffcb3a69a50f19f5d3fe2354313aba943004 -size 24943 +oid sha256:995c11981fea3d0d2130fc6a7550c9b19d7a8ce1c340e56c52aefe2083f46d62 +size 26227 diff --git a/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_de.png b/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_de.png index 6f4dee2905..3a1ab5b73a 100644 --- a/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_de.png +++ b/screenshots/de/libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:78aaa686889f97ffd81645e8dc55292c17fbc7d8b335eeac40843649772c8ccc -size 26079 +oid sha256:dab78f38ab66795b8a7f9c442916065fcc33534ca1e41d562c1cd889e71f5604 +size 25642 diff --git a/screenshots/de/libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_de.png b/screenshots/de/libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_de.png index f84599f0ba..556f994c0d 100644 --- a/screenshots/de/libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_de.png +++ b/screenshots/de/libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:317836f450db1268c9f988fd4c09f2150d21fb40718b755bb9c98f9d4b355992 -size 14216 +oid sha256:af72fa2028644925aa440a8b902ba8c941cf2a7512efae8b8dccc3e9d4203ab9 +size 14232 diff --git a/screenshots/de/libraries.matrix.ui.components_CheckableUnresolvedUserRow_de.png b/screenshots/de/libraries.matrix.ui.components_CheckableUnresolvedUserRow_de.png index 808babacda..d2dd6c6e28 100644 --- a/screenshots/de/libraries.matrix.ui.components_CheckableUnresolvedUserRow_de.png +++ b/screenshots/de/libraries.matrix.ui.components_CheckableUnresolvedUserRow_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8c7d0470d0c97a10896d16dbd50d36c5d28bd2baddfe4526b1e9ca9c7fac9dd2 -size 114867 +oid sha256:f62e709042caae0694b3450ae4149d2c7b3d86b0d864ed780120c6dd483c6e35 +size 114385 diff --git a/screenshots/de/libraries.matrix.ui.components_InviteSenderView_Day_0_de.png b/screenshots/de/libraries.matrix.ui.components_InviteSenderView_Day_0_de.png index 2521820991..ef243d8e82 100644 --- a/screenshots/de/libraries.matrix.ui.components_InviteSenderView_Day_0_de.png +++ b/screenshots/de/libraries.matrix.ui.components_InviteSenderView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9318a43e3b90c430fc875948473c6cdf381f4ee8c4513a888f2670a6662057bc -size 11466 +oid sha256:71273b4829a3f355a6f07afe3d0be32701e3423640461226c1f7218948bf8f71 +size 11566 diff --git a/screenshots/de/libraries.matrix.ui.components_UnresolvedUserRow_de.png b/screenshots/de/libraries.matrix.ui.components_UnresolvedUserRow_de.png index 4aa6b6a807..d7cfcc0499 100644 --- a/screenshots/de/libraries.matrix.ui.components_UnresolvedUserRow_de.png +++ b/screenshots/de/libraries.matrix.ui.components_UnresolvedUserRow_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:04cce5104189c64af8a4ad9614bf5b4bac77d64c3e23d842ad1fa9059279ba49 -size 40434 +oid sha256:75584de6b160f72e6bddf7802eda77380cf4bec11f40af4034f512e98f6bb21c +size 40391 diff --git a/screenshots/de/libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Day_0_de.png b/screenshots/de/libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Day_0_de.png new file mode 100644 index 0000000000..3a28283d14 --- /dev/null +++ b/screenshots/de/libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Day_0_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ab402da45794a19a5da974462a6078576fec90a8be0a467084fafecadc34abb +size 16057 diff --git a/screenshots/de/libraries.permissions.api_PermissionsView_Day_0_de.png b/screenshots/de/libraries.permissions.api_PermissionsView_Day_0_de.png index 6040b9b6f9..ef3ffab7ea 100644 --- a/screenshots/de/libraries.permissions.api_PermissionsView_Day_0_de.png +++ b/screenshots/de/libraries.permissions.api_PermissionsView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d158ebd4842c8c55c92df144215bd208106ace3db1087df02a881546a91d785a -size 30278 +oid sha256:984b60fa18b83655774338a6afb34d4bdf5c7e86edac9297e538c272587ade53 +size 30285 diff --git a/screenshots/de/libraries.permissions.api_PermissionsView_Day_1_de.png b/screenshots/de/libraries.permissions.api_PermissionsView_Day_1_de.png index 071f089b0d..83be51ce60 100644 --- a/screenshots/de/libraries.permissions.api_PermissionsView_Day_1_de.png +++ b/screenshots/de/libraries.permissions.api_PermissionsView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:821d674889597a0d83e33d81f8d4a29aa82bbf9fcf024a7238e51de595bd2697 -size 28883 +oid sha256:51b5374e1de61305381509b5c744784740f2a922d74439189c0fbb00619c478d +size 28838 diff --git a/screenshots/de/libraries.permissions.api_PermissionsView_Day_2_de.png b/screenshots/de/libraries.permissions.api_PermissionsView_Day_2_de.png index 95dd5eaa7d..9ca7941737 100644 --- a/screenshots/de/libraries.permissions.api_PermissionsView_Day_2_de.png +++ b/screenshots/de/libraries.permissions.api_PermissionsView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:45857c745d62c7e2d44c69562af9c1fc5f7fee5f2c4f1e7ed6f476f50be31404 -size 29228 +oid sha256:a6422f197ed1cc06855b1e1b2488075788144994b0fc46426a08e3256ca9eb4c +size 29186 diff --git a/screenshots/de/libraries.permissions.api_PermissionsView_Day_3_de.png b/screenshots/de/libraries.permissions.api_PermissionsView_Day_3_de.png index 5a7f7b88d4..4b827bdd68 100644 --- a/screenshots/de/libraries.permissions.api_PermissionsView_Day_3_de.png +++ b/screenshots/de/libraries.permissions.api_PermissionsView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b45d6d507c685fbe3b90f84e0b8debfb6ccb4ad7a78e49c8d25afc394826d47b -size 22288 +oid sha256:89c9cf399a107d6c48efb8e91c9e7662271f5bb287f3c5732278360123909c29 +size 22242 diff --git a/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_2_de.png b/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_2_de.png index 0d060b3733..17f8efa098 100644 --- a/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_2_de.png +++ b/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ee9967d6ba14a3551abc922ff2d866ca1bc21ec701f2c2a8b34c92cff8a3e8e3 -size 31502 +oid sha256:734001ed5f51cf19e93ce11a3743aae64bd2fc3e71a7c532a852ce5f25479607 +size 31626 diff --git a/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_3_de.png b/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_3_de.png index a72e20a809..b1ea1f1b77 100644 --- a/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_3_de.png +++ b/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9a622e73791cf6d4377ca3c8200e443283789ce85768fda6fd7b644c56545623 -size 29683 +oid sha256:c8a729bb6bfc3967b857920b5dc38c5098f6b4b6fa67b04faafec8eb5848f180 +size 29744 diff --git a/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_4_de.png b/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_4_de.png index 40d5e5cd7d..ed3e5737e4 100644 --- a/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_4_de.png +++ b/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30cf6b8d816e47c9a286b3f73414cf43d0821cd1cae6927adde047b445b85bc3 -size 33832 +oid sha256:7a44adf2db5988cfb753338e317288ba2da2724cd6949b50740f7c473e23b392 +size 34102 diff --git a/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_5_de.png b/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_5_de.png index 9f9a4d518e..07faa99937 100644 --- a/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_5_de.png +++ b/screenshots/de/libraries.roomselect.impl_RoomSelectView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a0a98d8cddf30b1ec29e768e6694adc863b5484f256982d585b6d47f3dbee4f2 -size 29162 +oid sha256:46c38c8d4f190f3d6186fa8a02fab659ddbe84e30c450924546e640a5d46fb2d +size 29284 diff --git a/screenshots/de/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_de.png b/screenshots/de/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_de.png index 3d841aead8..8f7b3941de 100644 --- a/screenshots/de/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_de.png +++ b/screenshots/de/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fddbf5c42339cdf7314c8d0b857a16c7e37fb7dfc5f8b79092e8d9e6d648f2c0 -size 13175 +oid sha256:80945a11c7d0b46721c344a3409502b9ba88c0147231527fdfea57a05286c615 +size 13176 diff --git a/screenshots/de/libraries.textcomposer_TextComposerEdit_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerEdit_Day_0_de.png index 3d841aead8..8f7b3941de 100644 --- a/screenshots/de/libraries.textcomposer_TextComposerEdit_Day_0_de.png +++ b/screenshots/de/libraries.textcomposer_TextComposerEdit_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fddbf5c42339cdf7314c8d0b857a16c7e37fb7dfc5f8b79092e8d9e6d648f2c0 -size 13175 +oid sha256:80945a11c7d0b46721c344a3409502b9ba88c0147231527fdfea57a05286c615 +size 13176 diff --git a/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_de.png b/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_de.png index ff6deaecf9..2d0e6fc008 100644 --- a/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_de.png +++ b/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ef6e7f310ca86d6298f1642eb14994e7b4300264fa14a138084e7e2ffc040291 -size 20380 +oid sha256:2d025ba2a655c388f908453584015f28b21224e28c2fad3c7779c04308df0846 +size 20398 diff --git a/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_de.png b/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_de.png index 01b8d0a85d..42831b1f7e 100644 --- a/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_de.png +++ b/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:282c576a5d9e323b1cf489afe1c11e40beb326d0f281591c2414f0f88dd7b3bd -size 20797 +oid sha256:ff28a823d4aa78927e4a1f3647a2b9efd92aa9525a1e8ec7785735d93ddaa412 +size 20811 diff --git a/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_de.png b/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_de.png index 7f3f557ab1..851cfc4f4a 100644 --- a/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_de.png +++ b/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d882d2fbb1130f0537fdce5cc4e1e731384b5546faaf72fd1680c8e3bc879f52 -size 27888 +oid sha256:810b6f6c8d2cf36da8d3adf74bf1c351c92a79c40a27059a4cc5c4cc4657f64a +size 27908 diff --git a/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_de.png b/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_de.png index a15e4006c3..eb4b67d27a 100644 --- a/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_de.png +++ b/screenshots/de/libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9a7d95fc91ee05de240f4dd1c73abebc23f44079cc839ea1c461ce82472c621f -size 43958 +oid sha256:9fa3e1fa0be69164c385397a9217f7ca62f795623d763203b8a03cb0eb8415ce +size 43947 diff --git a/screenshots/html/data.js b/screenshots/html/data.js index 114aebbdaf..847512f5ba 100644 --- a/screenshots/html/data.js +++ b/screenshots/html/data.js @@ -1,46 +1,46 @@ // Generated file, do not edit export const screenshots = [ ["en","en-dark","de",], -["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",19989,], +["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",19993,], ["features.invite.impl.response_AcceptDeclineInviteView_Day_0_en","features.invite.impl.response_AcceptDeclineInviteView_Night_0_en",0,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_1_en","features.invite.impl.response_AcceptDeclineInviteView_Night_1_en",19989,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",19989,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",19989,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",19989,], -["features.logout.impl_AccountDeactivationView_Day_0_en","features.logout.impl_AccountDeactivationView_Night_0_en",19989,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_1_en","features.invite.impl.response_AcceptDeclineInviteView_Night_1_en",19993,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",19993,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",19993,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",19993,], +["features.logout.impl_AccountDeactivationView_Day_0_en","features.logout.impl_AccountDeactivationView_Night_0_en",19993,], ["features.logout.impl_AccountDeactivationView_Day_1_en","features.logout.impl_AccountDeactivationView_Night_1_en",0,], -["features.logout.impl_AccountDeactivationView_Day_2_en","features.logout.impl_AccountDeactivationView_Night_2_en",19989,], -["features.logout.impl_AccountDeactivationView_Day_3_en","features.logout.impl_AccountDeactivationView_Night_3_en",19989,], -["features.logout.impl_AccountDeactivationView_Day_4_en","features.logout.impl_AccountDeactivationView_Night_4_en",19989,], +["features.logout.impl_AccountDeactivationView_Day_2_en","features.logout.impl_AccountDeactivationView_Night_2_en",19993,], +["features.logout.impl_AccountDeactivationView_Day_3_en","features.logout.impl_AccountDeactivationView_Night_3_en",19993,], +["features.logout.impl_AccountDeactivationView_Day_4_en","features.logout.impl_AccountDeactivationView_Night_4_en",19993,], ["features.login.impl.accountprovider_AccountProviderView_Day_0_en","features.login.impl.accountprovider_AccountProviderView_Night_0_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_1_en","features.login.impl.accountprovider_AccountProviderView_Night_1_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_2_en","features.login.impl.accountprovider_AccountProviderView_Night_2_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_3_en","features.login.impl.accountprovider_AccountProviderView_Night_3_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_4_en","features.login.impl.accountprovider_AccountProviderView_Night_4_en",0,], -["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",19989,], -["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",19989,], -["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",19989,], -["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",19989,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",19989,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",19989,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",19989,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",19989,], -["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",19989,], -["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",19989,], -["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",19989,], -["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",19989,], -["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",19989,], -["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",19989,], +["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",19993,], +["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",19993,], +["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",19993,], +["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",19993,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",19993,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",19993,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",19993,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",19993,], +["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",19993,], +["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",19993,], +["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",19993,], +["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",19993,], +["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",19993,], +["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",19993,], ["libraries.designsystem.components.async_AsyncActionView_Day_0_en","libraries.designsystem.components.async_AsyncActionView_Night_0_en",0,], -["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",19989,], +["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",19993,], ["libraries.designsystem.components.async_AsyncActionView_Day_2_en","libraries.designsystem.components.async_AsyncActionView_Night_2_en",0,], -["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",19989,], +["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",19993,], ["libraries.designsystem.components.async_AsyncActionView_Day_4_en","libraries.designsystem.components.async_AsyncActionView_Night_4_en",0,], -["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",19989,], +["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",19993,], ["libraries.designsystem.components.async_AsyncIndicatorFailure_Day_0_en","libraries.designsystem.components.async_AsyncIndicatorFailure_Night_0_en",0,], ["libraries.designsystem.components.async_AsyncIndicatorLoading_Day_0_en","libraries.designsystem.components.async_AsyncIndicatorLoading_Night_0_en",0,], ["libraries.designsystem.components.async_AsyncLoading_Day_0_en","libraries.designsystem.components.async_AsyncLoading_Night_0_en",0,], -["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",19989,], +["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",19993,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_0_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_0_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_1_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_1_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_2_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_2_en",0,], @@ -50,11 +50,11 @@ export const screenshots = [ ["libraries.matrix.ui.components_AttachmentThumbnail_Day_6_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_6_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_7_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_7_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_8_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_8_en",0,], -["features.messages.impl.attachments.preview_AttachmentsView_0_en","",19989,], -["features.messages.impl.attachments.preview_AttachmentsView_1_en","",19989,], -["features.messages.impl.attachments.preview_AttachmentsView_2_en","",19989,], -["features.messages.impl.attachments.preview_AttachmentsView_3_en","",19989,], -["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",19989,], +["features.messages.impl.attachments.preview_AttachmentsView_0_en","",19993,], +["features.messages.impl.attachments.preview_AttachmentsView_1_en","",19993,], +["features.messages.impl.attachments.preview_AttachmentsView_2_en","",19993,], +["features.messages.impl.attachments.preview_AttachmentsView_3_en","",19993,], +["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",19993,], ["libraries.designsystem.components.avatar_Avatar_Avatars_0_en","",0,], ["libraries.designsystem.components.avatar_Avatar_Avatars_10_en","",0,], ["libraries.designsystem.components.avatar_Avatar_Avatars_11_en","",0,], @@ -134,13 +134,13 @@ export const screenshots = [ ["libraries.designsystem.components_Badge_Day_0_en","libraries.designsystem.components_Badge_Night_0_en",0,], ["libraries.designsystem.components_BigCheckmark_Day_0_en","libraries.designsystem.components_BigCheckmark_Night_0_en",0,], ["libraries.designsystem.components_BigIcon_Day_0_en","libraries.designsystem.components_BigIcon_Night_0_en",0,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",19989,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",19989,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",19989,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",19989,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",19989,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",19989,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",19989,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",19993,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",19993,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",19993,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",19993,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",19993,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",19993,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",19993,], ["libraries.designsystem.components_BloomInitials_Day_0_en","libraries.designsystem.components_BloomInitials_Night_0_en",0,], ["libraries.designsystem.components_BloomInitials_Day_1_en","libraries.designsystem.components_BloomInitials_Night_1_en",0,], ["libraries.designsystem.components_BloomInitials_Day_2_en","libraries.designsystem.components_BloomInitials_Night_2_en",0,], @@ -151,93 +151,94 @@ export const screenshots = [ ["libraries.designsystem.components_BloomInitials_Day_7_en","libraries.designsystem.components_BloomInitials_Night_7_en",0,], ["libraries.designsystem.components_Bloom_Day_0_en","libraries.designsystem.components_Bloom_Night_0_en",0,], ["libraries.designsystem.theme.components_BottomSheetDragHandle_Day_0_en","libraries.designsystem.theme.components_BottomSheetDragHandle_Night_0_en",0,], -["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",19989,], -["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",19989,], -["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",19989,], -["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",19989,], -["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",19989,], +["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",19993,], +["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",19993,], +["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",19993,], +["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",19993,], +["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",19993,], ["libraries.designsystem.atomic.molecules_ButtonColumnMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ButtonColumnMolecule_Night_0_en",0,], ["libraries.designsystem.atomic.molecules_ButtonRowMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ButtonRowMolecule_Night_0_en",0,], ["features.call.impl.ui_CallScreenPipView_Day_0_en","features.call.impl.ui_CallScreenPipView_Night_0_en",0,], ["features.call.impl.ui_CallScreenPipView_Day_1_en","features.call.impl.ui_CallScreenPipView_Night_1_en",0,], ["features.call.impl.ui_CallScreenView_Day_0_en","features.call.impl.ui_CallScreenView_Night_0_en",0,], -["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",19989,], -["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",19989,], -["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",19989,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",19989,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",19989,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",19989,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",19989,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",19989,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",19989,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",19989,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",19989,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",19989,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",19989,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",19989,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",19989,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",19989,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",19989,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",19989,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",19989,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",19989,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",19989,], +["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",19993,], +["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",19993,], +["features.call.impl.ui_CallScreenView_Day_3_en","features.call.impl.ui_CallScreenView_Night_3_en",19996,], +["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",19993,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",19993,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",19993,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",19993,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",19993,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",19993,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",19993,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",19993,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",19993,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",19993,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",19993,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",19993,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",19993,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",19993,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",19993,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",19993,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",19993,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",19993,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",19993,], ["features.login.impl.changeserver_ChangeServerView_Day_0_en","features.login.impl.changeserver_ChangeServerView_Night_0_en",0,], -["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",19989,], -["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",19989,], +["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",19993,], +["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",19993,], ["libraries.matrix.ui.components_CheckableResolvedUserRow_en","",0,], -["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",19989,], +["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",19993,], ["libraries.designsystem.theme.components_Checkboxes_Toggles_en","",0,], ["libraries.designsystem.theme.components_CircularProgressIndicator_Progress Indicators_en","",0,], ["libraries.designsystem.components_ClickableLinkText_Text_en","",0,], ["libraries.designsystem.theme_ColorAliases_Day_0_en","libraries.designsystem.theme_ColorAliases_Night_0_en",0,], ["libraries.textcomposer.components_ComposerOptionsButton_Day_0_en","libraries.textcomposer.components_ComposerOptionsButton_Night_0_en",0,], ["libraries.designsystem.components.avatar_CompositeAvatar_Avatars_en","",0,], -["features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en",19989,], -["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",19989,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en",19993,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",19993,], ["features.preferences.impl.developer.tracing_ConfigureTracingView_Day_0_en","features.preferences.impl.developer.tracing_ConfigureTracingView_Night_0_en",0,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",19989,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en",19989,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en",19989,], -["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",19989,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",19993,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en",19993,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en",19993,], +["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",19993,], ["libraries.designsystem.components.dialogs_ConfirmationDialogContent_Dialogs_en","",0,], ["libraries.designsystem.components.dialogs_ConfirmationDialog_Day_0_en","libraries.designsystem.components.dialogs_ConfirmationDialog_Night_0_en",0,], ["features.networkmonitor.api.ui_ConnectivityIndicatorView_Day_0_en","features.networkmonitor.api.ui_ConnectivityIndicatorView_Night_0_en",0,], -["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",19989,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_0_en","features.login.impl.screens.createaccount_CreateAccountView_Night_0_en",19989,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_1_en","features.login.impl.screens.createaccount_CreateAccountView_Night_1_en",19989,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_2_en","features.login.impl.screens.createaccount_CreateAccountView_Night_2_en",19989,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_3_en","features.login.impl.screens.createaccount_CreateAccountView_Night_3_en",19989,], -["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",19989,], -["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",19989,], -["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",19989,], -["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",19989,], -["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",19989,], -["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",19989,], -["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",19989,], -["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",19989,], -["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",19989,], -["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",19989,], -["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",19989,], -["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",19989,], -["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",19989,], -["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",19989,], +["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",19993,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_0_en","features.login.impl.screens.createaccount_CreateAccountView_Night_0_en",19993,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_1_en","features.login.impl.screens.createaccount_CreateAccountView_Night_1_en",19993,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_2_en","features.login.impl.screens.createaccount_CreateAccountView_Night_2_en",19993,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_3_en","features.login.impl.screens.createaccount_CreateAccountView_Night_3_en",19993,], +["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",19993,], +["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",19993,], +["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",19993,], +["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",19993,], +["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",19993,], +["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",19993,], +["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",19993,], +["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",19993,], +["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",19993,], +["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",19993,], +["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",19993,], +["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",19993,], +["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",19993,], +["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",19993,], ["features.logout.impl.direct_DefaultDirectLogoutView_Day_0_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_0_en",0,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",19989,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",19989,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",19989,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",19993,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",19993,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",19993,], ["features.logout.impl.direct_DefaultDirectLogoutView_Day_4_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_4_en",0,], -["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",19989,], -["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",19989,], -["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",19989,], +["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",19993,], +["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",19993,], +["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",19993,], ["features.licenses.impl.details_DependenciesDetailsView_Day_0_en","features.licenses.impl.details_DependenciesDetailsView_Night_0_en",0,], -["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",19989,], -["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",19989,], -["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",19989,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",19989,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",19989,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",19989,], -["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",19989,], +["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",19993,], +["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",19993,], +["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",19993,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",19993,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",19993,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",19993,], +["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",19993,], ["libraries.designsystem.theme.components_DialogWithDestructiveButton_Dialog with destructive button_Dialogs_en","",0,], ["libraries.designsystem.theme.components_DialogWithOnlyMessageAndOkButton_Dialog with only message and ok button_Dialogs_en","",0,], ["libraries.designsystem.theme.components_DialogWithThirdButton_Dialog with third button_Dialogs_en","",0,], @@ -249,12 +250,12 @@ export const screenshots = [ ["libraries.designsystem.text_DpScale_1_0f__en","",0,], ["libraries.designsystem.text_DpScale_1_5f__en","",0,], ["libraries.designsystem.theme.components_DropdownMenuItem_Menus_en","",0,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",19989,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",19989,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",19989,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",19989,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",19989,], -["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",19989,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",19993,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",19993,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",19993,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",19993,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",19993,], +["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",19993,], ["libraries.matrix.ui.components_EditableAvatarView_Day_0_en","libraries.matrix.ui.components_EditableAvatarView_Night_0_en",0,], ["libraries.matrix.ui.components_EditableAvatarView_Day_1_en","libraries.matrix.ui.components_EditableAvatarView_Night_1_en",0,], ["libraries.matrix.ui.components_EditableAvatarView_Day_2_en","libraries.matrix.ui.components_EditableAvatarView_Night_2_en",0,], @@ -264,9 +265,9 @@ export const screenshots = [ ["libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Day_0_en","libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Night_0_en",0,], ["features.messages.impl.timeline.components.customreaction_EmojiItem_Day_0_en","features.messages.impl.timeline.components.customreaction_EmojiItem_Night_0_en",0,], ["features.messages.impl.timeline.components.customreaction_EmojiPicker_Day_0_en","features.messages.impl.timeline.components.customreaction_EmojiPicker_Night_0_en",0,], -["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",19989,], -["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",19989,], -["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",19989,], +["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",19993,], +["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",19993,], +["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",19993,], ["features.messages.impl.timeline.debug_EventDebugInfoView_Day_0_en","features.messages.impl.timeline.debug_EventDebugInfoView_Night_0_en",0,], ["libraries.featureflag.ui_FeatureListView_Day_0_en","libraries.featureflag.ui_FeatureListView_Night_0_en",0,], ["libraries.designsystem.theme.components_FilledButtonLargeLowPadding_Buttons_en","",0,], @@ -277,15 +278,15 @@ export const screenshots = [ ["libraries.designsystem.theme.components_FloatingActionButton_Floating Action Buttons_en","",0,], ["libraries.designsystem.atomic.pages_FlowStepPage_Day_0_en","libraries.designsystem.atomic.pages_FlowStepPage_Night_0_en",0,], ["features.messages.impl.timeline.focus_FocusRequestStateView_Day_0_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_0_en",0,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",19989,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",19989,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",19989,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",19993,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",19993,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",19993,], ["libraries.textcomposer.components_FormattingOption_Day_0_en","libraries.textcomposer.components_FormattingOption_Night_0_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_0_en","features.messages.impl.forward_ForwardMessagesView_Night_0_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_1_en","features.messages.impl.forward_ForwardMessagesView_Night_1_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_2_en","features.messages.impl.forward_ForwardMessagesView_Night_2_en",0,], -["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",19989,], -["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",19989,], +["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",19993,], +["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",19993,], ["libraries.designsystem.components.button_GradientFloatingActionButtonCircleShape_Day_0_en","libraries.designsystem.components.button_GradientFloatingActionButtonCircleShape_Night_0_en",0,], ["libraries.designsystem.components.button_GradientFloatingActionButton_Day_0_en","libraries.designsystem.components.button_GradientFloatingActionButton_Night_0_en",0,], ["features.messages.impl.timeline.components.group_GroupHeaderView_Day_0_en","features.messages.impl.timeline.components.group_GroupHeaderView_Night_0_en",0,], @@ -312,37 +313,37 @@ export const screenshots = [ ["libraries.matrix.ui.messages.reply_InReplyToView_Day_1_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_1_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_2_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_2_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_3_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_3_en",0,], -["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",19989,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",19993,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_5_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_5_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_6_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_6_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_7_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_7_en",0,], -["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",19989,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",19993,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_9_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_9_en",0,], -["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",19989,], +["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",19993,], ["libraries.designsystem.atomic.molecules_InfoListItemMolecule_Day_0_en","libraries.designsystem.atomic.molecules_InfoListItemMolecule_Night_0_en",0,], ["libraries.designsystem.atomic.organisms_InfoListOrganism_Day_0_en","libraries.designsystem.atomic.organisms_InfoListOrganism_Night_0_en",0,], -["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",19989,], +["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",19993,], ["features.joinroom.impl_JoinRoomView_Day_0_en","features.joinroom.impl_JoinRoomView_Night_0_en",0,], ["features.joinroom.impl_JoinRoomView_Day_10_en","features.joinroom.impl_JoinRoomView_Night_10_en",0,], -["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",19989,], -["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",19989,], -["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",19989,], -["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",19989,], -["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",19989,], -["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",19989,], -["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",19989,], -["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",19989,], -["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",19989,], +["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",19993,], +["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",19993,], +["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",19993,], +["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",19993,], +["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",19993,], +["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",19993,], +["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",19993,], +["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",19993,], +["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",19993,], ["libraries.designsystem.components_LabelledCheckbox_Toggles_en","",0,], ["libraries.designsystem.components_LabelledOutlinedTextField_Day_0_en","libraries.designsystem.components_LabelledOutlinedTextField_Night_0_en",0,], ["libraries.designsystem.components_LabelledTextField_Day_0_en","libraries.designsystem.components_LabelledTextField_Night_0_en",0,], ["features.leaveroom.api_LeaveRoomView_Day_0_en","features.leaveroom.api_LeaveRoomView_Night_0_en",0,], -["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",19989,], -["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",19989,], -["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",19989,], -["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",19989,], -["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",19989,], -["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",19989,], +["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",19993,], +["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",19993,], +["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",19993,], +["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",19993,], +["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",19993,], +["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",19993,], ["libraries.designsystem.background_LightGradientBackground_Day_0_en","libraries.designsystem.background_LightGradientBackground_Night_0_en",0,], ["libraries.designsystem.theme.components_LinearProgressIndicator_Progress Indicators_en","",0,], ["libraries.designsystem.components.dialogs_ListDialogContent_Dialogs_en","",0,], @@ -393,29 +394,29 @@ export const screenshots = [ ["libraries.designsystem.theme.components_ListSupportingTextSmallPadding_List supporting text - small padding_List sections_en","",0,], ["libraries.textcomposer.components_LiveWaveformView_Day_0_en","libraries.textcomposer.components_LiveWaveformView_Night_0_en",0,], ["appnav.room.joined_LoadingRoomNodeView_Day_0_en","appnav.room.joined_LoadingRoomNodeView_Night_0_en",0,], -["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",19989,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",19989,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",19989,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",19989,], +["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",19993,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",19993,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",19993,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",19993,], ["appnav.loggedin_LoggedInView_Day_0_en","appnav.loggedin_LoggedInView_Night_0_en",0,], -["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",19989,], -["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",19989,], -["appnav.loggedin_LoggedInView_Day_3_en","appnav.loggedin_LoggedInView_Night_3_en",19989,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",19989,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",19989,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",19989,], -["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",19989,], -["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",19989,], -["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",19989,], -["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",19989,], -["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",19989,], -["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",19989,], -["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",19989,], -["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",19989,], -["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",19989,], -["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",19989,], +["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",19993,], +["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",19993,], +["appnav.loggedin_LoggedInView_Day_3_en","appnav.loggedin_LoggedInView_Night_3_en",19993,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",19993,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",19993,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",19993,], +["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",19993,], +["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",19993,], +["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",19993,], +["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",19993,], +["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",19993,], +["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",19993,], +["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",19993,], +["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",19993,], +["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",19993,], +["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",19993,], ["libraries.designsystem.components.button_MainActionButton_Buttons_en","",0,], -["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",19989,], +["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",19993,], ["libraries.textcomposer.components.markdown_MarkdownTextInput_Day_0_en","libraries.textcomposer.components.markdown_MarkdownTextInput_Night_0_en",0,], ["libraries.matrix.ui.components_MatrixUserHeaderPlaceholder_Day_0_en","libraries.matrix.ui.components_MatrixUserHeaderPlaceholder_Night_0_en",0,], ["libraries.matrix.ui.components_MatrixUserHeader_Day_0_en","libraries.matrix.ui.components_MatrixUserHeader_Night_0_en",0,], @@ -425,7 +426,7 @@ export const screenshots = [ ["libraries.mediaviewer.api.viewer_MediaViewerView_0_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_10_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_1_en","",0,], -["libraries.mediaviewer.api.viewer_MediaViewerView_2_en","",19989,], +["libraries.mediaviewer.api.viewer_MediaViewerView_2_en","",19993,], ["libraries.mediaviewer.api.viewer_MediaViewerView_3_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_4_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_5_en","",0,], @@ -437,7 +438,7 @@ export const screenshots = [ ["libraries.textcomposer.mentions_MentionSpanTheme_Day_0_en","libraries.textcomposer.mentions_MentionSpanTheme_Night_0_en",0,], ["libraries.designsystem.theme.components.previews_Menu_Menus_en","",0,], ["features.messages.impl.messagecomposer_MessageComposerViewVoice_Day_0_en","features.messages.impl.messagecomposer_MessageComposerViewVoice_Night_0_en",0,], -["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",19989,], +["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",19993,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_0_en","features.messages.impl.timeline.components_MessageEventBubble_Night_0_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_10_en","features.messages.impl.timeline.components_MessageEventBubble_Night_10_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_11_en","features.messages.impl.timeline.components_MessageEventBubble_Night_11_en",0,], @@ -454,7 +455,7 @@ export const screenshots = [ ["features.messages.impl.timeline.components_MessageEventBubble_Day_7_en","features.messages.impl.timeline.components_MessageEventBubble_Night_7_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_8_en","features.messages.impl.timeline.components_MessageEventBubble_Night_8_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_9_en","features.messages.impl.timeline.components_MessageEventBubble_Night_9_en",0,], -["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",19989,], +["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",19993,], ["features.messages.impl.timeline.components_MessageStateEventContainer_Day_0_en","features.messages.impl.timeline.components_MessageStateEventContainer_Night_0_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButtonAdd_Day_0_en","features.messages.impl.timeline.components_MessagesReactionButtonAdd_Night_0_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButtonExtra_Day_0_en","features.messages.impl.timeline.components_MessagesReactionButtonExtra_Night_0_en",0,], @@ -462,25 +463,25 @@ export const screenshots = [ ["features.messages.impl.timeline.components_MessagesReactionButton_Day_1_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_1_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButton_Day_2_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_2_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButton_Day_3_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_3_en",0,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_0_en","features.messages.impl.typing_MessagesViewWithTyping_Night_0_en",19989,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_1_en","features.messages.impl.typing_MessagesViewWithTyping_Night_1_en",19989,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_2_en","features.messages.impl.typing_MessagesViewWithTyping_Night_2_en",19989,], -["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",19989,], -["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",19989,], -["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",19989,], -["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",19989,], -["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",19989,], -["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",19989,], -["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",19989,], -["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",19989,], -["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",19989,], -["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",19989,], -["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",19989,], -["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",19989,], -["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",19989,], -["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",19989,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_0_en","features.messages.impl.typing_MessagesViewWithTyping_Night_0_en",19993,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_1_en","features.messages.impl.typing_MessagesViewWithTyping_Night_1_en",19993,], +["features.messages.impl.typing_MessagesViewWithTyping_Day_2_en","features.messages.impl.typing_MessagesViewWithTyping_Night_2_en",19993,], +["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",19993,], +["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",19993,], +["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",19993,], +["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",19993,], +["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",19993,], +["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",19993,], +["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",19993,], +["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",19993,], +["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",19993,], +["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",19993,], +["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",19993,], +["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",19993,], +["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",19993,], +["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",19993,], ["features.migration.impl_MigrationView_Day_0_en","features.migration.impl_MigrationView_Night_0_en",0,], -["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",19989,], +["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",19993,], ["libraries.designsystem.theme.components_ModalBottomSheetDark_Bottom Sheets_en","",0,], ["libraries.designsystem.theme.components_ModalBottomSheetLight_Bottom Sheets_en","",0,], ["appicon.element_MonochromeIcon_en","",0,], @@ -489,29 +490,29 @@ export const screenshots = [ ["libraries.designsystem.components.list_MutipleSelectionListItemSelectedTrailingContent_Multiple selection List item - selection in trailing content_List items_en","",0,], ["libraries.designsystem.components.list_MutipleSelectionListItemSelected_Multiple selection List item - selection in supporting text_List items_en","",0,], ["libraries.designsystem.components.list_MutipleSelectionListItem_Multiple selection List item - no selection_List items_en","",0,], -["features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_en","features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Night_0_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",19989,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",19989,], -["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",19989,], +["features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_en","features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Night_0_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",19993,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",19993,], +["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",19993,], ["libraries.oidc.impl.webview_OidcView_Day_0_en","libraries.oidc.impl.webview_OidcView_Night_0_en",0,], ["libraries.oidc.impl.webview_OidcView_Day_1_en","libraries.oidc.impl.webview_OidcView_Night_1_en",0,], ["libraries.designsystem.atomic.pages_OnBoardingPage_Day_0_en","libraries.designsystem.atomic.pages_OnBoardingPage_Night_0_en",0,], -["features.onboarding.impl_OnBoardingView_Day_0_en","features.onboarding.impl_OnBoardingView_Night_0_en",19989,], -["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",19989,], -["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",19989,], -["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",19989,], -["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",19989,], +["features.onboarding.impl_OnBoardingView_Day_0_en","features.onboarding.impl_OnBoardingView_Night_0_en",19993,], +["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",19993,], +["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",19993,], +["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",19993,], +["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",19993,], ["libraries.designsystem.background_OnboardingBackground_Day_0_en","libraries.designsystem.background_OnboardingBackground_Night_0_en",0,], ["libraries.designsystem.theme.components_OutlinedButtonLargeLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_OutlinedButtonLarge_Buttons_en","",0,], @@ -526,62 +527,63 @@ export const screenshots = [ ["libraries.designsystem.components_PageTitleWithIconFull_Day_3_en","libraries.designsystem.components_PageTitleWithIconFull_Night_3_en",0,], ["libraries.designsystem.components_PageTitleWithIconFull_Day_4_en","libraries.designsystem.components_PageTitleWithIconFull_Night_4_en",0,], ["libraries.designsystem.components_PageTitleWithIconMinimal_Day_0_en","libraries.designsystem.components_PageTitleWithIconMinimal_Night_0_en",0,], -["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",19989,], -["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",19989,], -["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",19989,], -["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",19989,], -["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",19989,], +["libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Day_0_en","libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Night_0_en",19996,], +["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",19993,], +["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",19993,], +["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",19993,], +["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",19993,], +["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",19993,], ["features.lockscreen.impl.components_PinEntryTextField_Day_0_en","features.lockscreen.impl.components_PinEntryTextField_Night_0_en",0,], ["libraries.designsystem.components_PinIcon_Day_0_en","libraries.designsystem.components_PinIcon_Night_0_en",0,], ["features.lockscreen.impl.unlock.keypad_PinKeypad_Day_0_en","features.lockscreen.impl.unlock.keypad_PinKeypad_Night_0_en",0,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",19989,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",19989,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",19993,], ["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_0_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_0_en",0,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",19989,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",19989,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",19989,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",19989,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",19989,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",19989,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",19989,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",19989,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",19989,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",19989,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",19989,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",19989,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",19989,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",19989,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",19993,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",19993,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",19993,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",19993,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",19993,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",19993,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",19993,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",19993,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",19993,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",19993,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",19993,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",19993,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",19993,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",19993,], ["libraries.designsystem.atomic.atoms_PlaceholderAtom_Day_0_en","libraries.designsystem.atomic.atoms_PlaceholderAtom_Night_0_en",0,], -["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",19989,], -["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",19989,], -["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",19989,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",19989,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",19989,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",19993,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",19993,], +["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",19993,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",19993,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",19993,], ["features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Night_0_en",0,], ["features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Night_0_en",0,], -["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",19989,], -["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",19989,], -["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",19989,], -["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",19989,], -["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",19989,], -["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",19989,], -["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",19989,], -["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",19989,], -["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",19989,], -["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",19989,], -["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",19989,], +["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",19993,], +["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",19993,], +["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",19993,], +["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",19993,], +["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",19993,], +["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",19993,], +["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",19993,], +["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",19993,], +["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",19993,], +["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",19993,], +["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",19993,], ["features.poll.api.pollcontent_PollTitleView_Day_0_en","features.poll.api.pollcontent_PollTitleView_Night_0_en",0,], ["libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceCheckbox_Preferences_en","",0,], @@ -598,195 +600,195 @@ export const screenshots = [ ["libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en","",0,], -["features.preferences.impl.root_PreferencesRootViewDark_0_en","",19989,], -["features.preferences.impl.root_PreferencesRootViewDark_1_en","",19989,], -["features.preferences.impl.root_PreferencesRootViewLight_0_en","",19989,], -["features.preferences.impl.root_PreferencesRootViewLight_1_en","",19989,], +["features.preferences.impl.root_PreferencesRootViewDark_0_en","",19993,], +["features.preferences.impl.root_PreferencesRootViewDark_1_en","",19993,], +["features.preferences.impl.root_PreferencesRootViewLight_0_en","",19993,], +["features.preferences.impl.root_PreferencesRootViewLight_1_en","",19993,], ["features.messages.impl.timeline.components.event_ProgressButton_Day_0_en","features.messages.impl.timeline.components.event_ProgressButton_Night_0_en",0,], -["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",19989,], -["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",19989,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",19989,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",19989,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",19989,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",19989,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",19989,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",19989,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",19989,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",19989,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",19989,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",19989,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",19989,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",19989,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",19989,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",19989,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",19989,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",19989,], +["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",19993,], +["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",19993,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",19993,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",19993,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",19993,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",19993,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",19993,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",19993,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",19993,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",19993,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",19993,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",19993,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",19993,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",19993,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",19993,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",19993,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",19993,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",19993,], ["libraries.designsystem.theme.components_RadioButton_Toggles_en","",0,], -["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",19989,], -["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",19989,], +["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",19993,], +["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",19993,], ["features.rageshake.api.preferences_RageshakePreferencesView_Day_1_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_1_en",0,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",19989,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",19989,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",19989,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",19989,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",19989,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",19989,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",19989,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",19993,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",19993,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",19993,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",19993,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",19993,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",19993,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",19993,], ["libraries.designsystem.atomic.atoms_RedIndicatorAtom_Day_0_en","libraries.designsystem.atomic.atoms_RedIndicatorAtom_Night_0_en",0,], ["features.messages.impl.timeline.components_ReplySwipeIndicator_Day_0_en","features.messages.impl.timeline.components_ReplySwipeIndicator_Night_0_en",0,], -["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",19989,], -["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",19989,], -["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",19989,], -["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",19989,], -["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",19989,], -["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",19989,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",19989,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",19989,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",19989,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",19989,], +["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",19993,], +["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",19993,], +["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",19993,], +["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",19993,], +["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",19993,], +["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",19993,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",19993,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",19993,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",19993,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",19993,], ["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en",0,], -["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",19989,], +["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",19993,], ["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_0_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_0_en",0,], -["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en",19989,], -["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en",19989,], -["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",19989,], -["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",19989,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",19989,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",19989,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",19989,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",19989,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",19989,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",19989,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",19989,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",19989,], +["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en",19993,], +["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en",19993,], +["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",19993,], +["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",19993,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",19993,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",19993,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",19993,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",19993,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",19993,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",19993,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",19993,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",19993,], ["features.roomaliasresolver.impl_RoomAliasResolverView_Day_0_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_0_en",0,], ["features.roomaliasresolver.impl_RoomAliasResolverView_Day_1_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_1_en",0,], -["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",19989,], +["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",19993,], ["features.roomdetails.impl.components_RoomBadgeNegative_Day_0_en","features.roomdetails.impl.components_RoomBadgeNegative_Night_0_en",0,], ["features.roomdetails.impl.components_RoomBadgeNeutral_Day_0_en","features.roomdetails.impl.components_RoomBadgeNeutral_Night_0_en",0,], ["features.roomdetails.impl.components_RoomBadgePositive_Day_0_en","features.roomdetails.impl.components_RoomBadgePositive_Night_0_en",0,], -["features.roomdetails.impl_RoomDetailsDark_0_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_10_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_11_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_12_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_13_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_1_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_2_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_3_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_4_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_5_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_6_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_7_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_8_en","",19989,], -["features.roomdetails.impl_RoomDetailsDark_9_en","",19989,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",19989,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",19989,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",19989,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",19989,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",19989,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",19989,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",19989,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",19989,], -["features.roomdetails.impl_RoomDetails_0_en","",19989,], -["features.roomdetails.impl_RoomDetails_10_en","",19989,], -["features.roomdetails.impl_RoomDetails_11_en","",19989,], -["features.roomdetails.impl_RoomDetails_12_en","",19989,], -["features.roomdetails.impl_RoomDetails_13_en","",19989,], -["features.roomdetails.impl_RoomDetails_1_en","",19989,], -["features.roomdetails.impl_RoomDetails_2_en","",19989,], -["features.roomdetails.impl_RoomDetails_3_en","",19989,], -["features.roomdetails.impl_RoomDetails_4_en","",19989,], -["features.roomdetails.impl_RoomDetails_5_en","",19989,], -["features.roomdetails.impl_RoomDetails_6_en","",19989,], -["features.roomdetails.impl_RoomDetails_7_en","",19989,], -["features.roomdetails.impl_RoomDetails_8_en","",19989,], -["features.roomdetails.impl_RoomDetails_9_en","",19989,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",19989,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",19989,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",19989,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",19989,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",19989,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",19989,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",19989,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",19989,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",19989,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",19989,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",19989,], -["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",19989,], -["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",19989,], +["features.roomdetails.impl_RoomDetailsDark_0_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_10_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_11_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_12_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_13_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_1_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_2_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_3_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_4_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_5_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_6_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_7_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_8_en","",19993,], +["features.roomdetails.impl_RoomDetailsDark_9_en","",19993,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",19993,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",19993,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",19993,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",19993,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",19993,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",19993,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",19993,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",19993,], +["features.roomdetails.impl_RoomDetails_0_en","",19993,], +["features.roomdetails.impl_RoomDetails_10_en","",19993,], +["features.roomdetails.impl_RoomDetails_11_en","",19993,], +["features.roomdetails.impl_RoomDetails_12_en","",19993,], +["features.roomdetails.impl_RoomDetails_13_en","",19993,], +["features.roomdetails.impl_RoomDetails_1_en","",19993,], +["features.roomdetails.impl_RoomDetails_2_en","",19993,], +["features.roomdetails.impl_RoomDetails_3_en","",19993,], +["features.roomdetails.impl_RoomDetails_4_en","",19993,], +["features.roomdetails.impl_RoomDetails_5_en","",19993,], +["features.roomdetails.impl_RoomDetails_6_en","",19993,], +["features.roomdetails.impl_RoomDetails_7_en","",19993,], +["features.roomdetails.impl_RoomDetails_8_en","",19993,], +["features.roomdetails.impl_RoomDetails_9_en","",19993,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",19993,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",19993,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",19993,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",19993,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",19993,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",19993,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",19993,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",19993,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",19993,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",19993,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",19993,], +["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",19993,], +["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",19993,], ["features.roomlist.impl.components_RoomListContentView_Day_2_en","features.roomlist.impl.components_RoomListContentView_Night_2_en",0,], -["features.roomlist.impl.components_RoomListContentView_Day_3_en","features.roomlist.impl.components_RoomListContentView_Night_3_en",19989,], -["features.roomlist.impl.components_RoomListContentView_Day_4_en","features.roomlist.impl.components_RoomListContentView_Night_4_en",19989,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",19989,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",19989,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",19989,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",19989,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",19989,], +["features.roomlist.impl.components_RoomListContentView_Day_3_en","features.roomlist.impl.components_RoomListContentView_Night_3_en",19993,], +["features.roomlist.impl.components_RoomListContentView_Day_4_en","features.roomlist.impl.components_RoomListContentView_Night_4_en",19993,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",19993,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",19993,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",19993,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",19993,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",19993,], ["features.roomlist.impl.search_RoomListSearchContent_Day_0_en","features.roomlist.impl.search_RoomListSearchContent_Night_0_en",0,], -["features.roomlist.impl.search_RoomListSearchContent_Day_1_en","features.roomlist.impl.search_RoomListSearchContent_Night_1_en",19989,], -["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",19989,], -["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",19989,], -["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",19989,], -["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",19989,], -["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",19989,], -["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",19989,], -["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",19989,], -["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",19989,], -["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",19989,], -["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",19989,], +["features.roomlist.impl.search_RoomListSearchContent_Day_1_en","features.roomlist.impl.search_RoomListSearchContent_Night_1_en",19993,], +["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",19993,], +["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",19993,], +["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",19993,], +["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",19993,], +["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",19993,], +["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",19993,], +["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",19993,], +["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",19993,], +["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",19993,], +["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",19993,], ["features.roomlist.impl_RoomListView_Day_8_en","features.roomlist.impl_RoomListView_Night_8_en",0,], ["features.roomlist.impl_RoomListView_Day_9_en","features.roomlist.impl_RoomListView_Night_9_en",0,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",19989,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",19989,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",19989,], -["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",19989,], -["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",19989,], -["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",19989,], -["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",19989,], -["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",19989,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",19993,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",19993,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",19993,], +["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",19993,], +["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",19993,], +["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",19993,], +["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",19993,], +["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",19993,], ["features.roomdetails.impl.members_RoomMemberListView_Day_5_en","features.roomdetails.impl.members_RoomMemberListView_Night_5_en",0,], -["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",19989,], -["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",19989,], -["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",19989,], +["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",19993,], +["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",19993,], +["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",19993,], ["libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Day_0_en","libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Night_0_en",0,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en",19989,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",19989,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",19989,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",19989,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",19989,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en",19989,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",19989,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",19989,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",19989,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en",19993,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",19993,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",19993,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",19993,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",19993,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en",19993,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",19993,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",19993,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",19993,], ["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_9_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_9_en",0,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",19989,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",19989,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",19989,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",19989,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",19989,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",19989,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",19989,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",19989,], -["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",19989,], -["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",19989,], -["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",19989,], -["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",19989,], -["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",19989,], -["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",19989,], -["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",19989,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",19993,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",19993,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",19993,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",19993,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",19993,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",19993,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",19993,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",19993,], +["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",19993,], +["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",19993,], +["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",19993,], +["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",19993,], +["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",19993,], +["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",19993,], +["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",19993,], ["features.roomlist.impl.components_RoomSummaryPlaceholderRow_Day_0_en","features.roomlist.impl.components_RoomSummaryPlaceholderRow_Night_0_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_0_en","features.roomlist.impl.components_RoomSummaryRow_Night_0_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_10_en","features.roomlist.impl.components_RoomSummaryRow_Night_10_en",0,], @@ -809,10 +811,10 @@ export const screenshots = [ ["features.roomlist.impl.components_RoomSummaryRow_Day_26_en","features.roomlist.impl.components_RoomSummaryRow_Night_26_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_27_en","features.roomlist.impl.components_RoomSummaryRow_Night_27_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_28_en","features.roomlist.impl.components_RoomSummaryRow_Night_28_en",0,], -["features.roomlist.impl.components_RoomSummaryRow_Day_29_en","features.roomlist.impl.components_RoomSummaryRow_Night_29_en",19989,], -["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",19989,], -["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",19989,], -["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",19989,], +["features.roomlist.impl.components_RoomSummaryRow_Day_29_en","features.roomlist.impl.components_RoomSummaryRow_Night_29_en",19993,], +["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",19993,], +["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",19993,], +["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",19993,], ["features.roomlist.impl.components_RoomSummaryRow_Day_3_en","features.roomlist.impl.components_RoomSummaryRow_Night_3_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_4_en","features.roomlist.impl.components_RoomSummaryRow_Night_4_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_5_en","features.roomlist.impl.components_RoomSummaryRow_Night_5_en",0,], @@ -820,64 +822,64 @@ export const screenshots = [ ["features.roomlist.impl.components_RoomSummaryRow_Day_7_en","features.roomlist.impl.components_RoomSummaryRow_Night_7_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_8_en","features.roomlist.impl.components_RoomSummaryRow_Night_8_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_9_en","features.roomlist.impl.components_RoomSummaryRow_Night_9_en",0,], -["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",19989,], -["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",19989,], -["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",19989,], +["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",19993,], +["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",19993,], +["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",19993,], ["appicon.element_RoundIcon_en","",0,], ["appicon.enterprise_RoundIcon_en","",0,], ["libraries.designsystem.atomic.atoms_RoundedIconAtom_Day_0_en","libraries.designsystem.atomic.atoms_RoundedIconAtom_Night_0_en",0,], -["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",19989,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",19989,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",19989,], +["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",19993,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",19993,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",19993,], ["libraries.designsystem.theme.components_SearchBarActiveNoneQuery_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarActiveWithContent_Search views_en","",0,], -["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search views_en","",19989,], +["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search views_en","",19993,], ["libraries.designsystem.theme.components_SearchBarActiveWithQueryNoBackButton_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarActiveWithQuery_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarInactive_Search views_en","",0,], -["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",19989,], -["features.createroom.impl.components_SearchSingleUserResultItem_en","",19989,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",19989,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",19989,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",19989,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",19989,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",19989,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",19989,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",19989,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",19989,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",19989,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",19989,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",19989,], -["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",19989,], -["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",19989,], -["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",19989,], -["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",19989,], -["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",19989,], -["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",19989,], -["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",19989,], -["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",19989,], -["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",19989,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",19989,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",19989,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",19989,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",19989,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",19989,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",19989,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",19989,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",19989,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",19989,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",19989,], +["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",19993,], +["features.createroom.impl.components_SearchSingleUserResultItem_en","",19993,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",19993,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",19993,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",19993,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",19993,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",19993,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",19993,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",19993,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",19993,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",19993,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",19993,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",19993,], +["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",19993,], +["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",19993,], +["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",19993,], +["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",19993,], +["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",19993,], +["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",19993,], +["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",19993,], +["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",19993,], +["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",19993,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",19993,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",19993,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",19993,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",19993,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",19993,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",19993,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",19993,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",19993,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",19993,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",19993,], ["libraries.matrix.ui.components_SelectedRoom_Day_0_en","libraries.matrix.ui.components_SelectedRoom_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedRoom_Day_1_en","libraries.matrix.ui.components_SelectedRoom_Night_1_en",0,], ["libraries.matrix.ui.components_SelectedUserCannotRemove_Day_0_en","libraries.matrix.ui.components_SelectedUserCannotRemove_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedUser_Day_0_en","libraries.matrix.ui.components_SelectedUser_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedUsersRowList_Day_0_en","libraries.matrix.ui.components_SelectedUsersRowList_Night_0_en",0,], ["libraries.textcomposer.components_SendButton_Day_0_en","libraries.textcomposer.components_SendButton_Night_0_en",0,], -["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",19989,], -["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",19989,], -["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",19989,], -["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",19989,], -["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",19989,], +["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",19993,], +["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",19993,], +["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",19993,], +["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",19993,], +["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",19993,], ["libraries.matrix.ui.messages.sender_SenderName_Day_0_en","libraries.matrix.ui.messages.sender_SenderName_Night_0_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_1_en","libraries.matrix.ui.messages.sender_SenderName_Night_1_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_2_en","libraries.matrix.ui.messages.sender_SenderName_Night_2_en",0,], @@ -887,40 +889,40 @@ export const screenshots = [ ["libraries.matrix.ui.messages.sender_SenderName_Day_6_en","libraries.matrix.ui.messages.sender_SenderName_Night_6_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_7_en","libraries.matrix.ui.messages.sender_SenderName_Night_7_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_8_en","libraries.matrix.ui.messages.sender_SenderName_Night_8_en",0,], -["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",19989,], -["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",19989,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",19989,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",19989,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",19989,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",19989,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",19989,], +["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",19993,], +["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",19993,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",19993,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",19993,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",19993,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",19993,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",19993,], ["features.share.impl_ShareView_Day_0_en","features.share.impl_ShareView_Night_0_en",0,], ["features.share.impl_ShareView_Day_1_en","features.share.impl_ShareView_Night_1_en",0,], ["features.share.impl_ShareView_Day_2_en","features.share.impl_ShareView_Night_2_en",0,], -["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",19989,], +["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",19993,], ["features.messages.impl.actionlist_SheetContent_Day_0_en","features.messages.impl.actionlist_SheetContent_Night_0_en",0,], ["features.messages.impl.timeline.components.reactionsummary_SheetContent_Day_0_en","features.messages.impl.timeline.components.reactionsummary_SheetContent_Night_0_en",0,], -["features.messages.impl.actionlist_SheetContent_Day_10_en","features.messages.impl.actionlist_SheetContent_Night_10_en",19989,], -["features.messages.impl.actionlist_SheetContent_Day_11_en","features.messages.impl.actionlist_SheetContent_Night_11_en",19989,], -["features.messages.impl.actionlist_SheetContent_Day_12_en","features.messages.impl.actionlist_SheetContent_Night_12_en",19989,], +["features.messages.impl.actionlist_SheetContent_Day_10_en","features.messages.impl.actionlist_SheetContent_Night_10_en",19993,], +["features.messages.impl.actionlist_SheetContent_Day_11_en","features.messages.impl.actionlist_SheetContent_Night_11_en",19993,], +["features.messages.impl.actionlist_SheetContent_Day_12_en","features.messages.impl.actionlist_SheetContent_Night_12_en",19993,], ["features.messages.impl.actionlist_SheetContent_Day_1_en","features.messages.impl.actionlist_SheetContent_Night_1_en",0,], -["features.messages.impl.actionlist_SheetContent_Day_2_en","features.messages.impl.actionlist_SheetContent_Night_2_en",19989,], -["features.messages.impl.actionlist_SheetContent_Day_3_en","features.messages.impl.actionlist_SheetContent_Night_3_en",19989,], -["features.messages.impl.actionlist_SheetContent_Day_4_en","features.messages.impl.actionlist_SheetContent_Night_4_en",19989,], -["features.messages.impl.actionlist_SheetContent_Day_5_en","features.messages.impl.actionlist_SheetContent_Night_5_en",19989,], -["features.messages.impl.actionlist_SheetContent_Day_6_en","features.messages.impl.actionlist_SheetContent_Night_6_en",19989,], -["features.messages.impl.actionlist_SheetContent_Day_7_en","features.messages.impl.actionlist_SheetContent_Night_7_en",19989,], -["features.messages.impl.actionlist_SheetContent_Day_8_en","features.messages.impl.actionlist_SheetContent_Night_8_en",19989,], -["features.messages.impl.actionlist_SheetContent_Day_9_en","features.messages.impl.actionlist_SheetContent_Night_9_en",19989,], -["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",19989,], -["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",19989,], -["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",19989,], -["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",19989,], -["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",19989,], -["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",19989,], -["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",19989,], -["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",19989,], -["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",19989,], +["features.messages.impl.actionlist_SheetContent_Day_2_en","features.messages.impl.actionlist_SheetContent_Night_2_en",19993,], +["features.messages.impl.actionlist_SheetContent_Day_3_en","features.messages.impl.actionlist_SheetContent_Night_3_en",19993,], +["features.messages.impl.actionlist_SheetContent_Day_4_en","features.messages.impl.actionlist_SheetContent_Night_4_en",19993,], +["features.messages.impl.actionlist_SheetContent_Day_5_en","features.messages.impl.actionlist_SheetContent_Night_5_en",19993,], +["features.messages.impl.actionlist_SheetContent_Day_6_en","features.messages.impl.actionlist_SheetContent_Night_6_en",19993,], +["features.messages.impl.actionlist_SheetContent_Day_7_en","features.messages.impl.actionlist_SheetContent_Night_7_en",19993,], +["features.messages.impl.actionlist_SheetContent_Day_8_en","features.messages.impl.actionlist_SheetContent_Night_8_en",19993,], +["features.messages.impl.actionlist_SheetContent_Day_9_en","features.messages.impl.actionlist_SheetContent_Night_9_en",19993,], +["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",19993,], +["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",19993,], +["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",19993,], +["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",19993,], +["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",19993,], +["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",19993,], +["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",19993,], +["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",19993,], +["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",19993,], ["libraries.designsystem.components.dialogs_SingleSelectionDialogContent_Dialogs_en","",0,], ["libraries.designsystem.components.dialogs_SingleSelectionDialog_Day_0_en","libraries.designsystem.components.dialogs_SingleSelectionDialog_Night_0_en",0,], ["libraries.designsystem.components.list_SingleSelectionListItemCustomFormattert_Single selection List item - custom formatter_List items_en","",0,], @@ -929,7 +931,7 @@ export const screenshots = [ ["libraries.designsystem.components.list_SingleSelectionListItemUnselectedWithSupportingText_Single selection List item - no selection, supporting text_List items_en","",0,], ["libraries.designsystem.components.list_SingleSelectionListItem_Single selection List item - no selection_List items_en","",0,], ["libraries.designsystem.theme.components_Sliders_Sliders_en","",0,], -["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",19989,], +["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",19993,], ["libraries.designsystem.theme.components_SnackbarWithActionAndCloseButton_Snackbar with action and close button_Snackbars_en","",0,], ["libraries.designsystem.theme.components_SnackbarWithActionOnNewLineAndCloseButton_Snackbar with action and close button on new line_Snackbars_en","",0,], ["libraries.designsystem.theme.components_SnackbarWithActionOnNewLine_Snackbar with action on new line_Snackbars_en","",0,], @@ -939,37 +941,37 @@ export const screenshots = [ ["libraries.designsystem.modifiers_SquareSizeModifierLargeHeight_en","",0,], ["libraries.designsystem.modifiers_SquareSizeModifierLargeWidth_en","",0,], ["features.location.api.internal_StaticMapPlaceholder_Day_0_en","features.location.api.internal_StaticMapPlaceholder_Night_0_en",0,], -["features.location.api.internal_StaticMapPlaceholder_Day_1_en","features.location.api.internal_StaticMapPlaceholder_Night_1_en",19989,], +["features.location.api.internal_StaticMapPlaceholder_Day_1_en","features.location.api.internal_StaticMapPlaceholder_Night_1_en",19993,], ["features.location.api_StaticMapView_Day_0_en","features.location.api_StaticMapView_Night_0_en",0,], -["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",19989,], +["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",19993,], ["libraries.designsystem.atomic.pages_SunsetPage_Day_0_en","libraries.designsystem.atomic.pages_SunsetPage_Night_0_en",0,], ["libraries.designsystem.components.button_SuperButton_Day_0_en","libraries.designsystem.components.button_SuperButton_Night_0_en",0,], ["libraries.designsystem.theme.components_Surface_en","",0,], ["libraries.designsystem.theme.components_Switch_Toggles_en","",0,], -["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",19989,], +["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",19993,], ["libraries.designsystem.theme.components_TextButtonLargeLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonLarge_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonMediumLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonMedium_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonSmall_Buttons_en","",0,], -["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",19989,], -["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",19989,], -["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",19989,], -["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",19989,], -["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",19989,], -["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",19989,], -["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",19989,], +["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",19993,], +["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",19993,], +["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",19993,], +["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",19993,], +["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",19993,], +["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",19993,], +["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",19993,], ["libraries.textcomposer_TextComposerVoice_Day_0_en","libraries.textcomposer_TextComposerVoice_Night_0_en",0,], ["libraries.designsystem.theme.components_TextDark_Text_en","",0,], ["libraries.designsystem.theme.components_TextFieldDark_TextFields_en","",0,], @@ -981,26 +983,26 @@ export const screenshots = [ ["libraries.designsystem.theme.components_TextFieldValueTextFieldDark_TextFields_en","",0,], ["libraries.textcomposer.components_TextFormatting_Day_0_en","libraries.textcomposer.components_TextFormatting_Night_0_en",0,], ["libraries.designsystem.theme.components_TextLight_Text_en","",0,], -["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en","",19989,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",19989,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",19989,], +["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en","",19993,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",19993,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",19993,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_0_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_1_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_2_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",19989,], -["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",19989,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",19993,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",19993,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_5_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_6_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_6_en",0,], ["features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Day_0_en","features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",19989,], +["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",19993,], ["features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Night_0_en",0,], ["features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Day_1_en","features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Night_1_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",19989,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",19989,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",19989,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",19993,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",19993,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",19993,], ["features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowForDirectRoom_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowForDirectRoom_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowLongSenderName_en","",0,], @@ -1008,16 +1010,16 @@ export const screenshots = [ ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",19989,], -["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",19989,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",19993,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",19993,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_5_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_6_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_6_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",19989,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",19993,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",19989,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",19989,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",19993,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",19993,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_0_en",0,], @@ -1026,36 +1028,36 @@ export const screenshots = [ ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_2_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_3_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",19989,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",19993,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_5_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_6_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_6_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_7_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_7_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",19989,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",19993,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_9_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_9_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRow_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRow_Night_0_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",19989,], +["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",19993,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",19989,], -["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",19989,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",19993,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",19993,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_2_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemInformativeView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemInformativeView_Night_0_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",19989,], +["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",19993,], ["features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_1_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",19989,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",19989,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",19989,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",19989,], -["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",19989,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",19993,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",19993,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",19993,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",19993,], +["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",19993,], ["features.messages.impl.timeline.components_TimelineItemReactionsViewFew_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewFew_Night_0_en",0,], -["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",19989,], -["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",19989,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",19993,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",19993,], ["features.messages.impl.timeline.components_TimelineItemReactionsView_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsView_Night_0_en",0,], -["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",19989,], +["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",19993,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_0_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_0_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_1_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_1_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_2_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_2_en",0,], @@ -1064,8 +1066,8 @@ export const screenshots = [ ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_5_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_5_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_6_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_6_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_7_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_7_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",19989,], -["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",19989,], +["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",19993,], +["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",19993,], ["features.messages.impl.timeline.components_TimelineItemStateEventRow_Day_0_en","features.messages.impl.timeline.components_TimelineItemStateEventRow_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStateView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemStateView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_0_en",0,], @@ -1077,7 +1079,7 @@ export const screenshots = [ ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_3_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_4_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_4_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_5_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_5_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",19989,], +["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",19993,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_2_en",0,], @@ -1099,84 +1101,84 @@ export const screenshots = [ ["features.messages.impl.timeline.components.event_TimelineItemVoiceView_Day_9_en","features.messages.impl.timeline.components.event_TimelineItemVoiceView_Night_9_en",0,], ["features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Day_0_en","features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Night_0_en",0,], -["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",19989,], -["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",19989,], +["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",19993,], ["features.messages.impl.timeline_TimelineView_Day_10_en","features.messages.impl.timeline_TimelineView_Night_10_en",0,], -["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",19989,], -["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",19989,], -["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",19989,], -["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",19989,], -["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",19989,], -["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",19989,], -["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",19989,], -["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",19989,], +["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",19993,], ["features.messages.impl.timeline_TimelineView_Day_2_en","features.messages.impl.timeline_TimelineView_Night_2_en",0,], ["features.messages.impl.timeline_TimelineView_Day_3_en","features.messages.impl.timeline_TimelineView_Night_3_en",0,], -["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",19989,], +["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",19993,], ["features.messages.impl.timeline_TimelineView_Day_5_en","features.messages.impl.timeline_TimelineView_Night_5_en",0,], -["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",19989,], +["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",19993,], ["features.messages.impl.timeline_TimelineView_Day_7_en","features.messages.impl.timeline_TimelineView_Night_7_en",0,], -["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",19989,], +["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",19993,], ["features.messages.impl.timeline_TimelineView_Day_9_en","features.messages.impl.timeline_TimelineView_Night_9_en",0,], ["libraries.designsystem.theme.components_TopAppBar_App Bars_en","",0,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",19989,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",19989,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",19989,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",19989,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",19989,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",19989,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",19989,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",19989,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",19993,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",19993,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",19993,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",19993,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",19993,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",19993,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",19993,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",19993,], ["features.messages.impl.typing_TypingNotificationView_Day_0_en","features.messages.impl.typing_TypingNotificationView_Night_0_en",0,], -["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",19989,], -["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",19989,], -["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",19989,], -["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",19989,], -["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",19989,], -["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",19989,], +["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",19993,], +["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",19993,], +["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",19993,], +["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",19993,], +["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",19993,], +["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",19993,], ["features.messages.impl.typing_TypingNotificationView_Day_7_en","features.messages.impl.typing_TypingNotificationView_Night_7_en",0,], ["features.messages.impl.typing_TypingNotificationView_Day_8_en","features.messages.impl.typing_TypingNotificationView_Night_8_en",0,], ["libraries.designsystem.atomic.atoms_UnreadIndicatorAtom_Day_0_en","libraries.designsystem.atomic.atoms_UnreadIndicatorAtom_Night_0_en",0,], -["libraries.matrix.ui.components_UnresolvedUserRow_en","",19989,], +["libraries.matrix.ui.components_UnresolvedUserRow_en","",19993,], ["libraries.matrix.ui.components_UnsavedAvatar_Day_0_en","libraries.matrix.ui.components_UnsavedAvatar_Night_0_en",0,], ["libraries.designsystem.components.avatar_UserAvatarColors_Day_0_en","libraries.designsystem.components.avatar_UserAvatarColors_Night_0_en",0,], -["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",19989,], -["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",19989,], -["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",19989,], -["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",19989,], +["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",19993,], +["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",19993,], +["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",19993,], +["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",19993,], ["features.createroom.impl.components_UserListView_Day_3_en","features.createroom.impl.components_UserListView_Night_3_en",0,], ["features.createroom.impl.components_UserListView_Day_4_en","features.createroom.impl.components_UserListView_Night_4_en",0,], ["features.createroom.impl.components_UserListView_Day_5_en","features.createroom.impl.components_UserListView_Night_5_en",0,], ["features.createroom.impl.components_UserListView_Day_6_en","features.createroom.impl.components_UserListView_Night_6_en",0,], -["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",19989,], +["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",19993,], ["features.createroom.impl.components_UserListView_Day_8_en","features.createroom.impl.components_UserListView_Night_8_en",0,], -["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",19989,], +["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",19993,], ["features.preferences.impl.user_UserPreferences_Day_0_en","features.preferences.impl.user_UserPreferences_Night_0_en",0,], ["features.preferences.impl.user_UserPreferences_Day_1_en","features.preferences.impl.user_UserPreferences_Night_1_en",0,], ["features.preferences.impl.user_UserPreferences_Day_2_en","features.preferences.impl.user_UserPreferences_Night_2_en",0,], ["features.userprofile.shared_UserProfileHeaderSection_Day_0_en","features.userprofile.shared_UserProfileHeaderSection_Night_0_en",0,], -["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",19989,], -["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",19989,], -["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",19989,], -["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",19989,], -["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",19989,], -["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",19989,], -["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",19989,], -["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",19989,], -["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",19989,], -["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",19989,], -["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",19989,], +["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",19993,], +["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",19993,], +["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",19993,], +["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",19993,], +["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",19993,], +["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",19993,], +["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",19993,], +["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",19993,], +["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",19993,], +["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",19993,], +["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",19993,], ["features.verifysession.impl_VerifySelfSessionView_Day_11_en","features.verifysession.impl_VerifySelfSessionView_Night_11_en",0,], ["features.verifysession.impl_VerifySelfSessionView_Day_12_en","features.verifysession.impl_VerifySelfSessionView_Night_12_en",0,], -["features.verifysession.impl_VerifySelfSessionView_Day_1_en","features.verifysession.impl_VerifySelfSessionView_Night_1_en",19989,], -["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",19989,], -["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",19989,], -["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",19989,], -["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",19989,], -["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",19989,], -["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",19989,], -["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",19989,], -["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",19989,], +["features.verifysession.impl_VerifySelfSessionView_Day_1_en","features.verifysession.impl_VerifySelfSessionView_Night_1_en",19993,], +["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",19993,], +["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",19993,], +["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",19993,], +["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",19993,], +["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",19993,], +["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",19993,], +["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",19993,], +["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",19993,], ["libraries.designsystem.ruler_VerticalRuler_Day_0_en","libraries.designsystem.ruler_VerticalRuler_Night_0_en",0,], ["features.viewfolder.impl.file_ViewFileView_Day_0_en","features.viewfolder.impl.file_ViewFileView_Night_0_en",0,], ["features.viewfolder.impl.file_ViewFileView_Day_1_en","features.viewfolder.impl.file_ViewFileView_Night_1_en",0,], @@ -1191,6 +1193,6 @@ export const screenshots = [ ["libraries.textcomposer.components_VoiceMessageRecording_Day_0_en","libraries.textcomposer.components_VoiceMessageRecording_Night_0_en",0,], ["libraries.textcomposer.components_VoiceMessage_Day_0_en","libraries.textcomposer.components_VoiceMessage_Night_0_en",0,], ["libraries.designsystem.components.media_WaveformPlaybackView_Day_0_en","libraries.designsystem.components.media_WaveformPlaybackView_Night_0_en",0,], -["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",19989,], +["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",19993,], ["libraries.designsystem.ruler_WithRulers_Day_0_en","libraries.designsystem.ruler_WithRulers_Night_0_en",0,], ]; From 78da5a91b5fd831daf55f9a8fb97840159b00464 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 30 Sep 2024 09:48:59 +0200 Subject: [PATCH 044/151] Fix crash when aspectRatio is null. --- .../event/TimelineItemAspectRatioBox.kt | 2 +- .../components/event/TimelineItemImageView.kt | 14 +++++++++++++- .../event/TimelineItemStickerView.kt | 5 ++--- .../components/event/TimelineItemVideoView.kt | 18 ++++++++++++++++-- 4 files changed, 32 insertions(+), 7 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt index 7b2e2099d4..48072ce5bf 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.unit.dp const val MIN_HEIGHT_IN_DP = 100 const val MAX_HEIGHT_IN_DP = 360 -private const val DEFAULT_ASPECT_RATIO = 1.33f +const val DEFAULT_ASPECT_RATIO = 1.33f @Composable fun TimelineItemAspectRatioBox( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt index b876fc3a3f..af401dc56a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt @@ -100,9 +100,10 @@ fun TimelineItemImageView( LocalContentColor provides ElementTheme.colors.textPrimary, LocalTextStyle provides ElementTheme.typography.fontBodyLgRegular ) { + val aspectRatio = content.aspectRatio ?: DEFAULT_ASPECT_RATIO EditorStyledText( modifier = Modifier - .widthIn(min = MIN_HEIGHT_IN_DP.dp * content.aspectRatio!!, max = MAX_HEIGHT_IN_DP.dp * content.aspectRatio), + .widthIn(min = MIN_HEIGHT_IN_DP.dp * aspectRatio, max = MAX_HEIGHT_IN_DP.dp * aspectRatio), text = caption, style = ElementRichTextEditorStyle.textStyle(), releaseOnDetach = false, @@ -136,5 +137,16 @@ internal fun TimelineImageWithCaptionRowPreview() = ElementPreview { ), ) } + ATimelineItemEventRow( + event = aTimelineItemEvent( + isMine = false, + content = aTimelineItemImageContent().copy( + filename = "image.jpg", + body = "Image with null aspectRatio", + aspectRatio = null, + ), + groupPosition = TimelineItemGroupPosition.Last, + ), + ) } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt index 684e3ea54a..f895eddc85 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt @@ -23,18 +23,17 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.ui.media.MediaRequestData private const val STICKER_SIZE_IN_DP = 128 -private const val DEFAULT_ASPECT_RATIO = 1.33f @Composable fun TimelineItemStickerView( content: TimelineItemStickerContent, modifier: Modifier = Modifier, ) { - val safeAspectRatio = content.aspectRatio ?: DEFAULT_ASPECT_RATIO + val aspectRatio = content.aspectRatio ?: DEFAULT_ASPECT_RATIO Box( modifier = modifier .heightIn(min = STICKER_SIZE_IN_DP.dp, max = STICKER_SIZE_IN_DP.dp) - .aspectRatio(safeAspectRatio, false), + .aspectRatio(aspectRatio, false), contentAlignment = Alignment.TopStart, ) { BlurHashAsyncImage( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt index a571403e40..31cb5f1607 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt @@ -72,7 +72,9 @@ fun TimelineItemVideoView( modifier = modifier.semantics { contentDescription = description } ) { val containerModifier = if (content.showCaption) { - Modifier.padding(top = 6.dp).clip(RoundedCornerShape(6.dp)) + Modifier + .padding(top = 6.dp) + .clip(RoundedCornerShape(6.dp)) } else { Modifier } @@ -116,9 +118,10 @@ fun TimelineItemVideoView( LocalContentColor provides ElementTheme.colors.textPrimary, LocalTextStyle provides ElementTheme.typography.fontBodyLgRegular, ) { + val aspectRatio = content.aspectRatio ?: DEFAULT_ASPECT_RATIO EditorStyledText( modifier = Modifier - .widthIn(min = MIN_HEIGHT_IN_DP.dp * content.aspectRatio!!, max = MAX_HEIGHT_IN_DP.dp * content.aspectRatio), + .widthIn(min = MIN_HEIGHT_IN_DP.dp * aspectRatio, max = MAX_HEIGHT_IN_DP.dp * aspectRatio), text = caption, style = ElementRichTextEditorStyle.textStyle(), releaseOnDetach = false, @@ -152,5 +155,16 @@ internal fun TimelineVideoWithCaptionRowPreview() = ElementPreview { ), ) } + ATimelineItemEventRow( + event = aTimelineItemEvent( + isMine = false, + content = aTimelineItemVideoContent().copy( + filename = "video.mp4", + body = "Video with null aspect ratio", + aspectRatio = null, + ), + groupPosition = TimelineItemGroupPosition.Last, + ), + ) } } From 6a8086c9c1e1886933aa3823013aa6bb5f7fdbd3 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Mon, 30 Sep 2024 08:02:28 +0000 Subject: [PATCH 045/151] Update screenshots --- ....components.event_TimelineImageWithCaptionRow_Day_0_en.png | 4 ++-- ...omponents.event_TimelineImageWithCaptionRow_Night_0_en.png | 4 ++-- ....components.event_TimelineVideoWithCaptionRow_Day_0_en.png | 4 ++-- ...omponents.event_TimelineVideoWithCaptionRow_Night_0_en.png | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Day_0_en.png index f5a62dcc36..399d942e18 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f515c9e3fe7f24c0db3b6daff7d583a4accc71e34deab665aa1977e93132fd2 -size 136015 +oid sha256:926904f8e96ed206835166d6a6d206a8ed2c0ea6895f2e48951b43a5b92aeee7 +size 225862 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Night_0_en.png index 4c0ef97965..aa161e4266 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:29e4c9cf040e4227c653f022b3116eb313c011a3d4df8adceb3cfc826b773b64 -size 135849 +oid sha256:727a7e925722c7addc8b8021259ad15f3cb0e664803bbd4c67959ec1e9ca036a +size 226638 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Day_0_en.png index eb45df9180..847ae35de9 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4b47bf80fce1bdd567644769a14123f4969a808bee08058067bf8e4947cd1174 -size 135073 +oid sha256:0db8b0043cc020fc8f7c7f5b44059486e022dd13080b02368723e253b1c616d7 +size 225018 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Night_0_en.png index d4f164148c..81247e3e07 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:530130c2f5de6bbced25a1b04e7bcb16ebc630dfdfa7f522c055a5b38a851a81 -size 134615 +oid sha256:feaf14edc0d7a8ff1349e9fb051ce883b0de75a2528f9a6650df398b81e82b68 +size 225300 From eeec7cc7853900dc4eb69615d938be622a5a9035 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Mon, 30 Sep 2024 14:20:28 +0200 Subject: [PATCH 046/151] Centralise the DI code generation logic (#3562) * Create Anvil extension helper * Use the helper everywhere --- app/build.gradle.kts | 13 ++-- appnav/build.gradle.kts | 10 +--- features/analytics/impl/build.gradle.kts | 9 +-- features/cachecleaner/impl/build.gradle.kts | 9 +-- features/call/impl/build.gradle.kts | 8 +-- features/createroom/impl/build.gradle.kts | 9 +-- features/deactivation/impl/build.gradle.kts | 9 +-- features/ftue/impl/build.gradle.kts | 9 +-- features/invite/impl/build.gradle.kts | 9 +-- features/joinroom/impl/build.gradle.kts | 9 +-- features/leaveroom/impl/build.gradle.kts | 9 +-- features/licenses/impl/build.gradle.kts | 8 +-- features/location/impl/build.gradle.kts | 9 +-- features/lockscreen/impl/build.gradle.kts | 9 +-- features/login/impl/build.gradle.kts | 9 +-- features/logout/impl/build.gradle.kts | 9 +-- features/messages/impl/build.gradle.kts | 9 +-- features/networkmonitor/impl/build.gradle.kts | 7 +-- features/onboarding/impl/build.gradle.kts | 9 +-- features/poll/impl/build.gradle.kts | 9 +-- features/preferences/impl/build.gradle.kts | 9 +-- features/rageshake/impl/build.gradle.kts | 9 +-- .../roomaliasresolver/impl/build.gradle.kts | 9 +-- features/roomdetails/impl/build.gradle.kts | 10 +--- features/roomdirectory/impl/build.gradle.kts | 8 +-- features/roomlist/impl/build.gradle.kts | 9 +-- features/securebackup/impl/build.gradle.kts | 10 +--- features/share/impl/build.gradle.kts | 10 +--- features/signedout/impl/build.gradle.kts | 9 +-- features/userprofile/impl/build.gradle.kts | 10 +--- features/userprofile/shared/build.gradle.kts | 10 +--- features/verifysession/impl/build.gradle.kts | 10 +--- features/viewfolder/impl/build.gradle.kts | 9 +-- gradle/libs.versions.toml | 1 + libraries/androidutils/build.gradle.kts | 9 +-- libraries/cryptography/impl/build.gradle.kts | 9 +-- libraries/dateformatter/impl/build.gradle.kts | 9 +-- libraries/deeplink/build.gradle.kts | 7 +-- .../eventformatter/impl/build.gradle.kts | 10 +--- libraries/featureflag/impl/build.gradle.kts | 7 +-- libraries/featureflag/ui/build.gradle.kts | 9 +-- .../fullscreenintent/impl/build.gradle.kts | 9 +-- libraries/indicator/impl/build.gradle.kts | 9 +-- libraries/matrix/api/build.gradle.kts | 7 +-- libraries/matrix/impl/build.gradle.kts | 7 +-- libraries/matrixui/build.gradle.kts | 9 +-- libraries/mediaplayer/api/build.gradle.kts | 7 +-- libraries/mediaplayer/impl/build.gradle.kts | 7 +-- libraries/mediaupload/api/build.gradle.kts | 44 +++++++------- libraries/mediaupload/impl/build.gradle.kts | 50 ++++++++-------- libraries/mediaviewer/api/build.gradle.kts | 10 +--- libraries/mediaviewer/impl/build.gradle.kts | 10 +--- libraries/network/build.gradle.kts | 7 +-- libraries/oidc/impl/build.gradle.kts | 9 +-- libraries/permissions/impl/build.gradle.kts | 10 +--- libraries/preferences/impl/build.gradle.kts | 7 +-- libraries/push/impl/build.gradle.kts | 7 +-- .../pushproviders/firebase/build.gradle.kts | 7 +-- .../unifiedpush/build.gradle.kts | 7 +-- libraries/pushstore/impl/build.gradle.kts | 7 +-- libraries/roomselect/impl/build.gradle.kts | 9 +-- .../session-storage/impl/build.gradle.kts | 7 +-- libraries/textcomposer/impl/build.gradle.kts | 8 +-- libraries/troubleshoot/impl/build.gradle.kts | 9 +-- libraries/usersearch/impl/build.gradle.kts | 7 +-- libraries/voicerecorder/api/build.gradle.kts | 7 +-- libraries/voicerecorder/impl/build.gradle.kts | 7 +-- plugins/build.gradle.kts | 1 + .../main/kotlin/extension/AnvilExtensions.kt | 59 +++++++++++++++++++ .../kotlin/extension/DependencyHandleScope.kt | 2 + services/analytics/impl/build.gradle.kts | 9 +-- services/analytics/noop/build.gradle.kts | 7 +-- .../posthog/build.gradle.kts | 7 +-- .../sentry/build.gradle.kts | 7 +-- services/apperror/impl/build.gradle.kts | 8 +-- services/appnavstate/impl/build.gradle.kts | 9 +-- services/toolbox/impl/build.gradle.kts | 7 +-- 77 files changed, 322 insertions(+), 442 deletions(-) create mode 100644 plugins/src/main/kotlin/extension/AnvilExtensions.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c2c38ae219..c16d30f618 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -19,14 +19,13 @@ import extension.allLibrariesImpl import extension.allServicesImpl import extension.koverDependencies import extension.locales +import extension.setupAnvil import extension.setupKover import java.util.Locale plugins { id("io.element.android-compose-application") alias(libs.plugins.kotlin.android) - alias(libs.plugins.anvil) - alias(libs.plugins.kapt) // When using precompiled plugins, we need to apply the firebase plugin like this id(libs.plugins.firebaseAppDistribution.get().pluginId) alias(libs.plugins.knit) @@ -233,6 +232,11 @@ knit { } } +setupAnvil( + generateDaggerCode = true, + generateDaggerFactoriesUsingAnvil = false, +) + dependencies { allLibrariesImpl() allServicesImpl() @@ -244,11 +248,9 @@ dependencies { } allFeaturesImpl(rootDir, logger) implementation(projects.features.migration.api) - implementation(projects.anvilannotations) implementation(projects.appnav) implementation(projects.appconfig) implementation(projects.libraries.uiStrings) - anvil(projects.anvilcodegen) if (ModulesConfig.pushProvidersConfig.includeFirebase) { "gplayImplementation"(projects.libraries.pushproviders.firebase) @@ -274,9 +276,6 @@ dependencies { implementation(libs.matrix.emojibase.bindings) - implementation(libs.dagger) - kapt(libs.dagger.compiler) - testImplementation(libs.test.junit) testImplementation(libs.test.robolectric) testImplementation(libs.coroutines.test) diff --git a/appnav/build.gradle.kts b/appnav/build.gradle.kts index fd389645a9..6c35f8e3b9 100644 --- a/appnav/build.gradle.kts +++ b/appnav/build.gradle.kts @@ -8,11 +8,10 @@ @file:Suppress("UnstableApiUsage") import extension.allFeaturesApi +import extension.setupAnvil plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) - alias(libs.plugins.kapt) id("kotlin-parcelize") } @@ -20,12 +19,9 @@ android { namespace = "io.element.android.appnav" } -dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) - implementation(libs.dagger) - kapt(libs.dagger.compiler) +setupAnvil() +dependencies { allFeaturesApi(rootDir, logger) implementation(projects.libraries.core) diff --git a/features/analytics/impl/build.gradle.kts b/features/analytics/impl/build.gradle.kts index 6bae23dffe..fb23cefcf4 100644 --- a/features/analytics/impl/build.gradle.kts +++ b/features/analytics/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -15,13 +16,9 @@ android { namespace = "io.element.android.features.analytics.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.libraries.androidutils) implementation(projects.libraries.core) implementation(projects.libraries.architecture) diff --git a/features/cachecleaner/impl/build.gradle.kts b/features/cachecleaner/impl/build.gradle.kts index e6e796dac4..07abbc564b 100644 --- a/features/cachecleaner/impl/build.gradle.kts +++ b/features/cachecleaner/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,20 +9,15 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.features.cachecleaner.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) api(projects.features.cachecleaner.api) implementation(projects.libraries.core) implementation(projects.libraries.architecture) diff --git a/features/call/impl/build.gradle.kts b/features/call/impl/build.gradle.kts index 3dcb936f63..00077b1c83 100644 --- a/features/call/impl/build.gradle.kts +++ b/features/call/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") alias(libs.plugins.kotlin.serialization) } @@ -24,13 +25,10 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(projects.appconfig) - implementation(projects.anvilannotations) implementation(projects.libraries.architecture) implementation(projects.libraries.core) implementation(projects.libraries.designsystem) diff --git a/features/createroom/impl/build.gradle.kts b/features/createroom/impl/build.gradle.kts index 8a75d420e7..5c216894eb 100644 --- a/features/createroom/impl/build.gradle.kts +++ b/features/createroom/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -21,13 +22,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.libraries.core) implementation(projects.libraries.architecture) implementation(projects.libraries.matrix.api) diff --git a/features/deactivation/impl/build.gradle.kts b/features/deactivation/impl/build.gradle.kts index 25a71098ac..19b4815d13 100644 --- a/features/deactivation/impl/build.gradle.kts +++ b/features/deactivation/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -21,13 +22,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.libraries.androidutils) implementation(projects.libraries.core) implementation(projects.libraries.architecture) diff --git a/features/ftue/impl/build.gradle.kts b/features/ftue/impl/build.gradle.kts index 442e7f1292..a4a0ef8f71 100644 --- a/features/ftue/impl/build.gradle.kts +++ b/features/ftue/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -15,13 +16,9 @@ android { namespace = "io.element.android.features.ftue.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) api(projects.features.ftue.api) implementation(projects.libraries.androidutils) implementation(projects.libraries.core) diff --git a/features/invite/impl/build.gradle.kts b/features/invite/impl/build.gradle.kts index 055695a0f0..d7bc86e3bf 100644 --- a/features/invite/impl/build.gradle.kts +++ b/features/invite/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -15,13 +16,9 @@ android { namespace = "io.element.android.features.invite.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) api(projects.features.invite.api) implementation(libs.androidx.datastore.preferences) implementation(projects.libraries.core) diff --git a/features/joinroom/impl/build.gradle.kts b/features/joinroom/impl/build.gradle.kts index df1f4ed8fc..8f3bcb76ea 100644 --- a/features/joinroom/impl/build.gradle.kts +++ b/features/joinroom/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -20,13 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) api(projects.features.joinroom.api) implementation(projects.libraries.core) implementation(projects.libraries.architecture) diff --git a/features/leaveroom/impl/build.gradle.kts b/features/leaveroom/impl/build.gradle.kts index 6ad62ec24a..2e5be64b8a 100644 --- a/features/leaveroom/impl/build.gradle.kts +++ b/features/leaveroom/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,20 +9,15 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.features.leaveroom.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.libraries.core) implementation(projects.libraries.architecture) implementation(projects.libraries.matrix.api) diff --git a/features/licenses/impl/build.gradle.kts b/features/licenses/impl/build.gradle.kts index a5aa02f3e6..36bbd7ef34 100644 --- a/features/licenses/impl/build.gradle.kts +++ b/features/licenses/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -16,13 +18,9 @@ android { namespace = "io.element.android.features.licenses.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(libs.serialization.json) implementation(projects.libraries.architecture) implementation(projects.libraries.designsystem) diff --git a/features/location/impl/build.gradle.kts b/features/location/impl/build.gradle.kts index eb8af94d6c..d4307015f5 100644 --- a/features/location/impl/build.gradle.kts +++ b/features/location/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } android { @@ -19,9 +20,7 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { api(projects.features.location.api) @@ -39,8 +38,6 @@ dependencies { implementation(libs.accompanist.permission) implementation(projects.libraries.uiStrings) implementation(libs.dagger) - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) testImplementation(libs.test.junit) testImplementation(libs.coroutines.test) diff --git a/features/lockscreen/impl/build.gradle.kts b/features/lockscreen/impl/build.gradle.kts index 6b17bdf0d1..a73958e41f 100644 --- a/features/lockscreen/impl/build.gradle.kts +++ b/features/lockscreen/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -15,13 +16,9 @@ android { namespace = "io.element.android.features.lockscreen.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) api(projects.features.lockscreen.api) implementation(projects.appconfig) implementation(projects.libraries.core) diff --git a/features/login/impl/build.gradle.kts b/features/login/impl/build.gradle.kts index fc783e8733..04901f4fea 100644 --- a/features/login/impl/build.gradle.kts +++ b/features/login/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") alias(libs.plugins.kotlin.serialization) } @@ -22,14 +23,10 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) implementation(projects.appconfig) - anvil(projects.anvilcodegen) implementation(projects.libraries.core) implementation(projects.libraries.androidutils) implementation(projects.libraries.architecture) diff --git a/features/logout/impl/build.gradle.kts b/features/logout/impl/build.gradle.kts index f58ea1c8b9..0058bb8f37 100644 --- a/features/logout/impl/build.gradle.kts +++ b/features/logout/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } android { @@ -20,13 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.libraries.androidutils) implementation(projects.libraries.core) implementation(projects.libraries.architecture) diff --git a/features/messages/impl/build.gradle.kts b/features/messages/impl/build.gradle.kts index f2a5e69f63..892c69ea2c 100644 --- a/features/messages/impl/build.gradle.kts +++ b/features/messages/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -20,13 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) api(projects.features.messages.api) implementation(projects.appconfig) implementation(projects.features.call.api) diff --git a/features/networkmonitor/impl/build.gradle.kts b/features/networkmonitor/impl/build.gradle.kts index cedb7fcdad..8501968df8 100644 --- a/features/networkmonitor/impl/build.gradle.kts +++ b/features/networkmonitor/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,12 +9,9 @@ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() android { namespace = "io.element.android.features.networkmonitor.impl" diff --git a/features/onboarding/impl/build.gradle.kts b/features/onboarding/impl/build.gradle.kts index ac57266e56..5025c28e9c 100644 --- a/features/onboarding/impl/build.gradle.kts +++ b/features/onboarding/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -21,13 +22,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.appconfig) implementation(projects.libraries.core) implementation(projects.libraries.androidutils) diff --git a/features/poll/impl/build.gradle.kts b/features/poll/impl/build.gradle.kts index dd0b9fa8e8..47009040da 100644 --- a/features/poll/impl/build.gradle.kts +++ b/features/poll/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -20,13 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) api(projects.features.poll.api) implementation(projects.libraries.core) implementation(projects.libraries.architecture) diff --git a/features/preferences/impl/build.gradle.kts b/features/preferences/impl/build.gradle.kts index 44a792a625..7cd76442bf 100644 --- a/features/preferences/impl/build.gradle.kts +++ b/features/preferences/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -20,13 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.libraries.androidutils) implementation(projects.appconfig) implementation(projects.libraries.core) diff --git a/features/rageshake/impl/build.gradle.kts b/features/rageshake/impl/build.gradle.kts index 2ba2f1767d..6c2e4c9505 100644 --- a/features/rageshake/impl/build.gradle.kts +++ b/features/rageshake/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -21,13 +22,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.appconfig) implementation(projects.services.toolbox.api) implementation(projects.libraries.androidutils) diff --git a/features/roomaliasresolver/impl/build.gradle.kts b/features/roomaliasresolver/impl/build.gradle.kts index b2383820ea..22d5370b8c 100644 --- a/features/roomaliasresolver/impl/build.gradle.kts +++ b/features/roomaliasresolver/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -20,13 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) api(projects.features.roomaliasresolver.api) implementation(projects.libraries.core) implementation(projects.libraries.architecture) diff --git a/features/roomdetails/impl/build.gradle.kts b/features/roomdetails/impl/build.gradle.kts index 2998a82dc5..c8bf9d36f1 100644 --- a/features/roomdetails/impl/build.gradle.kts +++ b/features/roomdetails/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -20,14 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.anvilannotations) - implementation(projects.libraries.core) implementation(projects.libraries.architecture) implementation(projects.libraries.matrix.api) diff --git a/features/roomdirectory/impl/build.gradle.kts b/features/roomdirectory/impl/build.gradle.kts index 54f78949c4..6d05cad8e3 100644 --- a/features/roomdirectory/impl/build.gradle.kts +++ b/features/roomdirectory/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2024 New Vector Ltd. * @@ -20,13 +22,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) api(projects.features.roomdirectory.api) implementation(projects.libraries.core) implementation(projects.libraries.architecture) diff --git a/features/roomlist/impl/build.gradle.kts b/features/roomlist/impl/build.gradle.kts index ce747859f5..d6b30a2b17 100644 --- a/features/roomlist/impl/build.gradle.kts +++ b/features/roomlist/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -21,13 +22,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.appconfig) implementation(projects.libraries.core) implementation(projects.libraries.androidutils) diff --git a/features/securebackup/impl/build.gradle.kts b/features/securebackup/impl/build.gradle.kts index f7250c768d..72ab706757 100644 --- a/features/securebackup/impl/build.gradle.kts +++ b/features/securebackup/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -21,14 +22,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.anvilannotations) - implementation(projects.appconfig) implementation(projects.libraries.core) implementation(projects.libraries.androidutils) diff --git a/features/share/impl/build.gradle.kts b/features/share/impl/build.gradle.kts index 33e85f88e4..24fe6231a9 100644 --- a/features/share/impl/build.gradle.kts +++ b/features/share/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -21,14 +22,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.anvilannotations) - implementation(projects.appconfig) implementation(projects.libraries.androidutils) implementation(projects.libraries.core) diff --git a/features/signedout/impl/build.gradle.kts b/features/signedout/impl/build.gradle.kts index 8d8b3f518c..23707802ee 100644 --- a/features/signedout/impl/build.gradle.kts +++ b/features/signedout/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -15,13 +16,9 @@ android { namespace = "io.element.android.features.signedout.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) api(projects.features.signedout.api) implementation(projects.libraries.core) implementation(projects.libraries.architecture) diff --git a/features/userprofile/impl/build.gradle.kts b/features/userprofile/impl/build.gradle.kts index f647e29621..678684f4b9 100644 --- a/features/userprofile/impl/build.gradle.kts +++ b/features/userprofile/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -20,14 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.anvilannotations) - implementation(projects.libraries.core) implementation(projects.libraries.architecture) implementation(projects.libraries.matrix.api) diff --git a/features/userprofile/shared/build.gradle.kts b/features/userprofile/shared/build.gradle.kts index f190b79956..18c668efe6 100644 --- a/features/userprofile/shared/build.gradle.kts +++ b/features/userprofile/shared/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -20,14 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.anvilannotations) - implementation(projects.libraries.core) implementation(projects.libraries.architecture) implementation(projects.libraries.matrix.api) diff --git a/features/verifysession/impl/build.gradle.kts b/features/verifysession/impl/build.gradle.kts index 5be533a2ea..27aeaa7bc3 100644 --- a/features/verifysession/impl/build.gradle.kts +++ b/features/verifysession/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } android { @@ -19,14 +20,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.anvilannotations) - implementation(projects.libraries.core) implementation(projects.libraries.architecture) implementation(projects.libraries.matrix.api) diff --git a/features/viewfolder/impl/build.gradle.kts b/features/viewfolder/impl/build.gradle.kts index 02cf4fc869..5f45cbeffc 100644 --- a/features/viewfolder/impl/build.gradle.kts +++ b/features/viewfolder/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -15,13 +16,9 @@ android { namespace = "io.element.android.features.viewfolder.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.libraries.androidutils) implementation(projects.libraries.architecture) implementation(projects.libraries.core) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 748fb1d161..510c8c0295 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -63,6 +63,7 @@ kover = "0.8.3" android_gradle_plugin = { module = "com.android.tools.build:gradle", version.ref = "android_gradle_plugin" } # https://developer.android.com/studio/write/java8-support#library-desugaring-versions android_desugar = "com.android.tools:desugar_jdk_libs:2.1.2" +anvil_gradle_plugin = { module = "com.squareup.anvil:gradle-plugin", version.ref = "anvil" } kotlin_gradle_plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } kover_gradle_plugin = { module = "org.jetbrains.kotlinx:kover-gradle-plugin", version.ref = "kover" } gms_google_services = "com.google.gms:google-services:4.4.2" diff --git a/libraries/androidutils/build.gradle.kts b/libraries/androidutils/build.gradle.kts index 65d0499cc7..e6a9bf20f0 100644 --- a/libraries/androidutils/build.gradle.kts +++ b/libraries/androidutils/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,7 +8,6 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { @@ -17,13 +18,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.anvilannotations) implementation(projects.libraries.di) implementation(projects.libraries.core) diff --git a/libraries/cryptography/impl/build.gradle.kts b/libraries/cryptography/impl/build.gradle.kts index 2d1ed0ab55..8ce34477ab 100644 --- a/libraries/cryptography/impl/build.gradle.kts +++ b/libraries/cryptography/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,21 +9,16 @@ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.libraries.cryptography.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) implementation(libs.dagger) - implementation(projects.anvilannotations) implementation(projects.libraries.di) api(projects.libraries.cryptography.api) diff --git a/libraries/dateformatter/impl/build.gradle.kts b/libraries/dateformatter/impl/build.gradle.kts index e28a30bd0b..eb05eb18e0 100644 --- a/libraries/dateformatter/impl/build.gradle.kts +++ b/libraries/dateformatter/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,21 +9,16 @@ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() android { namespace = "io.element.android.libraries.dateformatter.impl" dependencies { - anvil(projects.anvilcodegen) implementation(libs.dagger) implementation(projects.libraries.di) - implementation(projects.anvilannotations) api(projects.libraries.dateformatter.api) api(libs.datetime) diff --git a/libraries/deeplink/build.gradle.kts b/libraries/deeplink/build.gradle.kts index 8a2f7e7095..565281fe50 100644 --- a/libraries/deeplink/build.gradle.kts +++ b/libraries/deeplink/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -6,16 +8,13 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.libraries.deeplink" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(projects.libraries.di) diff --git a/libraries/eventformatter/impl/build.gradle.kts b/libraries/eventformatter/impl/build.gradle.kts index ec38194702..aa5713f745 100644 --- a/libraries/eventformatter/impl/build.gradle.kts +++ b/libraries/eventformatter/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } android { @@ -20,14 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.anvilannotations) - implementation(projects.libraries.core) implementation(projects.libraries.architecture) implementation(projects.libraries.matrix.api) diff --git a/libraries/featureflag/impl/build.gradle.kts b/libraries/featureflag/impl/build.gradle.kts index 49597c8f99..b676acdd6e 100644 --- a/libraries/featureflag/impl/build.gradle.kts +++ b/libraries/featureflag/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -15,9 +16,7 @@ android { namespace = "io.element.android.libraries.featureflag.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { api(projects.libraries.featureflag.api) diff --git a/libraries/featureflag/ui/build.gradle.kts b/libraries/featureflag/ui/build.gradle.kts index 00979f3ad1..32b0d94b13 100644 --- a/libraries/featureflag/ui/build.gradle.kts +++ b/libraries/featureflag/ui/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -15,12 +16,8 @@ android { namespace = "io.element.android.libraries.featureflag.ui" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.libraries.designsystem) } diff --git a/libraries/fullscreenintent/impl/build.gradle.kts b/libraries/fullscreenintent/impl/build.gradle.kts index aabac1adee..a467e11fb2 100644 --- a/libraries/fullscreenintent/impl/build.gradle.kts +++ b/libraries/fullscreenintent/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2024 New Vector Ltd. * @@ -7,21 +9,16 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.libraries.fullscreenintent.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { api(projects.libraries.fullscreenintent.api) - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.libraries.core) implementation(projects.libraries.architecture) implementation(projects.libraries.permissions.api) diff --git a/libraries/indicator/impl/build.gradle.kts b/libraries/indicator/impl/build.gradle.kts index 9ee1faf615..770f2d1ed3 100644 --- a/libraries/indicator/impl/build.gradle.kts +++ b/libraries/indicator/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,24 +9,19 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() android { namespace = "io.element.android.libraries.indicator.impl" } dependencies { - anvil(projects.anvilcodegen) implementation(libs.dagger) implementation(projects.libraries.di) implementation(projects.libraries.featureflag.api) implementation(projects.libraries.matrix.api) - implementation(projects.anvilannotations) implementation(libs.coroutines.core) diff --git a/libraries/matrix/api/build.gradle.kts b/libraries/matrix/api/build.gradle.kts index 4c3b829949..cfdf2297ff 100644 --- a/libraries/matrix/api/build.gradle.kts +++ b/libraries/matrix/api/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -8,7 +10,6 @@ plugins { id("io.element.android-compose-library") id("kotlin-parcelize") - alias(libs.plugins.anvil) alias(libs.plugins.kotlin.serialization) } @@ -20,9 +21,7 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(projects.libraries.di) diff --git a/libraries/matrix/impl/build.gradle.kts b/libraries/matrix/impl/build.gradle.kts index ebad958bb7..35d746f572 100644 --- a/libraries/matrix/impl/build.gradle.kts +++ b/libraries/matrix/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) alias(libs.plugins.kotlin.serialization) } @@ -15,9 +16,7 @@ android { namespace = "io.element.android.libraries.matrix.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { releaseImplementation(libs.matrix.sdk) diff --git a/libraries/matrixui/build.gradle.kts b/libraries/matrixui/build.gradle.kts index 2ce1b84b2c..39e40733a8 100644 --- a/libraries/matrixui/build.gradle.kts +++ b/libraries/matrixui/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -20,13 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.libraries.di) implementation(projects.libraries.architecture) implementation(projects.libraries.androidutils) diff --git a/libraries/mediaplayer/api/build.gradle.kts b/libraries/mediaplayer/api/build.gradle.kts index 5e090b2f99..dcf0473c50 100644 --- a/libraries/mediaplayer/api/build.gradle.kts +++ b/libraries/mediaplayer/api/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,16 +8,13 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.libraries.mediaplayer.api" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(projects.libraries.matrix.api) diff --git a/libraries/mediaplayer/impl/build.gradle.kts b/libraries/mediaplayer/impl/build.gradle.kts index 1ef6cc084d..87340c314b 100644 --- a/libraries/mediaplayer/impl/build.gradle.kts +++ b/libraries/mediaplayer/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,16 +8,13 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.libraries.mediaplayer.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { api(projects.libraries.mediaplayer.api) diff --git a/libraries/mediaupload/api/build.gradle.kts b/libraries/mediaupload/api/build.gradle.kts index d89e0d976f..34e409d0aa 100644 --- a/libraries/mediaupload/api/build.gradle.kts +++ b/libraries/mediaupload/api/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,34 +9,28 @@ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } +setupAnvil() + android { namespace = "io.element.android.libraries.mediaupload.api" +} - anvil { - generateDaggerFactories.set(true) - } - - dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) - - implementation(projects.libraries.architecture) - implementation(projects.libraries.androidutils) - implementation(projects.libraries.core) - implementation(projects.libraries.di) - api(projects.libraries.matrix.api) - implementation(libs.inject) - implementation(libs.coroutines.core) +dependencies { + implementation(projects.libraries.architecture) + implementation(projects.libraries.androidutils) + implementation(projects.libraries.core) + implementation(projects.libraries.di) + api(projects.libraries.matrix.api) + implementation(libs.inject) + implementation(libs.coroutines.core) - testImplementation(projects.libraries.matrix.test) - testImplementation(projects.libraries.mediaupload.test) - testImplementation(projects.tests.testutils) - testImplementation(libs.test.junit) - testImplementation(libs.test.truth) - testImplementation(libs.coroutines.test) - testImplementation(libs.test.robolectric) - } + testImplementation(projects.libraries.matrix.test) + testImplementation(projects.libraries.mediaupload.test) + testImplementation(projects.tests.testutils) + testImplementation(libs.test.junit) + testImplementation(libs.test.truth) + testImplementation(libs.coroutines.test) + testImplementation(libs.test.robolectric) } diff --git a/libraries/mediaupload/impl/build.gradle.kts b/libraries/mediaupload/impl/build.gradle.kts index 0cebef2873..f2bdc6abaf 100644 --- a/libraries/mediaupload/impl/build.gradle.kts +++ b/libraries/mediaupload/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,44 +9,38 @@ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.libraries.mediaupload.impl" - anvil { - generateDaggerFactories.set(true) - } - testOptions { unitTests { isIncludeAndroidResources = true } } +} - dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) +setupAnvil() - api(projects.libraries.mediaupload.api) - implementation(projects.libraries.architecture) - implementation(projects.libraries.androidutils) - implementation(projects.libraries.core) - implementation(projects.libraries.di) - implementation(projects.libraries.matrix.api) - implementation(projects.services.toolbox.api) - implementation(libs.inject) - implementation(libs.androidx.exifinterface) - implementation(libs.coroutines.core) - implementation(libs.otaliastudios.transcoder) - implementation(libs.vanniktech.blurhash) +dependencies { + api(projects.libraries.mediaupload.api) + implementation(projects.libraries.architecture) + implementation(projects.libraries.androidutils) + implementation(projects.libraries.core) + implementation(projects.libraries.di) + implementation(projects.libraries.matrix.api) + implementation(projects.services.toolbox.api) + implementation(libs.inject) + implementation(libs.androidx.exifinterface) + implementation(libs.coroutines.core) + implementation(libs.otaliastudios.transcoder) + implementation(libs.vanniktech.blurhash) - testImplementation(libs.test.junit) - testImplementation(libs.test.robolectric) - testImplementation(libs.coroutines.test) - testImplementation(libs.test.truth) - testImplementation(projects.tests.testutils) - testImplementation(projects.services.toolbox.test) - } + testImplementation(libs.test.junit) + testImplementation(libs.test.robolectric) + testImplementation(libs.coroutines.test) + testImplementation(libs.test.truth) + testImplementation(projects.tests.testutils) + testImplementation(projects.services.toolbox.test) } diff --git a/libraries/mediaviewer/api/build.gradle.kts b/libraries/mediaviewer/api/build.gradle.kts index c37edb1781..d55528bbe3 100644 --- a/libraries/mediaviewer/api/build.gradle.kts +++ b/libraries/mediaviewer/api/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,7 +8,6 @@ */ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -19,14 +20,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.anvilannotations) - implementation(libs.coil.compose) implementation(libs.androidx.media3.exoplayer) implementation(libs.androidx.media3.ui) diff --git a/libraries/mediaviewer/impl/build.gradle.kts b/libraries/mediaviewer/impl/build.gradle.kts index f282064ec6..a814f64ab7 100644 --- a/libraries/mediaviewer/impl/build.gradle.kts +++ b/libraries/mediaviewer/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,7 +8,6 @@ */ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -14,14 +15,9 @@ android { namespace = "io.element.android.libraries.mediaviewer.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.anvilannotations) - implementation(libs.coroutines.core) implementation(libs.dagger) diff --git a/libraries/network/build.gradle.kts b/libraries/network/build.gradle.kts index 06fd48849c..b31a8ffce4 100644 --- a/libraries/network/build.gradle.kts +++ b/libraries/network/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,7 +8,6 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { @@ -19,9 +20,7 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(libs.dagger) diff --git a/libraries/oidc/impl/build.gradle.kts b/libraries/oidc/impl/build.gradle.kts index 10f7af2641..d99aff121e 100644 --- a/libraries/oidc/impl/build.gradle.kts +++ b/libraries/oidc/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") alias(libs.plugins.kotlin.serialization) } @@ -22,14 +23,10 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) implementation(projects.appconfig) - anvil(projects.anvilcodegen) implementation(projects.libraries.core) implementation(projects.libraries.androidutils) implementation(projects.libraries.architecture) diff --git a/libraries/permissions/impl/build.gradle.kts b/libraries/permissions/impl/build.gradle.kts index 4ce6eab894..64a67126c2 100644 --- a/libraries/permissions/impl/build.gradle.kts +++ b/libraries/permissions/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } android { @@ -20,14 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.anvilannotations) - implementation(libs.accompanist.permission) implementation(libs.androidx.datastore.preferences) diff --git a/libraries/preferences/impl/build.gradle.kts b/libraries/preferences/impl/build.gradle.kts index deb377cea7..5425a0b179 100644 --- a/libraries/preferences/impl/build.gradle.kts +++ b/libraries/preferences/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,16 +9,13 @@ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.libraries.preferences.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { api(projects.libraries.preferences.api) diff --git a/libraries/push/impl/build.gradle.kts b/libraries/push/impl/build.gradle.kts index 51758bc928..74d6ba3182 100644 --- a/libraries/push/impl/build.gradle.kts +++ b/libraries/push/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,7 +8,6 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) alias(libs.plugins.kotlin.serialization) } @@ -20,9 +21,7 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(libs.dagger) diff --git a/libraries/pushproviders/firebase/build.gradle.kts b/libraries/pushproviders/firebase/build.gradle.kts index 00c8feb49e..91fdd91816 100644 --- a/libraries/pushproviders/firebase/build.gradle.kts +++ b/libraries/pushproviders/firebase/build.gradle.kts @@ -7,9 +7,10 @@ @file:Suppress("UnstableApiUsage") +import extension.setupAnvil + plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { @@ -55,9 +56,7 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(libs.dagger) diff --git a/libraries/pushproviders/unifiedpush/build.gradle.kts b/libraries/pushproviders/unifiedpush/build.gradle.kts index 489de1ac69..737660bed8 100644 --- a/libraries/pushproviders/unifiedpush/build.gradle.kts +++ b/libraries/pushproviders/unifiedpush/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,7 +8,6 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) alias(libs.plugins.kotlin.serialization) } @@ -14,9 +15,7 @@ android { namespace = "io.element.android.libraries.pushproviders.unifiedpush" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(libs.dagger) diff --git a/libraries/pushstore/impl/build.gradle.kts b/libraries/pushstore/impl/build.gradle.kts index 572d49fe4a..cca5f3445a 100644 --- a/libraries/pushstore/impl/build.gradle.kts +++ b/libraries/pushstore/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,7 +8,6 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { @@ -18,9 +19,7 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(libs.dagger) diff --git a/libraries/roomselect/impl/build.gradle.kts b/libraries/roomselect/impl/build.gradle.kts index 4d42fef311..8cd30963ef 100644 --- a/libraries/roomselect/impl/build.gradle.kts +++ b/libraries/roomselect/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -15,13 +16,9 @@ android { namespace = "io.element.android.libraries.roomselect.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(projects.libraries.core) implementation(projects.libraries.androidutils) implementation(projects.libraries.architecture) diff --git a/libraries/session-storage/impl/build.gradle.kts b/libraries/session-storage/impl/build.gradle.kts index 8d018147a3..3170b3dcaa 100644 --- a/libraries/session-storage/impl/build.gradle.kts +++ b/libraries/session-storage/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,7 +8,6 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) alias(libs.plugins.sqldelight) } @@ -14,9 +15,7 @@ android { namespace = "io.element.android.libraries.sessionstorage.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(libs.dagger) diff --git a/libraries/textcomposer/impl/build.gradle.kts b/libraries/textcomposer/impl/build.gradle.kts index e4afcc2004..67ad45d5a5 100644 --- a/libraries/textcomposer/impl/build.gradle.kts +++ b/libraries/textcomposer/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -18,12 +19,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) implementation(projects.libraries.architecture) implementation(projects.libraries.uiStrings) implementation(projects.libraries.androidutils) diff --git a/libraries/troubleshoot/impl/build.gradle.kts b/libraries/troubleshoot/impl/build.gradle.kts index 03e6cdb3d8..24f981d9c7 100644 --- a/libraries/troubleshoot/impl/build.gradle.kts +++ b/libraries/troubleshoot/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,7 +8,6 @@ */ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) alias(libs.plugins.kotlin.serialization) } @@ -20,13 +21,9 @@ android { } } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) implementation(libs.dagger) implementation(projects.libraries.architecture) implementation(projects.libraries.designsystem) diff --git a/libraries/usersearch/impl/build.gradle.kts b/libraries/usersearch/impl/build.gradle.kts index 028088db30..751d1b1672 100644 --- a/libraries/usersearch/impl/build.gradle.kts +++ b/libraries/usersearch/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,16 +9,13 @@ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.libraries.usersearch.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(projects.libraries.core) diff --git a/libraries/voicerecorder/api/build.gradle.kts b/libraries/voicerecorder/api/build.gradle.kts index 031142916b..ccf8ea0168 100644 --- a/libraries/voicerecorder/api/build.gradle.kts +++ b/libraries/voicerecorder/api/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,16 +8,13 @@ */ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.libraries.voicerecorder.api" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(libs.androidx.annotationjvm) diff --git a/libraries/voicerecorder/impl/build.gradle.kts b/libraries/voicerecorder/impl/build.gradle.kts index e7d9dd4489..6ffab72993 100644 --- a/libraries/voicerecorder/impl/build.gradle.kts +++ b/libraries/voicerecorder/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,16 +8,13 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.libraries.voicerecorder.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { api(projects.libraries.voicerecorder.api) diff --git a/plugins/build.gradle.kts b/plugins/build.gradle.kts index cadcc1bcad..edfd1428da 100644 --- a/plugins/build.gradle.kts +++ b/plugins/build.gradle.kts @@ -22,4 +22,5 @@ dependencies { implementation(libs.firebase.appdistribution.gradle) implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location)) implementation(libs.autonomousapps.dependencyanalysis.plugin) + implementation(libs.anvil.gradle.plugin) } diff --git a/plugins/src/main/kotlin/extension/AnvilExtensions.kt b/plugins/src/main/kotlin/extension/AnvilExtensions.kt new file mode 100644 index 0000000000..33f058d25e --- /dev/null +++ b/plugins/src/main/kotlin/extension/AnvilExtensions.kt @@ -0,0 +1,59 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package extension + +import com.squareup.anvil.plugin.AnvilExtension +import org.gradle.accessors.dm.LibrariesForLibs +import org.gradle.api.Project +import org.gradle.api.provider.Provider +import org.gradle.kotlin.dsl.the +import org.gradle.plugin.use.PluginDependency + +/** + * Setup Anvil plugin with the given configuration. + * @param generateDaggerCode whether to enable general Dagger code generation using Kapt + * @param generateDaggerFactoriesUsingAnvil whether to generate Dagger factories using Anvil instead of Kapt + */ +fun Project.setupAnvil( + generateDaggerCode: Boolean = false, + generateDaggerFactoriesUsingAnvil: Boolean = true, +) { + val libs = the() + // Apply plugins and dependencies + applyPluginIfNeeded(libs.plugins.anvil) + + if (generateDaggerCode) { + applyPluginIfNeeded(libs.plugins.kapt) + // Needed at the top level since dagger code should be generated at a single point for performance + dependencies.implementation(libs.dagger) + dependencies.add("kapt", libs.dagger.compiler) + } + + // These dependencies are only needed for compose library or application modules + if (project.pluginManager.hasPlugin("io.element.android-compose-library") + || project.pluginManager.hasPlugin("io.element.android-compose-application")) { + // Annotations to generate DI code for Appyx nodes + dependencies.implementation(project.project(":anvilannotations")) + // Code generator for the annotations above + dependencies.add("anvil", project.project(":anvilcodegen")) + } + + project.pluginManager.withPlugin(libs.plugins.anvil.get().pluginId) { + // Setup extension + extensions.configure(AnvilExtension::class.java) { + this.generateDaggerFactories.set(generateDaggerFactoriesUsingAnvil) + } + } +} + +private fun Project.applyPluginIfNeeded(plugin: Provider) { + val pluginId = plugin.get().pluginId + if (!pluginManager.hasPlugin(pluginId)) { + pluginManager.apply(pluginId) + } +} diff --git a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt index fef1ea147a..554095323a 100644 --- a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt +++ b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt @@ -12,6 +12,7 @@ import ModulesConfig import org.gradle.accessors.dm.LibrariesForLibs import org.gradle.api.Action import org.gradle.api.artifacts.ExternalModuleDependency +import org.gradle.api.artifacts.dsl.DependencyHandler import org.gradle.api.logging.Logger import org.gradle.kotlin.dsl.DependencyHandlerScope import org.gradle.kotlin.dsl.closureOf @@ -19,6 +20,7 @@ import org.gradle.kotlin.dsl.project import java.io.File private fun DependencyHandlerScope.implementation(dependency: Any) = dependencies.add("implementation", dependency) +internal fun DependencyHandler.implementation(dependency: Any) = add("implementation", dependency) // Implementation + config block private fun DependencyHandlerScope.implementation( diff --git a/services/analytics/impl/build.gradle.kts b/services/analytics/impl/build.gradle.kts index 356197730d..d129ad7b13 100644 --- a/services/analytics/impl/build.gradle.kts +++ b/services/analytics/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,7 +9,6 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -15,13 +16,9 @@ android { namespace = "io.element.android.services.analytics.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - anvil(projects.anvilcodegen) - implementation(projects.libraries.androidutils) implementation(projects.libraries.core) implementation(projects.libraries.architecture) diff --git a/services/analytics/noop/build.gradle.kts b/services/analytics/noop/build.gradle.kts index 1b20650a92..ee475c0e51 100644 --- a/services/analytics/noop/build.gradle.kts +++ b/services/analytics/noop/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,16 +8,13 @@ */ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.services.analytics.noop" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(libs.dagger) diff --git a/services/analyticsproviders/posthog/build.gradle.kts b/services/analyticsproviders/posthog/build.gradle.kts index 2297094cd3..dbd620b40b 100644 --- a/services/analyticsproviders/posthog/build.gradle.kts +++ b/services/analyticsproviders/posthog/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,16 +8,13 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.services.analyticsproviders.posthog" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(libs.dagger) diff --git a/services/analyticsproviders/sentry/build.gradle.kts b/services/analyticsproviders/sentry/build.gradle.kts index fb7dc36292..25c6953a2e 100644 --- a/services/analyticsproviders/sentry/build.gradle.kts +++ b/services/analyticsproviders/sentry/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,16 +8,13 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.services.analyticsproviders.sentry" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(libs.dagger) diff --git a/services/apperror/impl/build.gradle.kts b/services/apperror/impl/build.gradle.kts index 83e6cca33e..e20709ef9d 100644 --- a/services/apperror/impl/build.gradle.kts +++ b/services/apperror/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,19 +9,15 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() android { namespace = "io.element.android.services.apperror.impl" } dependencies { - anvil(projects.anvilcodegen) implementation(libs.dagger) implementation(projects.libraries.core) implementation(projects.libraries.di) diff --git a/services/appnavstate/impl/build.gradle.kts b/services/appnavstate/impl/build.gradle.kts index 6f7df870de..b26cc8dc5b 100644 --- a/services/appnavstate/impl/build.gradle.kts +++ b/services/appnavstate/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2022-2024 New Vector Ltd. * @@ -7,24 +9,19 @@ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() android { namespace = "io.element.android.services.appnavstate.impl" } dependencies { - anvil(projects.anvilcodegen) implementation(libs.dagger) implementation(projects.libraries.core) implementation(projects.libraries.di) implementation(projects.libraries.matrix.api) - implementation(projects.anvilannotations) implementation(libs.coroutines.core) implementation(libs.androidx.corektx) diff --git a/services/toolbox/impl/build.gradle.kts b/services/toolbox/impl/build.gradle.kts index 27d5f43bf4..917437f50a 100644 --- a/services/toolbox/impl/build.gradle.kts +++ b/services/toolbox/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -6,16 +8,13 @@ */ plugins { id("io.element.android-library") - alias(libs.plugins.anvil) } android { namespace = "io.element.android.services.toolbox.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { implementation(libs.dagger) From 48a4a9d69bbc28500b8b630820f73a0af6ae2df8 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Mon, 30 Sep 2024 14:28:06 +0200 Subject: [PATCH 047/151] Update Gradle impl module template with `setupAnvil()` call (#3563) --- .../Template Module Feature Build Gradle Impl.kts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/tools/templates/files/fileTemplates/Template Module Feature Build Gradle Impl.kts b/tools/templates/files/fileTemplates/Template Module Feature Build Gradle Impl.kts index 881481227a..69a9a08de8 100644 --- a/tools/templates/files/fileTemplates/Template Module Feature Build Gradle Impl.kts +++ b/tools/templates/files/fileTemplates/Template Module Feature Build Gradle Impl.kts @@ -1,6 +1,7 @@ +import extensions.setupAnvil + plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) id("kotlin-parcelize") } @@ -8,13 +9,9 @@ android { namespace = "io.element.android.features.${MODULE_NAME}.impl" } -anvil { - generateDaggerFactories.set(true) -} +setupAnvil() dependencies { - implementation(projects.anvilannotations) - anvil(projects.anvilcodegen) api(projects.features.${ MODULE_NAME }.api) implementation(projects.libraries.core) implementation(projects.libraries.architecture) From 555f73dfa82b4881b4c102c5c354760bcfdd2171 Mon Sep 17 00:00:00 2001 From: Joe Groocock Date: Mon, 30 Sep 2024 21:05:58 +0100 Subject: [PATCH 048/151] Use MSC2530 filename when loading media In the case of captioned images, the `body` of the event is the caption, and is ill suited to be a filename. Often the caption can be prohibitively long, causing the media to fail to load in some cases. Fixes: https://github.com/element-hq/element-x-android/issues/2882 Signed-off-by: Joe Groocock --- .../android/features/messages/impl/MessagesFlowNode.kt | 4 ++-- .../timeline/components/event/TimelineItemImageView.kt | 8 +++++++- .../timeline/components/event/TimelineItemVideoView.kt | 8 +++++++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesFlowNode.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesFlowNode.kt index 12df0bc0bf..08b485b1e7 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesFlowNode.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesFlowNode.kt @@ -324,7 +324,7 @@ class MessagesFlowNode @AssistedInject constructor( is TimelineItemImageContent -> { val navTarget = NavTarget.MediaViewer( mediaInfo = MediaInfo( - name = event.content.body, + name = event.content.filename ?: event.content.body, mimeType = event.content.mimeType, formattedFileSize = event.content.formattedFileSize, fileExtension = event.content.fileExtension @@ -358,7 +358,7 @@ class MessagesFlowNode @AssistedInject constructor( is TimelineItemVideoContent -> { val navTarget = NavTarget.MediaViewer( mediaInfo = MediaInfo( - name = event.content.body, + name = event.content.filename ?: event.content.body, mimeType = event.content.mimeType, formattedFileSize = event.content.formattedFileSize, fileExtension = event.content.fileExtension diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt index af401dc56a..9f9222f458 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt @@ -81,7 +81,13 @@ fun TimelineItemImageView( modifier = Modifier .fillMaxWidth() .then(if (isLoaded) Modifier.background(Color.White) else Modifier), - model = MediaRequestData(content.preferredMediaSource, MediaRequestData.Kind.File(content.body, content.mimeType)), + model = MediaRequestData( + source = content.preferredMediaSource, + kind = MediaRequestData.Kind.File( + body = content.filename ?: content.body, + mimeType = content.mimeType, + ), + ), contentScale = ContentScale.Fit, alignment = Alignment.Center, contentDescription = description, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt index 31cb5f1607..7324d3368b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt @@ -88,7 +88,13 @@ fun TimelineItemVideoView( modifier = Modifier .fillMaxWidth() .then(if (isLoaded) Modifier.background(Color.White) else Modifier), - model = MediaRequestData(content.thumbnailSource, MediaRequestData.Kind.File(content.body, content.mimeType)), + model = MediaRequestData( + source = content.thumbnailSource, + kind = MediaRequestData.Kind.File( + body = content.filename ?: content.body, + mimeType = content.mimeType + ) + ), contentScale = ContentScale.Fit, alignment = Alignment.Center, contentDescription = description, From 3001efb525965f8f52a031a3d95c02d53d04868f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 09:44:52 +0200 Subject: [PATCH 049/151] Update dependency org.matrix.rustcomponents:sdk-android to v0.2.50 (#3565) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Adapt to changes in the SDK * Update dependency org.matrix.rustcomponents:sdk-android to v0.2.50 * Use lambda instead of overriding the `EventDebugInfoProvider` interface * Fix test proposal. We may find a better way to compare data class instance if we need to do more comparison in the future... --------- Co-authored-by: Jorge Martín Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Benoit Marty --- .../impl/timeline/TimelineStateProvider.kt | 2 +- .../event/TimelineItemEventFactory.kt | 4 +- .../impl/timeline/model/TimelineItem.kt | 6 +- .../messages/impl/MessagesPresenterTest.kt | 2 +- .../impl/fixtures/MessageEventFixtures.kt | 2 +- .../groups/TimelineItemGrouperTest.kt | 2 +- .../RedactedVoiceMessageManagerTest.kt | 14 +- .../features/poll/impl/data/PollRepository.kt | 2 +- .../impl/create/CreatePollPresenterTest.kt | 6 +- gradle/libs.versions.toml | 2 +- .../libraries/matrix/api/room/MatrixRoom.kt | 2 +- .../libraries/matrix/api/timeline/Timeline.kt | 4 +- .../timeline/item/event/EventTimelineItem.kt | 12 +- .../impl/encryption/RustEncryptionService.kt | 3 +- .../matrix/impl/room/RoomContentForwarder.kt | 10 +- .../matrix/impl/room/RustMatrixRoom.kt | 2 +- .../matrix/impl/timeline/RustTimeline.kt | 59 +++---- .../matrix/impl/timeline/TimelineDiffExt.kt | 2 +- .../timeline/item/event/EventMessageMapper.kt | 12 +- .../item/event/EventTimelineItemMapper.kt | 61 +++++--- .../item/event/TimelineEventContentMapper.kt | 148 ++++++++---------- .../impl/timeline/reply/InReplyToMapper.kt | 4 +- .../matrix/test/room/FakeMatrixRoom.kt | 4 +- .../matrix/test/timeline/FakeTimeline.kt | 8 +- .../matrix/test/timeline/TimelineFixture.kt | 4 +- .../impl/RoomSelectPresenterTest.kt | 14 +- 26 files changed, 216 insertions(+), 175 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt index 426f92eac1..e0a9d660ca 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt @@ -162,7 +162,7 @@ internal fun aTimelineItemEvent( groupPosition = groupPosition, localSendState = sendState, inReplyTo = inReplyTo, - debugInfo = debugInfo, + debugInfoProvider = { debugInfo }, isThreaded = isThreaded, origin = null, messageShield = messageShield, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemEventFactory.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemEventFactory.kt index c71e9f6a26..e71d0cf93e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemEventFactory.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/event/TimelineItemEventFactory.kt @@ -85,9 +85,9 @@ class TimelineItemEventFactory @AssistedInject constructor( localSendState = currentTimelineItem.event.localSendState, inReplyTo = currentTimelineItem.event.inReplyTo()?.map(permalinkParser = permalinkParser), isThreaded = currentTimelineItem.event.isThreaded(), - debugInfo = currentTimelineItem.event.debugInfo, + debugInfoProvider = currentTimelineItem.event.debugInfoProvider, origin = currentTimelineItem.event.origin, - messageShield = currentTimelineItem.event.messageShield, + messageShield = currentTimelineItem.event.messageShieldProvider.getShield(strict = false) ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/TimelineItem.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/TimelineItem.kt index 12fb7830fd..038f5eb9fa 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/TimelineItem.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/TimelineItem.kt @@ -17,7 +17,7 @@ import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.TransactionId import io.element.android.libraries.matrix.api.core.UniqueId import io.element.android.libraries.matrix.api.core.UserId -import io.element.android.libraries.matrix.api.timeline.item.TimelineItemDebugInfo +import io.element.android.libraries.matrix.api.timeline.item.event.EventDebugInfoProvider import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield import io.element.android.libraries.matrix.api.timeline.item.event.ProfileTimelineDetails @@ -74,7 +74,7 @@ sealed interface TimelineItem { val localSendState: LocalEventSendState?, val inReplyTo: InReplyToDetails?, val isThreaded: Boolean, - val debugInfo: TimelineItemDebugInfo, + val debugInfoProvider: EventDebugInfoProvider, val origin: TimelineItemEventOrigin?, val messageShield: MessageShield?, ) : TimelineItem { @@ -89,6 +89,8 @@ sealed interface TimelineItem { val isSticker: Boolean = content is TimelineItemStickerContent val isRemote = eventId != null + + val debugInfo = debugInfoProvider.get() } @Immutable diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index 0676efd258..be1b4aa7a8 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -493,7 +493,7 @@ class MessagesPresenterTest { canUserPinUnpinResult = { Result.success(true) }, ) - val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(true) } + val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(Unit) } liveTimeline.redactEventLambda = redactEventLambda val presenter = createMessagesPresenter(matrixRoom = matrixRoom, coroutineDispatchers = coroutineDispatchers) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/MessageEventFixtures.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/MessageEventFixtures.kt index 7d3587a264..758557923f 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/MessageEventFixtures.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/MessageEventFixtures.kt @@ -58,7 +58,7 @@ internal fun aMessageEvent( readReceiptState = TimelineItemReadReceipts(emptyList().toImmutableList()), localSendState = sendState, inReplyTo = inReplyTo, - debugInfo = debugInfo, + debugInfoProvider = { debugInfo }, isThreaded = isThreaded, origin = null, messageShield = messageShield, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/groups/TimelineItemGrouperTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/groups/TimelineItemGrouperTest.kt index 45eaa992c2..2e37145ff8 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/groups/TimelineItemGrouperTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/groups/TimelineItemGrouperTest.kt @@ -41,7 +41,7 @@ class TimelineItemGrouperTest { canBeRepliedTo = false, inReplyTo = null, isThreaded = false, - debugInfo = aTimelineItemDebugInfo(), + debugInfoProvider = { aTimelineItemDebugInfo() }, origin = null, messageShield = null, ) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/RedactedVoiceMessageManagerTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/RedactedVoiceMessageManagerTest.kt index 1693b360c3..b9b08ab6d4 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/RedactedVoiceMessageManagerTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/timeline/RedactedVoiceMessageManagerTest.kt @@ -88,13 +88,15 @@ fun aRedactedMatrixTimeline(eventId: EventId) = listOf( senderProfile = ProfileTimelineDetails.Unavailable, timestamp = 9442, content = RedactedContent, - debugInfo = TimelineItemDebugInfo( - model = "enim", - originalJson = null, - latestEditedJson = null - ), + debugInfoProvider = { + TimelineItemDebugInfo( + model = "enim", + originalJson = null, + latestEditedJson = null + ) + }, origin = null, - messageShield = null, + messageShieldProvider = { null }, ), ) ) diff --git a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/data/PollRepository.kt b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/data/PollRepository.kt index a201e74452..839adc492f 100644 --- a/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/data/PollRepository.kt +++ b/features/poll/impl/src/main/kotlin/io/element/android/features/poll/impl/data/PollRepository.kt @@ -59,7 +59,7 @@ class PollRepository @Inject constructor( suspend fun deletePoll( pollStartId: EventId, - ): Result = + ): Result = timelineProvider .getActiveTimeline() .redactEvent( diff --git a/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/create/CreatePollPresenterTest.kt b/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/create/CreatePollPresenterTest.kt index 8938c28ae7..d3abb3d10d 100644 --- a/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/create/CreatePollPresenterTest.kt +++ b/features/poll/impl/src/test/kotlin/io/element/android/features/poll/impl/create/CreatePollPresenterTest.kt @@ -466,7 +466,7 @@ class CreatePollPresenterTest { @Test fun `delete confirms`() = runTest { val presenter = createCreatePollPresenter(mode = CreatePollMode.EditPoll(pollEventId)) - val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(true) } + val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(Unit) } timeline.redactEventLambda = redactEventLambda moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -481,7 +481,7 @@ class CreatePollPresenterTest { @Test fun `delete can be cancelled`() = runTest { val presenter = createCreatePollPresenter(mode = CreatePollMode.EditPoll(pollEventId)) - val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(true) } + val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(Unit) } timeline.redactEventLambda = redactEventLambda moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -499,7 +499,7 @@ class CreatePollPresenterTest { @Test fun `delete can be confirmed`() = runTest { val presenter = createCreatePollPresenter(mode = CreatePollMode.EditPoll(pollEventId)) - val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(true) } + val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(Unit) } timeline.redactEventLambda = redactEventLambda moleculeFlow(RecompositionMode.Immediate) { presenter.present() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 510c8c0295..0cc72e19fe 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -163,7 +163,7 @@ jsoup = "org.jsoup:jsoup:1.18.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.49" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.50" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt index d266b45d35..98ebc531a5 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt @@ -154,7 +154,7 @@ interface MatrixRoom : Closeable { suspend fun retrySendMessage(transactionId: TransactionId): Result - suspend fun cancelSend(transactionId: TransactionId): Result + suspend fun cancelSend(transactionId: TransactionId): Result suspend fun leave(): Result diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/Timeline.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/Timeline.kt index 5b91c6f971..70d5a5ab57 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/Timeline.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/Timeline.kt @@ -89,7 +89,7 @@ interface Timeline : AutoCloseable { progressCallback: ProgressCallback? ): Result - suspend fun redactEvent(eventId: EventId?, transactionId: TransactionId?, reason: String?): Result + suspend fun redactEvent(eventId: EventId?, transactionId: TransactionId?, reason: String?): Result suspend fun sendAudio(file: File, audioInfo: AudioInfo, progressCallback: ProgressCallback?): Result @@ -99,7 +99,7 @@ interface Timeline : AutoCloseable { suspend fun forwardEvent(eventId: EventId, roomIds: List): Result - suspend fun cancelSend(transactionId: TransactionId): Result + suspend fun cancelSend(transactionId: TransactionId): Result /** * Share a location message in the room. diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventTimelineItem.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventTimelineItem.kt index a76e8ecfd6..b311b4e6bf 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventTimelineItem.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventTimelineItem.kt @@ -28,9 +28,9 @@ data class EventTimelineItem( val senderProfile: ProfileTimelineDetails, val timestamp: Long, val content: EventContent, - val debugInfo: TimelineItemDebugInfo, + val debugInfoProvider: EventDebugInfoProvider, val origin: TimelineItemEventOrigin?, - val messageShield: MessageShield?, + val messageShieldProvider: EventShieldsProvider, ) { fun inReplyTo(): InReplyTo? { return (content as? MessageContent)?.inReplyTo @@ -45,3 +45,11 @@ data class EventTimelineItem( return details is InReplyTo.NotLoaded } } + +fun interface EventDebugInfoProvider { + fun get(): TimelineItemDebugInfo +} + +fun interface EventShieldsProvider { + fun getShield(strict: Boolean): MessageShield? +} diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt index 1ef0866e8a..f4e4af7b4f 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt @@ -114,7 +114,8 @@ internal class RustEncryptionService( override fun onUpdate(status: RustEnableRecoveryProgress) { enableRecoveryProgressStateFlow.value = enableRecoveryProgressMapper.map(status) } - } + }, + passphrase = null, ) // enableRecovery returns the encryption key, but we read it from the state flow .let { } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomContentForwarder.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomContentForwarder.kt index da9afb3605..9c2ca0d74a 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomContentForwarder.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomContentForwarder.kt @@ -18,6 +18,8 @@ import kotlinx.coroutines.CancellationException import kotlinx.coroutines.withTimeout import org.matrix.rustcomponents.sdk.RoomListService import org.matrix.rustcomponents.sdk.Timeline +import org.matrix.rustcomponents.sdk.TimelineItemContent +import org.matrix.rustcomponents.sdk.contentWithoutRelationFromMessage import kotlin.time.Duration.Companion.milliseconds /** @@ -40,11 +42,7 @@ class RoomContentForwarder( toRoomIds: List, timeoutMs: Long = 5000L ) { - val content = fromTimeline - .getEventTimelineItemByEventId(eventId.value) - .content() - .asMessage() - ?.content() + val content = (fromTimeline.getEventTimelineItemByEventId(eventId.value).content as? TimelineItemContent.Message)?.content ?: throw ForwardEventException(toRoomIds) val targetSlidingSyncRooms = toRoomIds.mapNotNull { roomId -> roomListService.roomOrNull(roomId.value) } @@ -58,7 +56,7 @@ class RoomContentForwarder( // Sending a message requires a registered timeline listener targetRoom.timeline().runWithTimelineListenerRegistered { withTimeout(timeoutMs.milliseconds) { - targetRoom.timeline().send(content) + targetRoom.timeline().send(contentWithoutRelationFromMessage(content)) } } } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt index 5f9b00da35..c3521ecf99 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt @@ -462,7 +462,7 @@ class RustMatrixRoom( innerRoom.tryResend(transactionId.value) } - override suspend fun cancelSend(transactionId: TransactionId): Result { + override suspend fun cancelSend(transactionId: TransactionId): Result { return liveTimeline.cancelSend(transactionId) } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt index ea6b93b7fa..e0fd82bfcb 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt @@ -64,6 +64,7 @@ import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import org.matrix.rustcomponents.sdk.EditedContent +import org.matrix.rustcomponents.sdk.EventOrTransactionId import org.matrix.rustcomponents.sdk.EventTimelineItem import org.matrix.rustcomponents.sdk.FormattedBody import org.matrix.rustcomponents.sdk.MessageFormat @@ -274,11 +275,14 @@ class RustTimeline( } } - override suspend fun redactEvent(eventId: EventId?, transactionId: TransactionId?, reason: String?): Result = withContext(dispatcher) { + override suspend fun redactEvent(eventId: EventId?, transactionId: TransactionId?, reason: String?): Result = withContext(dispatcher) { runCatching { - getEventTimelineItem(eventId, transactionId).use { item -> - inner.redactEvent(item = item, reason = reason) + val eventOrTransactionId = if (eventId != null) { + EventOrTransactionId.EventId(eventId.value) + } else { + EventOrTransactionId.TransactionId(transactionId!!.value) } + inner.redactEvent(eventOrTransactionId = eventOrTransactionId, reason = reason) } } @@ -291,19 +295,22 @@ class RustTimeline( ): Result = withContext(dispatcher) { runCatching { - getEventTimelineItem(originalEventId, transactionId).use { item -> - val editedContent = EditedContent.RoomMessage( - content = MessageEventContent.from( - body = body, - htmlBody = htmlBody, - intentionalMentions = intentionalMentions - ), - ) - inner.edit( - newContent = editedContent, - item = item, - ) + val eventOrTransactionId = if (originalEventId != null) { + EventOrTransactionId.EventId(originalEventId.value) + } else { + EventOrTransactionId.TransactionId(transactionId!!.value) } + val editedContent = EditedContent.RoomMessage( + content = MessageEventContent.from( + body = body, + htmlBody = htmlBody, + intentionalMentions = intentionalMentions + ), + ) + inner.edit( + newContent = editedContent, + eventOrTransactionId = eventOrTransactionId, + ) } } @@ -343,6 +350,7 @@ class RustTimeline( } @Throws + @Suppress("UnusedPrivateMember") private suspend fun getEventTimelineItem(eventId: EventId?, transactionId: TransactionId?): EventTimelineItem { return try { when { @@ -411,7 +419,8 @@ class RustTimeline( } } - override suspend fun cancelSend(transactionId: TransactionId): Result = redactEvent(eventId = null, transactionId = transactionId, reason = null) + override suspend fun cancelSend(transactionId: TransactionId): Result = + redactEvent(eventId = null, transactionId = transactionId, reason = null) override suspend fun sendLocation( body: String, @@ -455,10 +464,6 @@ class RustTimeline( pollKind: PollKind, ): Result = withContext(dispatcher) { runCatching { - val pollStartEvent = - inner.getEventTimelineItemByEventId( - eventId = pollStartId.value - ) val editedContent = EditedContent.PollStart( pollData = PollData( question = question, @@ -467,12 +472,10 @@ class RustTimeline( pollKind = pollKind.toInner(), ), ) - pollStartEvent.use { - inner.edit( - newContent = editedContent, - item = it, - ) - } + inner.edit( + newContent = editedContent, + eventOrTransactionId = EventOrTransactionId.EventId(pollStartId.value), + ) }.map { } } @@ -482,7 +485,7 @@ class RustTimeline( ): Result = withContext(dispatcher) { runCatching { inner.sendPollResponse( - pollStartId = pollStartId.value, + pollStartEventId = pollStartId.value, answers = answers, ) } @@ -494,7 +497,7 @@ class RustTimeline( ): Result = withContext(dispatcher) { runCatching { inner.endPoll( - pollStartId = pollStartId.value, + pollStartEventId = pollStartId.value, text = text, ) } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineDiffExt.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineDiffExt.kt index c2b8957734..5c024698b4 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineDiffExt.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineDiffExt.kt @@ -41,5 +41,5 @@ internal fun TimelineDiff.eventOrigin(): EventItemOrigin? { } private fun TimelineItem.eventOrigin(): EventItemOrigin? { - return asEvent()?.origin() + return asEvent()?.origin } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventMessageMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventMessageMapper.kt index a7098d4be1..3e67bd8595 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventMessageMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventMessageMapper.kt @@ -23,10 +23,10 @@ import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageT import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType import io.element.android.libraries.matrix.impl.media.map import io.element.android.libraries.matrix.impl.timeline.reply.InReplyToMapper -import org.matrix.rustcomponents.sdk.Message import org.matrix.rustcomponents.sdk.MessageType import org.matrix.rustcomponents.sdk.use import org.matrix.rustcomponents.sdk.FormattedBody as RustFormattedBody +import org.matrix.rustcomponents.sdk.MessageContent as Message import org.matrix.rustcomponents.sdk.MessageFormat as RustMessageFormat import org.matrix.rustcomponents.sdk.MessageType as RustMessageType @@ -34,13 +34,13 @@ class EventMessageMapper { private val inReplyToMapper by lazy { InReplyToMapper(TimelineEventContentMapper()) } fun map(message: Message): MessageContent = message.use { - val type = it.msgtype().use(this::mapMessageType) - val inReplyToEvent: InReplyTo? = it.inReplyTo()?.use(inReplyToMapper::map) + val type = it.msgType.use(this::mapMessageType) + val inReplyToEvent: InReplyTo? = it.inReplyTo?.use(inReplyToMapper::map) MessageContent( - body = it.body(), + body = it.body, inReplyTo = inReplyToEvent, - isEdited = it.isEdited(), - isThreaded = it.isThreaded(), + isEdited = it.isEdited, + isThreaded = it.threadRoot != null, type = type ) } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt index 17a33ff93b..9fae19bc1d 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt @@ -12,7 +12,9 @@ import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.TransactionId import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.timeline.item.TimelineItemDebugInfo +import io.element.android.libraries.matrix.api.timeline.item.event.EventDebugInfoProvider import io.element.android.libraries.matrix.api.timeline.item.event.EventReaction +import io.element.android.libraries.matrix.api.timeline.item.event.EventShieldsProvider import io.element.android.libraries.matrix.api.timeline.item.event.EventTimelineItem import io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield @@ -23,11 +25,14 @@ import io.element.android.libraries.matrix.api.timeline.item.event.TimelineItemE import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList +import org.matrix.rustcomponents.sdk.EventOrTransactionId import org.matrix.rustcomponents.sdk.EventSendState +import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfoProvider import org.matrix.rustcomponents.sdk.Reaction import org.matrix.rustcomponents.sdk.ShieldState import uniffi.matrix_sdk_common.ShieldStateCode import org.matrix.rustcomponents.sdk.EventSendState as RustEventSendState +import org.matrix.rustcomponents.sdk.EventShieldsProvider as RustEventShieldsProvider import org.matrix.rustcomponents.sdk.EventTimelineItem as RustEventTimelineItem import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo as RustEventTimelineItemDebugInfo import org.matrix.rustcomponents.sdk.ProfileDetails as RustProfileDetails @@ -37,25 +42,25 @@ import uniffi.matrix_sdk_ui.EventItemOrigin as RustEventItemOrigin class EventTimelineItemMapper( private val contentMapper: TimelineEventContentMapper = TimelineEventContentMapper(), ) { - fun map(eventTimelineItem: RustEventTimelineItem): EventTimelineItem = eventTimelineItem.use { + fun map(eventTimelineItem: RustEventTimelineItem): EventTimelineItem = eventTimelineItem.run { EventTimelineItem( - eventId = it.eventId()?.let(::EventId), - transactionId = it.transactionId()?.let(::TransactionId), - isEditable = it.isEditable(), - canBeRepliedTo = it.canBeRepliedTo(), - isLocal = it.isLocal(), - isOwn = it.isOwn(), - isRemote = it.isRemote(), - localSendState = it.localSendState()?.map(), - reactions = it.reactions().map(), - receipts = it.readReceipts().map(), - sender = UserId(it.sender()), - senderProfile = it.senderProfile().map(), - timestamp = it.timestamp().toLong(), - content = contentMapper.map(it.content()), - debugInfo = it.debugInfo().map(), - origin = it.origin()?.map(), - messageShield = it.getShield(false)?.map(), + eventId = eventOrTransactionId.eventId(), + transactionId = eventOrTransactionId.transactionId(), + isEditable = isEditable, + canBeRepliedTo = canBeRepliedTo, + isLocal = isLocal, + isOwn = isOwn, + isRemote = isRemote, + localSendState = localSendState?.map(), + reactions = reactions.map(), + receipts = readReceipts.map(), + sender = UserId(sender), + senderProfile = senderProfile.map(), + timestamp = timestamp.toLong(), + content = contentMapper.map(content), + debugInfoProvider = RustEventDebugInfoProvider(debugInfoProvider), + origin = origin?.map(), + messageShieldProvider = RustEventShieldsProvider(shieldsProvider) ) } } @@ -162,3 +167,23 @@ private fun ShieldState?.map(): MessageShield? { ShieldStateCode.PREVIOUSLY_VERIFIED -> MessageShield.PreviouslyVerified(isCritical) } } + +class RustEventDebugInfoProvider(private val debugInfoProvider: EventTimelineItemDebugInfoProvider) : EventDebugInfoProvider { + override fun get(): TimelineItemDebugInfo { + return debugInfoProvider.get().map() + } +} + +class RustEventShieldsProvider(private val shieldsProvider: RustEventShieldsProvider) : EventShieldsProvider { + override fun getShield(strict: Boolean): MessageShield? { + return shieldsProvider.getShields(strict)?.map() + } +} + +private fun EventOrTransactionId.eventId(): EventId? { + return (this as? EventOrTransactionId.EventId)?.let { EventId(it.eventId) } +} + +private fun EventOrTransactionId.transactionId(): TransactionId? { + return (this as? EventOrTransactionId.TransactionId)?.let { TransactionId(it.transactionId) } +} diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/TimelineEventContentMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/TimelineEventContentMapper.kt index 474d57a7e1..ed075c508f 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/TimelineEventContentMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/TimelineEventContentMapper.kt @@ -29,7 +29,6 @@ import io.element.android.libraries.matrix.impl.poll.map import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableMap import org.matrix.rustcomponents.sdk.TimelineItemContent -import org.matrix.rustcomponents.sdk.TimelineItemContentKind import org.matrix.rustcomponents.sdk.use import uniffi.matrix_sdk_ui.RoomPinnedEventsChange import org.matrix.rustcomponents.sdk.EncryptedMessage as RustEncryptedMessage @@ -42,87 +41,78 @@ class TimelineEventContentMapper( ) { fun map(content: TimelineItemContent): EventContent { return content.use { - content.kind().use { kind -> - map(content, kind) + when (it) { + is TimelineItemContent.FailedToParseMessageLike -> { + FailedToParseMessageLikeContent( + eventType = it.eventType, + error = it.error + ) + } + is TimelineItemContent.FailedToParseState -> { + FailedToParseStateContent( + eventType = it.eventType, + stateKey = it.stateKey, + error = it.error + ) + } + is TimelineItemContent.Message -> { + eventMessageMapper.map(it.content) + } + is TimelineItemContent.ProfileChange -> { + ProfileChangeContent( + displayName = it.displayName, + prevDisplayName = it.prevDisplayName, + avatarUrl = it.avatarUrl, + prevAvatarUrl = it.prevAvatarUrl + ) + } + TimelineItemContent.RedactedMessage -> { + RedactedContent + } + is TimelineItemContent.RoomMembership -> { + RoomMembershipContent( + userId = UserId(it.userId), + userDisplayName = it.userDisplayName, + change = it.change?.map() + ) + } + is TimelineItemContent.State -> { + StateContent( + stateKey = it.stateKey, + content = it.content.map() + ) + } + is TimelineItemContent.Sticker -> { + StickerContent( + body = it.body, + info = it.info.map(), + source = it.source.map(), + ) + } + is TimelineItemContent.Poll -> { + PollContent( + question = it.question, + kind = it.kind.map(), + maxSelections = it.maxSelections, + answers = it.answers.map { answer -> answer.map() }.toImmutableList(), + votes = it.votes.mapValues { vote -> + vote.value.map { userId -> UserId(userId) }.toImmutableList() + }.toImmutableMap(), + endTime = it.endTime, + isEdited = it.hasBeenEdited, + ) + } + is TimelineItemContent.UnableToDecrypt -> { + UnableToDecryptContent( + data = it.msg.map() + ) + } + is TimelineItemContent.CallInvite -> LegacyCallInviteContent + is TimelineItemContent.CallNotify -> CallNotifyContent + else -> UnknownContent } } } - - private fun map(content: TimelineItemContent, kind: TimelineItemContentKind) = when (kind) { - is TimelineItemContentKind.FailedToParseMessageLike -> { - FailedToParseMessageLikeContent( - eventType = kind.eventType, - error = kind.error - ) - } - is TimelineItemContentKind.FailedToParseState -> { - FailedToParseStateContent( - eventType = kind.eventType, - stateKey = kind.stateKey, - error = kind.error - ) - } - TimelineItemContentKind.Message -> { - val message = content.asMessage() - if (message == null) { - UnknownContent - } else { - eventMessageMapper.map(message) - } - } - is TimelineItemContentKind.ProfileChange -> { - ProfileChangeContent( - displayName = kind.displayName, - prevDisplayName = kind.prevDisplayName, - avatarUrl = kind.avatarUrl, - prevAvatarUrl = kind.prevAvatarUrl - ) - } - TimelineItemContentKind.RedactedMessage -> { - RedactedContent - } - is TimelineItemContentKind.RoomMembership -> { - RoomMembershipContent( - userId = UserId(kind.userId), - userDisplayName = kind.userDisplayName, - change = kind.change?.map() - ) - } - is TimelineItemContentKind.State -> { - StateContent( - stateKey = kind.stateKey, - content = kind.content.map() - ) - } - is TimelineItemContentKind.Sticker -> { - StickerContent( - body = kind.body, - info = kind.info.map(), - source = kind.source.map(), - ) - } - is TimelineItemContentKind.Poll -> { - PollContent( - question = kind.question, - kind = kind.kind.map(), - maxSelections = kind.maxSelections, - answers = kind.answers.map { answer -> answer.map() }.toImmutableList(), - votes = kind.votes.mapValues { vote -> - vote.value.map { userId -> UserId(userId) }.toImmutableList() - }.toImmutableMap(), - endTime = kind.endTime, - isEdited = kind.hasBeenEdited, - ) - } - is TimelineItemContentKind.UnableToDecrypt -> { - UnableToDecryptContent( - data = kind.msg.map() - ) - } - is TimelineItemContentKind.CallInvite -> LegacyCallInviteContent - is TimelineItemContentKind.CallNotify -> CallNotifyContent - else -> UnknownContent - } } private fun RustMembershipChange.map(): MembershipChange { diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/reply/InReplyToMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/reply/InReplyToMapper.kt index dd0c553104..352dfce894 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/reply/InReplyToMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/reply/InReplyToMapper.kt @@ -19,8 +19,8 @@ class InReplyToMapper( private val timelineEventContentMapper: TimelineEventContentMapper, ) { fun map(inReplyToDetails: InReplyToDetails): InReplyTo { - val inReplyToId = EventId(inReplyToDetails.eventId) - return when (val event = inReplyToDetails.event) { + val inReplyToId = EventId(inReplyToDetails.eventId()) + return when (val event = inReplyToDetails.event()) { is RepliedToEventDetails.Ready -> { InReplyTo.Ready( eventId = inReplyToId, diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt index 076baf5f2b..1d78e87369 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt @@ -103,7 +103,7 @@ class FakeMatrixRoom( private val updateUserRoleResult: () -> Result = { lambdaError() }, private val toggleReactionResult: (String, UniqueId) -> Result = { _, _ -> lambdaError() }, private val retrySendMessageResult: (TransactionId) -> Result = { lambdaError() }, - private val cancelSendResult: (TransactionId) -> Result = { lambdaError() }, + private val cancelSendResult: (TransactionId) -> Result = { lambdaError() }, private val forwardEventResult: (EventId, List) -> Result = { _, _ -> lambdaError() }, private val reportContentResult: (EventId, String, UserId?) -> Result = { _, _, _ -> lambdaError() }, private val kickUserResult: (UserId, String?) -> Result = { _, _ -> lambdaError() }, @@ -233,7 +233,7 @@ class FakeMatrixRoom( return retrySendMessageResult(transactionId) } - override suspend fun cancelSend(transactionId: TransactionId): Result { + override suspend fun cancelSend(transactionId: TransactionId): Result { return cancelSendResult(transactionId) } diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/timeline/FakeTimeline.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/timeline/FakeTimeline.kt index f94128bcb7..d2a99df97b 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/timeline/FakeTimeline.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/timeline/FakeTimeline.kt @@ -63,15 +63,15 @@ class FakeTimeline( intentionalMentions: List, ): Result = sendMessageLambda(body, htmlBody, intentionalMentions) - var redactEventLambda: (eventId: EventId?, transactionId: TransactionId?, reason: String?) -> Result = { _, _, _ -> - Result.success(true) + var redactEventLambda: (eventId: EventId?, transactionId: TransactionId?, reason: String?) -> Result = { _, _, _ -> + Result.success(Unit) } override suspend fun redactEvent( eventId: EventId?, transactionId: TransactionId?, reason: String? - ): Result = redactEventLambda(eventId, transactionId, reason) + ): Result = redactEventLambda(eventId, transactionId, reason) var editMessageLambda: ( originalEventId: EventId?, @@ -217,7 +217,7 @@ class FakeTimeline( var forwardEventLambda: (eventId: EventId, roomIds: List) -> Result = { _, _ -> Result.success(Unit) } override suspend fun forwardEvent(eventId: EventId, roomIds: List): Result = forwardEventLambda(eventId, roomIds) - override suspend fun cancelSend(transactionId: TransactionId): Result = redactEvent(null, transactionId, null) + override suspend fun cancelSend(transactionId: TransactionId): Result = redactEvent(null, transactionId, null) var sendLocationLambda: ( body: String, diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/timeline/TimelineFixture.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/timeline/TimelineFixture.kt index 17d4eee54c..b8bc798b28 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/timeline/TimelineFixture.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/timeline/TimelineFixture.kt @@ -66,9 +66,9 @@ fun anEventTimelineItem( senderProfile = senderProfile, timestamp = timestamp, content = content, - debugInfo = debugInfo, + debugInfoProvider = { debugInfo }, origin = null, - messageShield = messageShield, + messageShieldProvider = { messageShield }, ) fun aProfileTimelineDetails( diff --git a/libraries/roomselect/impl/src/test/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectPresenterTest.kt b/libraries/roomselect/impl/src/test/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectPresenterTest.kt index 4d1a3b85a5..ff94e32a5f 100644 --- a/libraries/roomselect/impl/src/test/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectPresenterTest.kt +++ b/libraries/roomselect/impl/src/test/kotlin/io/element/android/libraries/roomselect/impl/RoomSelectPresenterTest.kt @@ -68,7 +68,19 @@ class RoomSelectPresenterTest { presenter.present() }.test { val initialState = awaitItem() - assertThat(awaitItem().resultState as? SearchBarResultState.Results).isEqualTo(SearchBarResultState.Results(listOf(aRoomSummary()))) + val expectedRoomSummary = aRoomSummary() + // Do not compare the lambda because they will be different. So copy the lambda from expectedRoomSummary to result + val result = (awaitItem().resultState as SearchBarResultState.Results).results.map { roomSummary -> + roomSummary.copy( + lastMessage = roomSummary.lastMessage!!.copy( + event = roomSummary.lastMessage!!.event.copy( + debugInfoProvider = expectedRoomSummary.lastMessage!!.event.debugInfoProvider, + messageShieldProvider = expectedRoomSummary.lastMessage!!.event.messageShieldProvider, + ) + ), + ) + } + assertThat(result).isEqualTo(listOf(expectedRoomSummary)) initialState.eventSink(RoomSelectEvents.ToggleSearchActive) skipItems(1) initialState.eventSink(RoomSelectEvents.UpdateQuery("string not contained")) From 1d5509e2eb849cfb3e9e5045d6d98854932f31d2 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Tue, 1 Oct 2024 13:31:34 +0200 Subject: [PATCH 050/151] Don't delete uploaded logs (#3540) --- .../rageshake/impl/reporter/DefaultBugReporter.kt | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporter.kt b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporter.kt index 1888c3851a..9376959d57 100755 --- a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporter.kt +++ b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/reporter/DefaultBugReporter.kt @@ -114,7 +114,6 @@ class DefaultBugReporter @Inject constructor( else -> compressFile(file) } } - files.deleteAllExceptMostRecent() } if (withCrashLogs || withDevicesLogs) { saveLogCat() @@ -316,20 +315,6 @@ class DefaultBugReporter @Inject constructor( }.orEmpty() } - /** - * Delete all the log files except the most recent one. - */ - private fun List.deleteAllExceptMostRecent() { - if (size > 1) { - val mostRecentFile = maxByOrNull { it.lastModified() } - forEach { file -> - if (file != mostRecentFile) { - file.safeDelete() - } - } - } - } - // ============================================================================================================== // Logcat management // ============================================================================================================== From 305c4d5a965f628448b6a5591ac99f9690423613 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 22:38:27 +0000 Subject: [PATCH 051/151] Update dependency com.google.firebase:firebase-bom to v33.4.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0cc72e19fe..129b8aa46f 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -68,7 +68,7 @@ kotlin_gradle_plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", v kover_gradle_plugin = { module = "org.jetbrains.kotlinx:kover-gradle-plugin", version.ref = "kover" } gms_google_services = "com.google.gms:google-services:4.4.2" # https://firebase.google.com/docs/android/setup#available-libraries -google_firebase_bom = "com.google.firebase:firebase-bom:33.3.0" +google_firebase_bom = "com.google.firebase:firebase-bom:33.4.0" firebase_appdistribution_gradle = { module = "com.google.firebase:firebase-appdistribution-gradle", version.ref = "firebaseAppDistribution" } autonomousapps_dependencyanalysis_plugin = { module = "com.autonomousapps:dependency-analysis-gradle-plugin", version.ref = "dependencyAnalysis" } From 729334ba4d66d058ce5c0209314c2bb7e6c3da3c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 2 Oct 2024 11:05:00 +0200 Subject: [PATCH 052/151] Git ignore .idea/runConfigurations.xml --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 78fa471170..bde49b3cf4 100644 --- a/.gitignore +++ b/.gitignore @@ -53,6 +53,7 @@ captures/ # Comment next line if keeping position of elements in Navigation Editor is relevant for you .idea/navEditor.xml .idea/other.xml +.idea/runConfigurations.xml .idea/tasks.xml .idea/workspace.xml .idea/libraries From f344a1282c344430b819933e8a10a4a1d5ecbec7 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Wed, 2 Oct 2024 11:28:33 +0200 Subject: [PATCH 053/151] Don't display security banner for unknown RecoveryState (#3579) * Don't display security banner for unknown `RecoveryState` * Don't display 'set up recovery' if its status is unknown. Add more screenshot tests. * Update screenshots --------- Co-authored-by: ElementBot --- .../android/features/roomlist/impl/RoomListPresenter.kt | 2 +- .../android/features/roomlist/impl/RoomListPresenterTest.kt | 4 +++- .../securebackup/impl/root/SecureBackupRootStateProvider.kt | 5 +++++ .../features/securebackup/impl/root/SecureBackupRootView.kt | 2 +- ....securebackup.impl.root_SecureBackupRootView_Day_0_en.png | 4 ++-- ...securebackup.impl.root_SecureBackupRootView_Day_10_en.png | 3 +++ ...securebackup.impl.root_SecureBackupRootView_Day_11_en.png | 3 +++ ...securebackup.impl.root_SecureBackupRootView_Day_12_en.png | 3 +++ ...securebackup.impl.root_SecureBackupRootView_Day_13_en.png | 3 +++ ....securebackup.impl.root_SecureBackupRootView_Day_1_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_2_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_3_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_4_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_5_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_6_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_7_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_8_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_9_en.png | 3 +++ ...ecurebackup.impl.root_SecureBackupRootView_Night_0_en.png | 4 ++-- ...curebackup.impl.root_SecureBackupRootView_Night_10_en.png | 3 +++ ...curebackup.impl.root_SecureBackupRootView_Night_11_en.png | 3 +++ ...curebackup.impl.root_SecureBackupRootView_Night_12_en.png | 3 +++ ...curebackup.impl.root_SecureBackupRootView_Night_13_en.png | 3 +++ ...ecurebackup.impl.root_SecureBackupRootView_Night_1_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_2_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_3_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_4_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_5_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_6_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_7_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_8_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_9_en.png | 3 +++ 32 files changed, 76 insertions(+), 39 deletions(-) create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_10_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_11_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_12_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_13_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_9_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_10_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_11_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_12_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_13_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_9_en.png diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt index 5c4d29a67e..429bfbb698 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt @@ -186,9 +186,9 @@ class RoomListPresenter @Inject constructor( currentSecurityBannerDismissed -> SecurityBannerState.None syncState == SyncState.Running -> { when (recoveryState) { - RecoveryState.UNKNOWN, RecoveryState.DISABLED -> SecurityBannerState.SetUpRecovery RecoveryState.INCOMPLETE -> SecurityBannerState.RecoveryKeyConfirmation + RecoveryState.UNKNOWN, RecoveryState.WAITING_FOR_SYNC, RecoveryState.ENABLED -> SecurityBannerState.None } diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt index c77f59a0a8..8264263760 100644 --- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt +++ b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt @@ -236,7 +236,9 @@ class RoomListPresenterTest { @Test fun `present - handle DismissRecoveryKeyPrompt`() = runTest { - val encryptionService = FakeEncryptionService() + val encryptionService = FakeEncryptionService().apply { + recoveryStateStateFlow.emit(RecoveryState.DISABLED) + } val roomListService = FakeRoomListService().apply { postAllRoomsLoadingState(RoomList.LoadingState.Loaded(1)) } diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootStateProvider.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootStateProvider.kt index 015516558a..c07c166975 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootStateProvider.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootStateProvider.kt @@ -20,6 +20,11 @@ open class SecureBackupRootStateProvider : PreviewParameterProvider Unit RecoveryState.UNKNOWN, + RecoveryState.WAITING_FOR_SYNC -> Unit RecoveryState.DISABLED -> { PreferenceText( title = stringResource(id = R.string.screen_chat_backup_recovery_action_setup), diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_0_en.png index 6f4a4cae9d..8aa7ee7058 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0 -size 39222 +oid sha256:a202e12e176f62f47fbb44b3191b869a0a2377785da0e840e6d76c434f83a33c +size 20811 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_10_en.png new file mode 100644 index 0000000000..8aa7ee7058 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_10_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a202e12e176f62f47fbb44b3191b869a0a2377785da0e840e6d76c434f83a33c +size 20811 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_11_en.png new file mode 100644 index 0000000000..091dd72f00 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_11_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3728049139125f924a03e60cdc7afd40b8a4a780dc75141132deff2494319ae1 +size 24834 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_12_en.png new file mode 100644 index 0000000000..6f4a4cae9d --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_12_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0 +size 39222 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_13_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_13_en.png new file mode 100644 index 0000000000..8bd3beef77 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_13_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:487d6f57e9a2692c92b7398738861f4f2ec34e47093e1f0bcf922036078f4814 +size 29427 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_1_en.png index 7ccea1b11b..8c24419d21 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab05233b230d48117469cb1dfc8f3b1599d9a4202692a764ac85095a1ceb354b -size 40230 +oid sha256:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a +size 21828 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_2_en.png index 9da61505ac..7eb6d7a603 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c1e7eb64596e452ae9c3e0c43be7206d2283e79f055d0b70cbe7c0060b4f105 -size 40201 +oid sha256:331c84158362c6b187817f869b116cbddd5cd649cadcd77838dbf597c2307ede +size 21787 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_3_en.png index 840bf1e0b3..081ac4b59d 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce693dacc67c3e131e2ce18f66814aa26a49c213d77181e025e57c7b5ab89657 -size 45699 +oid sha256:3bb3fe56b0aa449bb685f04dd536e72a9e74c35b9c352685e90c562dc08b405a +size 26549 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_4_en.png index 7ccea1b11b..39d672eddd 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab05233b230d48117469cb1dfc8f3b1599d9a4202692a764ac85095a1ceb354b -size 40230 +oid sha256:5dc2e635fd87eca043ef02138704c0df3a088d3c1bf5deb0600c79e99f87f4dc +size 19174 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_5_en.png index 6f4a4cae9d..8c24419d21 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0 -size 39222 +oid sha256:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a +size 21828 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_6_en.png index 091dd72f00..8c24419d21 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3728049139125f924a03e60cdc7afd40b8a4a780dc75141132deff2494319ae1 -size 24834 +oid sha256:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a +size 21828 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_7_en.png index 6f4a4cae9d..8c24419d21 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0 -size 39222 +oid sha256:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a +size 21828 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_8_en.png index 8bd3beef77..12a6f2a522 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:487d6f57e9a2692c92b7398738861f4f2ec34e47093e1f0bcf922036078f4814 -size 29427 +oid sha256:272d02d5baf278e6d21b0f7bc468528aa9df7255729dae2a3fadbd04c4838f9e +size 20810 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_9_en.png new file mode 100644 index 0000000000..8c24419d21 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_9_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a +size 21828 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_0_en.png index 2ce915dfa6..34ae1182c1 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12 -size 38423 +oid sha256:1b7c8180e8d0c43ee3b1a9eaeab5f7d0e902ab040bc3bc90cb4c5ba6888a024c +size 20330 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_10_en.png new file mode 100644 index 0000000000..34ae1182c1 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_10_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1b7c8180e8d0c43ee3b1a9eaeab5f7d0e902ab040bc3bc90cb4c5ba6888a024c +size 20330 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_11_en.png new file mode 100644 index 0000000000..707c20fede --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_11_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:912d13b5103bafc4c8698e905f141aed8232d6a8b671031634276e74a8a413ad +size 24378 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_12_en.png new file mode 100644 index 0000000000..2ce915dfa6 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_12_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12 +size 38423 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_13_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_13_en.png new file mode 100644 index 0000000000..1407f85061 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_13_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f13b6aeb9c6a72a04102334a818c215d687bfa75b73e23e0a7cffd1b8a117ed2 +size 28672 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_1_en.png index 335ad26b69..2ce3098299 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:daace1b22edaf57b2640087261a27ceccaebca8e3e5f14d4ac3b889a04b82f5e -size 39365 +oid sha256:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06 +size 21280 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_2_en.png index e755c5125c..aa70491b15 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b692fa22a39a61d145ba3d65111e775d80f1efb31efeb7995356489afc0bf156 -size 39312 +oid sha256:c9e3732d11921769aad90dd29a4e676079be7a3cdbe2381222c3f196a8567f9e +size 21230 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_3_en.png index d309a7517a..ea6888c694 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5aa1078680c90bd27b4ebb72c3359e923b49f1b444a813c4e08e967fc234fe2a -size 44835 +oid sha256:6addb08090717d2f70fd59636861374e19ea3d9074e204108cbdb89a3d1733e9 +size 26081 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_4_en.png index 335ad26b69..43233f6138 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:daace1b22edaf57b2640087261a27ceccaebca8e3e5f14d4ac3b889a04b82f5e -size 39365 +oid sha256:a53a5892a85f6ac4c1dd0c5052f3e16c17b81344cef07efefc694a9615b16d57 +size 18729 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_5_en.png index 2ce915dfa6..2ce3098299 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12 -size 38423 +oid sha256:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06 +size 21280 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_6_en.png index 707c20fede..2ce3098299 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:912d13b5103bafc4c8698e905f141aed8232d6a8b671031634276e74a8a413ad -size 24378 +oid sha256:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06 +size 21280 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_7_en.png index 2ce915dfa6..2ce3098299 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12 -size 38423 +oid sha256:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06 +size 21280 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_8_en.png index 1407f85061..d12761dda6 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f13b6aeb9c6a72a04102334a818c215d687bfa75b73e23e0a7cffd1b8a117ed2 -size 28672 +oid sha256:30ce4665555f92354269d2cb7d6076dc3a5780b122ca0a613d71023b45a696c5 +size 20330 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_9_en.png new file mode 100644 index 0000000000..2ce3098299 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_9_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06 +size 21280 From 7f3ebbb85d923051f047e1638f4c615d89c3a186 Mon Sep 17 00:00:00 2001 From: Joe Groocock Date: Tue, 1 Oct 2024 20:58:55 +0000 Subject: [PATCH 054/151] Prevent crash with duplicate room suggestion If two rooms have the same canonical alias, e.g. the recently tombstoned and upgraded #foundation-office:matrix.org, typing `#foun` into the composer could cause the app to crash. This avoids that by using the (hopefully) globally unique room id as the key instead. Signed-off-by: Joe Groocock --- .../impl/messagecomposer/suggestions/SuggestionsPickerView.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/suggestions/SuggestionsPickerView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/suggestions/SuggestionsPickerView.kt index 7209daccfd..7a9c542a1b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/suggestions/SuggestionsPickerView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/suggestions/SuggestionsPickerView.kt @@ -60,7 +60,7 @@ fun SuggestionsPickerView( when (suggestion) { is ResolvedSuggestion.AtRoom -> "@room" is ResolvedSuggestion.Member -> suggestion.roomMember.userId.value - is ResolvedSuggestion.Alias -> suggestion.roomAlias.value + is ResolvedSuggestion.Alias -> suggestion.roomSummary.roomId.value } } ) { From 79c17f714fb006b1b393a7af7a663e38a5f32535 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Wed, 2 Oct 2024 13:52:17 +0200 Subject: [PATCH 055/151] Use Anvil KSP instead of the Square KAPT one (#3564) * Use Anvil KSP instead of the Square KAPT one * Fix several configuration cache, lint and test issues * Allow incremental kotlin compilation in the CI * Workaround Robolectric + Compose issue that caused `AppNotIdleException` * Update the `enterprise` commit hash * Update screenshots --------- Co-authored-by: ElementBot --- .github/workflows/build.yml | 2 +- .github/workflows/build_enterprise.yml | 2 +- .github/workflows/maestro.yml | 2 +- .github/workflows/nightly.yml | 2 +- .github/workflows/nightlyReports.yml | 2 +- .github/workflows/nightly_enterprise.yml | 2 +- .github/workflows/quality.yml | 2 +- .github/workflows/recordScreenshots.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/sonar.yml | 2 +- .github/workflows/tests.yml | 2 +- anvilcodegen/build.gradle.kts | 5 +- .../ContributesNodeCodeGenerator.kt | 144 --------------- .../anvilcodegen/ContributesNodeProcessor.kt | 169 ++++++++++++++++++ .../ContributesNodeProcessorProvider.kt | 23 +++ ...ols.ksp.processing.SymbolProcessorProvider | 1 + app/build.gradle.kts | 9 +- .../io/element/android/x/di/AppComponent.kt | 3 +- .../io/element/android/x/di/RoomComponent.kt | 3 +- .../element/android/x/di/SessionComponent.kt | 3 +- appnav/build.gradle.kts | 2 +- build.gradle.kts | 3 +- enterprise | 2 +- features/createroom/impl/build.gradle.kts | 3 +- .../createroom/impl/di/CreateRoomComponent.kt | 3 +- .../impl/unlock/PinUnlockStateProvider.kt | 5 + features/login/impl/build.gradle.kts | 3 +- .../login/impl/di/QrCodeLoginComponent.kt | 3 +- ...t.kt => FakeMergedQrCodeLoginComponent.kt} | 6 +- .../impl/qrcode/QrCodeLoginFlowNodeTest.kt | 4 +- .../impl/timeline/session/SessionState.kt | 13 -- .../pinned/list/PinnedMessagesListViewTest.kt | 3 +- .../impl/timeline/TimelineViewTest.kt | 3 +- .../roomlist/impl/InvitesStateProvider.kt | 18 -- .../features/roomlist/impl/RoomListState.kt | 6 - .../reset/ResetIdentityFlowManagerTest.kt | 1 + gradle.properties | 15 +- gradle/libs.versions.toml | 14 +- .../component/async/AsyncIndicatorTest.kt | 4 +- libraries/mediapickers/impl/build.gradle.kts | 17 +- .../session-storage/impl/build.gradle.kts | 14 ++ plugins/build.gradle.kts | 1 + .../main/kotlin/extension/AnvilExtensions.kt | 47 +++-- .../kotlin/extension/DependencyHandleScope.kt | 48 ++--- .../main/kotlin/extension/KoverExtension.kt | 111 ++++++------ .../analytics/impl/DefaultAnalyticsService.kt | 2 +- tests/konsist/build.gradle.kts | 5 +- .../testutils/RobolectricDispatcherCleaner.kt | 55 ++++++ tests/uitests/build.gradle.kts | 2 +- ...mpl.unlock_PinUnlockViewInApp_Day_7_en.png | 3 + ...l.unlock_PinUnlockViewInApp_Night_7_en.png | 3 + ...een.impl.unlock_PinUnlockView_Day_7_en.png | 3 + ...n.impl.unlock_PinUnlockView_Night_7_en.png | 3 + tools/danger/dangerfile.js | 2 +- 54 files changed, 462 insertions(+), 347 deletions(-) delete mode 100644 anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeCodeGenerator.kt create mode 100644 anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeProcessor.kt create mode 100644 anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeProcessorProvider.kt create mode 100644 anvilcodegen/src/main/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider rename features/login/impl/src/test/kotlin/io/element/android/features/login/impl/di/{FakeQrCodeLoginComponent.kt => FakeMergedQrCodeLoginComponent.kt} (88%) delete mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/session/SessionState.kt delete mode 100644 features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/InvitesStateProvider.kt create mode 100644 tests/testutils/src/main/kotlin/io/element/android/tests/testutils/RobolectricDispatcherCleaner.kt create mode 100644 tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_7_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_7_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_7_en.png diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d28af77003..a9f751b556 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,7 +9,7 @@ on: # Enrich gradle.properties for CI/CD env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dkotlin.incremental=false + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true jobs: diff --git a/.github/workflows/build_enterprise.yml b/.github/workflows/build_enterprise.yml index 43073a06c5..601db71ac7 100644 --- a/.github/workflows/build_enterprise.yml +++ b/.github/workflows/build_enterprise.yml @@ -9,7 +9,7 @@ on: # Enrich gradle.properties for CI/CD env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dkotlin.incremental=false + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true jobs: diff --git a/.github/workflows/maestro.yml b/.github/workflows/maestro.yml index 6908deaa94..bbf1129eff 100644 --- a/.github/workflows/maestro.yml +++ b/.github/workflows/maestro.yml @@ -8,7 +8,7 @@ on: # Enrich gradle.properties for CI/CD env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dkotlin.incremental=false + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true jobs: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index c2e9aa7877..67c53ccbae 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -7,7 +7,7 @@ on: - cron: "0 4 * * *" env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dkotlin.incremental=false + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true jobs: diff --git a/.github/workflows/nightlyReports.yml b/.github/workflows/nightlyReports.yml index 6aa6c151a7..bb1af3abc4 100644 --- a/.github/workflows/nightlyReports.yml +++ b/.github/workflows/nightlyReports.yml @@ -8,7 +8,7 @@ on: # Enrich gradle.properties for CI/CD env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dkotlin.incremental=false + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true jobs: diff --git a/.github/workflows/nightly_enterprise.yml b/.github/workflows/nightly_enterprise.yml index 31077c7998..611986010e 100644 --- a/.github/workflows/nightly_enterprise.yml +++ b/.github/workflows/nightly_enterprise.yml @@ -7,7 +7,7 @@ on: - cron: "0 4 * * *" env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dkotlin.incremental=false + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true jobs: diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 5d0eaaabc8..37d86a51de 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -9,7 +9,7 @@ on: # Enrich gradle.properties for CI/CD env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dkotlin.incremental=false + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true jobs: diff --git a/.github/workflows/recordScreenshots.yml b/.github/workflows/recordScreenshots.yml index 424622f8ca..1391aca49c 100644 --- a/.github/workflows/recordScreenshots.yml +++ b/.github/workflows/recordScreenshots.yml @@ -7,7 +7,7 @@ on: # Enrich gradle.properties for CI/CD env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dkotlin.incremental=false -Dsonar.gradle.skipCompile=true + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dsonar.gradle.skipCompile=true jobs: record: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 94aeb3dfd1..17ab2efd18 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,7 +7,7 @@ on: # Enrich gradle.properties for CI/CD env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dkotlin.incremental=false + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true jobs: diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml index 7519240ffb..1a9f2cf598 100644 --- a/.github/workflows/sonar.yml +++ b/.github/workflows/sonar.yml @@ -9,7 +9,7 @@ on: # Enrich gradle.properties for CI/CD env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dkotlin.incremental=false + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g CI_GRADLE_ARG_PROPERTIES: --stacktrace --warn -Dsonar.gradle.skipCompile=true GROUP: ${{ format('sonar-{0}', github.ref) }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0cde28968f..45630e6140 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,7 +9,7 @@ on: # Enrich gradle.properties for CI/CD env: - GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx7g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.incremental=false -Dkotlin.daemon.jvm.options=-Xmx2g -XX:+UseG1GC + GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx7g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options=-Xmx2g -XX:+UseG1GC CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true jobs: diff --git a/anvilcodegen/build.gradle.kts b/anvilcodegen/build.gradle.kts index 96bca85be4..30d244c9a9 100644 --- a/anvilcodegen/build.gradle.kts +++ b/anvilcodegen/build.gradle.kts @@ -7,7 +7,6 @@ plugins { alias(libs.plugins.kotlin.jvm) - alias(libs.plugins.kapt) } dependencies { @@ -16,6 +15,6 @@ dependencies { implementation(libs.anvil.compiler.utils) implementation(libs.kotlinpoet) implementation(libs.dagger) - compileOnly(libs.google.autoservice.annotations) - kapt(libs.google.autoservice) + implementation(libs.ksp.plugin) + implementation(libs.kotlinpoet.ksp) } diff --git a/anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeCodeGenerator.kt b/anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeCodeGenerator.kt deleted file mode 100644 index ddf5d0d795..0000000000 --- a/anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeCodeGenerator.kt +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright 2023, 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -@file:OptIn(ExperimentalAnvilApi::class) - -package io.element.android.anvilcodegen - -import com.google.auto.service.AutoService -import com.squareup.anvil.annotations.ContributesTo -import com.squareup.anvil.annotations.ExperimentalAnvilApi -import com.squareup.anvil.compiler.api.AnvilCompilationException -import com.squareup.anvil.compiler.api.AnvilContext -import com.squareup.anvil.compiler.api.CodeGenerator -import com.squareup.anvil.compiler.api.GeneratedFile -import com.squareup.anvil.compiler.api.createGeneratedFile -import com.squareup.anvil.compiler.internal.asClassName -import com.squareup.anvil.compiler.internal.buildFile -import com.squareup.anvil.compiler.internal.fqName -import com.squareup.anvil.compiler.internal.reference.ClassReference -import com.squareup.anvil.compiler.internal.reference.asClassName -import com.squareup.anvil.compiler.internal.reference.classAndInnerClassReferences -import com.squareup.kotlinpoet.AnnotationSpec -import com.squareup.kotlinpoet.ClassName -import com.squareup.kotlinpoet.FileSpec -import com.squareup.kotlinpoet.FunSpec -import com.squareup.kotlinpoet.KModifier -import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy -import com.squareup.kotlinpoet.STAR -import com.squareup.kotlinpoet.TypeSpec -import dagger.Binds -import dagger.Module -import dagger.assisted.Assisted -import dagger.assisted.AssistedFactory -import dagger.assisted.AssistedInject -import dagger.multibindings.IntoMap -import io.element.android.anvilannotations.ContributesNode -import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.psi.KtFile -import java.io.File - -/** - * This is an anvil plugin that allows Node to use [ContributesNode] alone and let this plugin automatically - * handle the rest of the Dagger wiring required for constructor injection. - */ -@AutoService(CodeGenerator::class) -class ContributesNodeCodeGenerator : CodeGenerator { - override fun isApplicable(context: AnvilContext): Boolean = true - - override fun generateCode(codeGenDir: File, module: ModuleDescriptor, projectFiles: Collection): Collection { - return projectFiles.classAndInnerClassReferences(module) - .filter { it.isAnnotatedWith(ContributesNode::class.fqName) } - .flatMap { listOf(generateModule(it, codeGenDir, module), generateAssistedFactory(it, codeGenDir, module)) } - .toList() - } - - private fun generateModule(nodeClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFile { - val generatedPackage = nodeClass.packageFqName.toString() - val moduleClassName = "${nodeClass.shortName}_Module" - val scope = nodeClass.annotations.single { it.fqName == ContributesNode::class.fqName }.scope() - val content = FileSpec.buildFile(generatedPackage, moduleClassName) { - addType( - TypeSpec.classBuilder(moduleClassName) - .addModifiers(KModifier.ABSTRACT) - .addAnnotation(Module::class) - .addAnnotation(AnnotationSpec.builder(ContributesTo::class).addMember("%T::class", scope.asClassName()).build()) - .addFunction( - FunSpec.builder("bind${nodeClass.shortName}Factory") - .addModifiers(KModifier.ABSTRACT) - .addParameter("factory", ClassName(generatedPackage, "${nodeClass.shortName}_AssistedFactory")) - .returns(assistedNodeFactoryFqName.asClassName(module).parameterizedBy(STAR)) - .addAnnotation(Binds::class) - .addAnnotation(IntoMap::class) - .addAnnotation( - AnnotationSpec.Companion.builder(nodeKeyFqName.asClassName(module)).addMember( - "%T::class", - nodeClass.asClassName() - ).build() - ) - .build(), - ) - .build(), - ) - } - return createGeneratedFile(codeGenDir, generatedPackage, moduleClassName, content) - } - - private fun generateAssistedFactory(nodeClass: ClassReference.Psi, codeGenDir: File, module: ModuleDescriptor): GeneratedFile { - val generatedPackage = nodeClass.packageFqName.toString() - val assistedFactoryClassName = "${nodeClass.shortName}_AssistedFactory" - val constructor = nodeClass.constructors.singleOrNull { it.isAnnotatedWith(AssistedInject::class.fqName) } - val assistedParameters = constructor?.parameters?.filter { it.isAnnotatedWith(Assisted::class.fqName) }.orEmpty() - if (constructor == null || assistedParameters.size != 2) { - throw AnvilCompilationException( - "${nodeClass.fqName} must have an @AssistedInject constructor with 2 @Assisted parameters", - element = nodeClass.clazz, - ) - } - val contextAssistedParam = assistedParameters[0] - if (contextAssistedParam.name != "buildContext") { - throw AnvilCompilationException( - "${nodeClass.fqName} @Assisted parameter must be named buildContext", - element = contextAssistedParam.parameter, - ) - } - val pluginsAssistedParam = assistedParameters[1] - if (pluginsAssistedParam.name != "plugins") { - throw AnvilCompilationException( - "${nodeClass.fqName} @Assisted parameter must be named plugins", - element = pluginsAssistedParam.parameter, - ) - } - - val nodeClassName = nodeClass.asClassName() - val buildContextClassName = contextAssistedParam.type().asTypeName() - val pluginsClassName = pluginsAssistedParam.type().asTypeName() - val content = FileSpec.buildFile(generatedPackage, assistedFactoryClassName) { - addType( - TypeSpec.interfaceBuilder(assistedFactoryClassName) - .addSuperinterface(assistedNodeFactoryFqName.asClassName(module).parameterizedBy(nodeClassName)) - .addAnnotation(AssistedFactory::class) - .addFunction( - FunSpec.builder("create") - .addModifiers(KModifier.OVERRIDE, KModifier.ABSTRACT) - .addParameter("buildContext", buildContextClassName) - .addParameter("plugins", pluginsClassName) - .returns(nodeClassName) - .build(), - ) - .build(), - ) - } - return createGeneratedFile(codeGenDir, generatedPackage, assistedFactoryClassName, content) - } - - companion object { - private val assistedNodeFactoryFqName = FqName("io.element.android.libraries.architecture.AssistedNodeFactory") - private val nodeKeyFqName = FqName("io.element.android.libraries.architecture.NodeKey") - } -} diff --git a/anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeProcessor.kt b/anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeProcessor.kt new file mode 100644 index 0000000000..06bb60c55a --- /dev/null +++ b/anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeProcessor.kt @@ -0,0 +1,169 @@ +/* + * Copyright 2022-2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.anvilcodegen + +import com.google.devtools.ksp.KspExperimental +import com.google.devtools.ksp.getConstructors +import com.google.devtools.ksp.isAnnotationPresent +import com.google.devtools.ksp.processing.CodeGenerator +import com.google.devtools.ksp.processing.Dependencies +import com.google.devtools.ksp.processing.KSPLogger +import com.google.devtools.ksp.processing.Resolver +import com.google.devtools.ksp.processing.SymbolProcessor +import com.google.devtools.ksp.symbol.KSAnnotated +import com.google.devtools.ksp.symbol.KSClassDeclaration +import com.google.devtools.ksp.symbol.KSType +import com.google.devtools.ksp.validate +import com.squareup.anvil.annotations.ContributesTo +import com.squareup.kotlinpoet.AnnotationSpec +import com.squareup.kotlinpoet.ClassName +import com.squareup.kotlinpoet.FileSpec +import com.squareup.kotlinpoet.FunSpec +import com.squareup.kotlinpoet.KModifier +import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy +import com.squareup.kotlinpoet.STAR +import com.squareup.kotlinpoet.TypeSpec +import com.squareup.kotlinpoet.ksp.toTypeName +import com.squareup.kotlinpoet.ksp.writeTo +import dagger.Binds +import dagger.Module +import dagger.assisted.Assisted +import dagger.assisted.AssistedFactory +import dagger.assisted.AssistedInject +import dagger.multibindings.IntoMap +import io.element.android.anvilannotations.ContributesNode +import org.jetbrains.kotlin.name.FqName + +class ContributesNodeProcessor( + private val logger: KSPLogger, + private val codeGenerator: CodeGenerator, + private val config: Config, +) : SymbolProcessor { + data class Config( + val enableLogging: Boolean = false, + ) + + override fun process(resolver: Resolver): List { + val annotatedSymbols = resolver.getSymbolsWithAnnotation(ContributesNode::class.qualifiedName!!) + .filterIsInstance() + + val (validSymbols, invalidSymbols) = annotatedSymbols.partition { it.validate() } + + if (validSymbols.isEmpty()) return invalidSymbols + + for (ksClass in validSymbols) { + if (config.enableLogging) { + logger.warn("Processing ${ksClass.qualifiedName?.asString()}") + } + generateModule(ksClass) + generateFactory(ksClass) + } + + return invalidSymbols + } + + private fun generateModule(ksClass: KSClassDeclaration) { + val annotation = ksClass.annotations.find { it.shortName.asString() == "ContributesNode" }!! + val scope = annotation.arguments.find { it.name?.asString() == "scope" }!!.value as KSType + val modulePackage = ksClass.packageName.asString() + val moduleClassName = "${ksClass.simpleName.asString()}_Module" + val content = FileSpec.builder( + packageName = modulePackage, + fileName = moduleClassName, + ) + .addType( + TypeSpec.classBuilder(moduleClassName) + .addModifiers(KModifier.ABSTRACT) + .addAnnotation(Module::class) + .addAnnotation(AnnotationSpec.builder(ContributesTo::class).addMember("%T::class", scope.toTypeName()).build()) + .addFunction( + FunSpec.builder("bind${ksClass.simpleName.asString()}Factory") + .addModifiers(KModifier.ABSTRACT) + .addParameter("factory", ClassName(modulePackage, "${ksClass.simpleName.asString()}_AssistedFactory")) + .returns(ClassName.bestGuess(assistedNodeFactoryFqName.asString()).parameterizedBy(STAR)) + .addAnnotation(Binds::class) + .addAnnotation(IntoMap::class) + .addAnnotation( + AnnotationSpec.Companion.builder(ClassName.bestGuess(nodeKeyFqName.asString())).addMember( + "%T::class", + ClassName.bestGuess(ksClass.qualifiedName!!.asString()) + ).build() + ) + .build(), + ) + .build(), + ) + .build() + + content.writeTo( + codeGenerator = codeGenerator, + dependencies = Dependencies( + aggregating = true, + ksClass.containingFile!! + ), + ) + } + + @OptIn(KspExperimental::class) + private fun generateFactory(ksClass: KSClassDeclaration) { + val generatedPackage = ksClass.packageName.asString() + val assistedFactoryClassName = "${ksClass.simpleName.asString()}_AssistedFactory" + val constructor = ksClass.getConstructors().singleOrNull { it.isAnnotationPresent(AssistedInject::class) } + val assistedParameters = constructor?.parameters?.filter { it.isAnnotationPresent(Assisted::class) }.orEmpty() + if (constructor == null || assistedParameters.size != 2) { + error( + "${ksClass.qualifiedName} must have an @AssistedInject constructor with 2 @Assisted parameters", + ) + } + val contextAssistedParam = assistedParameters[0] + if (contextAssistedParam.name?.asString() != "buildContext") { + error( + "${ksClass.qualifiedName} @Assisted parameter must be named buildContext", + ) + } + val pluginsAssistedParam = assistedParameters[1] + if (pluginsAssistedParam.name?.asString() != "plugins") { + error( + "${ksClass.qualifiedName} @Assisted parameter must be named plugins", + ) + } + + val nodeClassName = ClassName.bestGuess(ksClass.qualifiedName!!.asString()) + val buildContextClassName = contextAssistedParam.type.toTypeName() + val pluginsClassName = pluginsAssistedParam.type.toTypeName() + val content = FileSpec.builder(generatedPackage, assistedFactoryClassName) + .addType( + TypeSpec.interfaceBuilder(assistedFactoryClassName) + .addSuperinterface(ClassName.bestGuess(assistedNodeFactoryFqName.asString()).parameterizedBy(nodeClassName)) + .addAnnotation(AssistedFactory::class) + .addFunction( + FunSpec.builder("create") + .addModifiers(KModifier.OVERRIDE, KModifier.ABSTRACT) + .addParameter("buildContext", buildContextClassName) + .addParameter("plugins", pluginsClassName) + .returns(nodeClassName) + .build(), + ) + .build(), + ) + .build() + + content.writeTo( + codeGenerator = codeGenerator, + dependencies = Dependencies( + aggregating = true, + ksClass.containingFile!! + ), + ) + } + + companion object { + private val assistedNodeFactoryFqName = FqName("io.element.android.libraries.architecture.AssistedNodeFactory") + private val nodeKeyFqName = FqName("io.element.android.libraries.architecture.NodeKey") + } +} diff --git a/anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeProcessorProvider.kt b/anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeProcessorProvider.kt new file mode 100644 index 0000000000..478e30fbf0 --- /dev/null +++ b/anvilcodegen/src/main/kotlin/io/element/android/anvilcodegen/ContributesNodeProcessorProvider.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2022-2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.anvilcodegen + +import com.google.devtools.ksp.processing.SymbolProcessor +import com.google.devtools.ksp.processing.SymbolProcessorEnvironment +import com.google.devtools.ksp.processing.SymbolProcessorProvider + +class ContributesNodeProcessorProvider : SymbolProcessorProvider { + override fun create(environment: SymbolProcessorEnvironment): SymbolProcessor { + val enableLogging = environment.options["enableLogging"]?.toBoolean() ?: false + return ContributesNodeProcessor( + logger = environment.logger, + codeGenerator = environment.codeGenerator, + config = ContributesNodeProcessor.Config(enableLogging = enableLogging), + ) + } +} diff --git a/anvilcodegen/src/main/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider b/anvilcodegen/src/main/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider new file mode 100644 index 0000000000..d5c111b0b2 --- /dev/null +++ b/anvilcodegen/src/main/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider @@ -0,0 +1 @@ +io.element.android.anvilcodegen.ContributesNodeProcessorProvider diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c16d30f618..b760bd63e1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -11,6 +11,7 @@ import com.android.build.api.variant.FilterConfiguration.FilterType.ABI import com.android.build.gradle.internal.tasks.factory.dependsOn import com.android.build.gradle.tasks.GenerateBuildConfig import extension.AssetCopyTask +import extension.ComponentMergingStrategy import extension.GitBranchNameValueSource import extension.GitRevisionValueSource import extension.allEnterpriseImpl @@ -235,22 +236,24 @@ knit { setupAnvil( generateDaggerCode = true, generateDaggerFactoriesUsingAnvil = false, + componentMergingStrategy = ComponentMergingStrategy.KSP, ) dependencies { allLibrariesImpl() allServicesImpl() if (isEnterpriseBuild) { - allEnterpriseImpl(rootDir, logger) + allEnterpriseImpl(project) implementation(projects.appicon.enterprise) } else { implementation(projects.appicon.element) } - allFeaturesImpl(rootDir, logger) + allFeaturesImpl(project) implementation(projects.features.migration.api) implementation(projects.appnav) implementation(projects.appconfig) implementation(projects.libraries.uiStrings) + implementation(projects.services.analytics.compose) if (ModulesConfig.pushProvidersConfig.includeFirebase) { "gplayImplementation"(projects.libraries.pushproviders.firebase) @@ -275,6 +278,8 @@ dependencies { implementation(libs.serialization.json) implementation(libs.matrix.emojibase.bindings) + // Needed for UtdTracker + implementation(libs.matrix.sdk) testImplementation(libs.test.junit) testImplementation(libs.test.robolectric) diff --git a/app/src/main/kotlin/io/element/android/x/di/AppComponent.kt b/app/src/main/kotlin/io/element/android/x/di/AppComponent.kt index ba7df0654b..42ff4c830a 100644 --- a/app/src/main/kotlin/io/element/android/x/di/AppComponent.kt +++ b/app/src/main/kotlin/io/element/android/x/di/AppComponent.kt @@ -10,7 +10,6 @@ package io.element.android.x.di import android.content.Context import com.squareup.anvil.annotations.MergeComponent import dagger.BindsInstance -import dagger.Component import io.element.android.libraries.architecture.NodeFactoriesBindings import io.element.android.libraries.di.AppScope import io.element.android.libraries.di.ApplicationContext @@ -19,7 +18,7 @@ import io.element.android.libraries.di.SingleIn @SingleIn(AppScope::class) @MergeComponent(AppScope::class) interface AppComponent : NodeFactoriesBindings { - @Component.Factory + @MergeComponent.Factory interface Factory { fun create( @ApplicationContext @BindsInstance diff --git a/app/src/main/kotlin/io/element/android/x/di/RoomComponent.kt b/app/src/main/kotlin/io/element/android/x/di/RoomComponent.kt index 924979d48f..7d5d3b2e5e 100644 --- a/app/src/main/kotlin/io/element/android/x/di/RoomComponent.kt +++ b/app/src/main/kotlin/io/element/android/x/di/RoomComponent.kt @@ -10,7 +10,6 @@ package io.element.android.x.di import com.squareup.anvil.annotations.ContributesTo import com.squareup.anvil.annotations.MergeSubcomponent import dagger.BindsInstance -import dagger.Subcomponent import io.element.android.libraries.architecture.NodeFactoriesBindings import io.element.android.libraries.di.RoomScope import io.element.android.libraries.di.SessionScope @@ -20,7 +19,7 @@ import io.element.android.libraries.matrix.api.room.MatrixRoom @SingleIn(RoomScope::class) @MergeSubcomponent(RoomScope::class) interface RoomComponent : NodeFactoriesBindings { - @Subcomponent.Builder + @MergeSubcomponent.Builder interface Builder { @BindsInstance fun room(room: MatrixRoom): Builder diff --git a/app/src/main/kotlin/io/element/android/x/di/SessionComponent.kt b/app/src/main/kotlin/io/element/android/x/di/SessionComponent.kt index df5dd9e454..2ff56211e3 100644 --- a/app/src/main/kotlin/io/element/android/x/di/SessionComponent.kt +++ b/app/src/main/kotlin/io/element/android/x/di/SessionComponent.kt @@ -10,7 +10,6 @@ package io.element.android.x.di import com.squareup.anvil.annotations.ContributesTo import com.squareup.anvil.annotations.MergeSubcomponent import dagger.BindsInstance -import dagger.Subcomponent import io.element.android.libraries.architecture.NodeFactoriesBindings import io.element.android.libraries.di.AppScope import io.element.android.libraries.di.SessionScope @@ -20,7 +19,7 @@ import io.element.android.libraries.matrix.api.MatrixClient @SingleIn(SessionScope::class) @MergeSubcomponent(SessionScope::class) interface SessionComponent : NodeFactoriesBindings { - @Subcomponent.Builder + @MergeSubcomponent.Builder interface Builder { @BindsInstance fun client(matrixClient: MatrixClient): Builder diff --git a/appnav/build.gradle.kts b/appnav/build.gradle.kts index 6c35f8e3b9..890d06294a 100644 --- a/appnav/build.gradle.kts +++ b/appnav/build.gradle.kts @@ -22,7 +22,7 @@ android { setupAnvil() dependencies { - allFeaturesApi(rootDir, logger) + allFeaturesApi(project) implementation(projects.libraries.core) implementation(projects.libraries.androidutils) diff --git a/build.gradle.kts b/build.gradle.kts index d8cf2d8fd5..9c90da30ce 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -71,8 +71,9 @@ allprojects { // To have XML report for Danger reporter(org.jlleitschuh.gradle.ktlint.reporter.ReporterType.CHECKSTYLE) } + val generatedPath = "${layout.buildDirectory.asFile.get()}/generated/" filter { - exclude { element -> element.file.path.contains("${layout.buildDirectory.asFile.get()}/generated/") } + exclude { element -> element.file.path.contains(generatedPath) } } } // Dependency check diff --git a/enterprise b/enterprise index ceb65e32d9..b4f0427e35 160000 --- a/enterprise +++ b/enterprise @@ -1 +1 @@ -Subproject commit ceb65e32d95052c028a37654a4a0410639f69053 +Subproject commit b4f0427e3595049d39846aabcdc06e818f2e96ea diff --git a/features/createroom/impl/build.gradle.kts b/features/createroom/impl/build.gradle.kts index 5c216894eb..bcd3799c92 100644 --- a/features/createroom/impl/build.gradle.kts +++ b/features/createroom/impl/build.gradle.kts @@ -1,3 +1,4 @@ +import extension.ComponentMergingStrategy import extension.setupAnvil /* @@ -22,7 +23,7 @@ android { } } -setupAnvil() +setupAnvil(componentMergingStrategy = ComponentMergingStrategy.KSP) dependencies { implementation(projects.libraries.core) diff --git a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/di/CreateRoomComponent.kt b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/di/CreateRoomComponent.kt index d35a77cdb5..be923154ab 100644 --- a/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/di/CreateRoomComponent.kt +++ b/features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/di/CreateRoomComponent.kt @@ -9,7 +9,6 @@ package io.element.android.features.createroom.impl.di import com.squareup.anvil.annotations.ContributesTo import com.squareup.anvil.annotations.MergeSubcomponent -import dagger.Subcomponent import io.element.android.libraries.architecture.NodeFactoriesBindings import io.element.android.libraries.di.SessionScope import io.element.android.libraries.di.SingleIn @@ -17,7 +16,7 @@ import io.element.android.libraries.di.SingleIn @SingleIn(CreateRoomScope::class) @MergeSubcomponent(CreateRoomScope::class) interface CreateRoomComponent : NodeFactoriesBindings { - @Subcomponent.Builder + @MergeSubcomponent.Builder interface Builder { fun build(): CreateRoomComponent } diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockStateProvider.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockStateProvider.kt index 5d98741514..fa6bca0ea8 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockStateProvider.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockStateProvider.kt @@ -7,8 +7,10 @@ package io.element.android.features.lockscreen.impl.unlock +import androidx.biometric.BiometricPrompt import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.lockscreen.impl.biometric.BiometricUnlock +import io.element.android.features.lockscreen.impl.biometric.BiometricUnlockError import io.element.android.features.lockscreen.impl.pin.model.PinEntry import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncData @@ -23,6 +25,9 @@ open class PinUnlockStateProvider : PreviewParameterProvider { aPinUnlockState(showBiometricUnlock = false), aPinUnlockState(showSignOutPrompt = true, remainingAttempts = 0), aPinUnlockState(signOutAction = AsyncAction.Loading), + aPinUnlockState(biometricUnlockResult = BiometricUnlock.AuthenticationResult.Failure( + BiometricUnlockError(BiometricPrompt.ERROR_LOCKOUT, "Biometric auth disabled") + )), ) } diff --git a/features/login/impl/build.gradle.kts b/features/login/impl/build.gradle.kts index 04901f4fea..8ea1ad99c5 100644 --- a/features/login/impl/build.gradle.kts +++ b/features/login/impl/build.gradle.kts @@ -1,3 +1,4 @@ +import extension.ComponentMergingStrategy import extension.setupAnvil /* @@ -23,7 +24,7 @@ android { } } -setupAnvil() +setupAnvil(componentMergingStrategy = ComponentMergingStrategy.KSP) dependencies { implementation(projects.appconfig) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/QrCodeLoginComponent.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/QrCodeLoginComponent.kt index 1c27fbff22..5333e18a43 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/QrCodeLoginComponent.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/QrCodeLoginComponent.kt @@ -9,7 +9,6 @@ package io.element.android.features.login.impl.di import com.squareup.anvil.annotations.ContributesTo import com.squareup.anvil.annotations.MergeSubcomponent -import dagger.Subcomponent import io.element.android.libraries.architecture.NodeFactoriesBindings import io.element.android.libraries.di.AppScope import io.element.android.libraries.di.SingleIn @@ -17,7 +16,7 @@ import io.element.android.libraries.di.SingleIn @SingleIn(QrCodeLoginScope::class) @MergeSubcomponent(QrCodeLoginScope::class) interface QrCodeLoginComponent : NodeFactoriesBindings { - @Subcomponent.Builder + @MergeSubcomponent.Builder interface Builder { fun build(): QrCodeLoginComponent } diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/di/FakeQrCodeLoginComponent.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/di/FakeMergedQrCodeLoginComponent.kt similarity index 88% rename from features/login/impl/src/test/kotlin/io/element/android/features/login/impl/di/FakeQrCodeLoginComponent.kt rename to features/login/impl/src/test/kotlin/io/element/android/features/login/impl/di/FakeMergedQrCodeLoginComponent.kt index f602400062..6aee8822d4 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/di/FakeQrCodeLoginComponent.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/di/FakeMergedQrCodeLoginComponent.kt @@ -16,15 +16,15 @@ import io.element.android.features.login.impl.qrcode.QrCodeLoginManager import io.element.android.libraries.architecture.AssistedNodeFactory import io.element.android.libraries.architecture.createNode -internal class FakeQrCodeLoginComponent(private val qrCodeLoginManager: QrCodeLoginManager) : - QrCodeLoginComponent { +internal class FakeMergedQrCodeLoginComponent(private val qrCodeLoginManager: QrCodeLoginManager) : + MergedQrCodeLoginComponent { // Ignore this error, it does override a method once code generation is done override fun qrCodeLoginManager(): QrCodeLoginManager = qrCodeLoginManager class Builder(private val qrCodeLoginManager: QrCodeLoginManager = FakeQrCodeLoginManager()) : QrCodeLoginComponent.Builder { override fun build(): QrCodeLoginComponent { - return FakeQrCodeLoginComponent(qrCodeLoginManager) + return FakeMergedQrCodeLoginComponent(qrCodeLoginManager) } } diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/qrcode/QrCodeLoginFlowNodeTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/qrcode/QrCodeLoginFlowNodeTest.kt index aa0f371fa2..78e406e811 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/qrcode/QrCodeLoginFlowNodeTest.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/qrcode/QrCodeLoginFlowNodeTest.kt @@ -13,7 +13,7 @@ import com.bumble.appyx.core.modality.BuildContext import com.bumble.appyx.utils.customisations.NodeCustomisationDirectoryImpl import com.google.common.truth.Truth.assertThat import io.element.android.features.login.impl.DefaultLoginUserStory -import io.element.android.features.login.impl.di.FakeQrCodeLoginComponent +import io.element.android.features.login.impl.di.FakeMergedQrCodeLoginComponent import io.element.android.features.login.impl.screens.qrcode.confirmation.QrCodeConfirmationStep import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.matrix.api.auth.qrlogin.QrCodeLoginStep @@ -200,7 +200,7 @@ class QrCodeLoginFlowNodeTest { return QrCodeLoginFlowNode( buildContext = buildContext, plugins = emptyList(), - qrCodeLoginComponentBuilder = FakeQrCodeLoginComponent.Builder(qrCodeLoginManager), + qrCodeLoginComponentBuilder = FakeMergedQrCodeLoginComponent.Builder(qrCodeLoginManager), defaultLoginUserStory = defaultLoginUserStory, coroutineDispatchers = coroutineDispatchers, ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/session/SessionState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/session/SessionState.kt deleted file mode 100644 index 4ccd47747b..0000000000 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/session/SessionState.kt +++ /dev/null @@ -1,13 +0,0 @@ -/* - * Copyright 2023, 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.messages.impl.timeline.session - -data class SessionState( - val isSessionVerified: Boolean, - val isKeyBackupEnabled: Boolean, -) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListViewTest.kt index a7c8e1c5aa..529a280994 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListViewTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListViewTest.kt @@ -28,6 +28,7 @@ import io.element.android.tests.testutils.EventsRecorder import io.element.android.tests.testutils.ensureCalledOnce import io.element.android.tests.testutils.ensureCalledOnceWithParam import io.element.android.tests.testutils.pressBack +import io.element.android.tests.testutils.setSafeContent import org.junit.Rule import org.junit.Test import org.junit.rules.TestRule @@ -100,7 +101,7 @@ private fun AndroidComposeTestRule.setPinne onUserDataClick: (UserId) -> Unit = EnsureNeverCalledWithParam(), onLinkClick: (String) -> Unit = EnsureNeverCalledWithParam(), ) { - setContent { + setSafeContent { PinnedMessagesListView( state = state, onBackClick = onBackClick, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt index 4292e6f226..4dc61b7b80 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt @@ -29,6 +29,7 @@ import io.element.android.tests.testutils.EnsureNeverCalledWithParam import io.element.android.tests.testutils.EnsureNeverCalledWithTwoParams import io.element.android.tests.testutils.EventsRecorder import io.element.android.tests.testutils.clickOn +import io.element.android.tests.testutils.setSafeContent import kotlinx.collections.immutable.persistentListOf import org.junit.Rule import org.junit.Test @@ -151,7 +152,7 @@ private fun AndroidComposeTestRule.setTimel onJoinCallClick: () -> Unit = EnsureNeverCalled(), forceJumpToBottomVisibility: Boolean = false, ) { - setContent { + setSafeContent { TimelineView( state = state, typingNotificationState = typingNotificationState, diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/InvitesStateProvider.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/InvitesStateProvider.kt deleted file mode 100644 index e0e612b2f2..0000000000 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/InvitesStateProvider.kt +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2023, 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.roomlist.impl - -import androidx.compose.ui.tooling.preview.PreviewParameterProvider - -open class InvitesStateProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - InvitesState.SeenInvites, - InvitesState.NewInvites, - ) -} diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt index ae9a721bfa..642c7d879b 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt @@ -51,12 +51,6 @@ data class RoomListState( } } -enum class InvitesState { - NoInvites, - SeenInvites, - NewInvites, -} - enum class SecurityBannerState { None, SetUpRecovery, diff --git a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/reset/ResetIdentityFlowManagerTest.kt b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/reset/ResetIdentityFlowManagerTest.kt index 7e54c385e3..3d8f54d7db 100644 --- a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/reset/ResetIdentityFlowManagerTest.kt +++ b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/reset/ResetIdentityFlowManagerTest.kt @@ -47,6 +47,7 @@ class ResetIdentityFlowManagerTest { var result: AsyncData.Success? = null flowManager.getResetHandle().test { assertThat(awaitItem().isLoading()).isTrue() + @Suppress("UNCHECKED_CAST") result = awaitItem() as? AsyncData.Success assertThat(result).isNotNull() } diff --git a/gradle.properties b/gradle.properties index e787539483..4240f02912 100644 --- a/gradle.properties +++ b/gradle.properties @@ -25,12 +25,13 @@ kotlin.code.style=official # thereby reducing the size of the R class for that library android.nonTransitiveRClass=true -org.gradle.caching=true org.gradle.configureondemand=true org.gradle.parallel=true -# Check here for the reasons https://github.com/square/anvil/issues/693 -# useClasspathSnapshot=false is not enough in most cases. -kotlin.incremental=false + +# Caching +org.gradle.caching=true +org.gradle.configuration-cache=true +kotlin.incremental=true # Dummy values for signing secrets / nightly signing.element.nightly.storePassword=Secret @@ -46,3 +47,9 @@ android.experimental.enableTestFixtures=true # Create BuildConfig files as bytecode to avoid Java compilation phase android.enableBuildConfigAsBytecode=true + +# Add the KSP code generation annotations to the list of contributing annotations for Anvil +com.squareup.anvil.kspContributingAnnotations=io.element.android.anvilannotations.ContributesNode + +# Only apply KSP to main sources +ksp.allow.all.target.configuration=false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 129b8aa46f..a01b4cd79b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,6 +5,7 @@ # Project android_gradle_plugin = "8.6.1" kotlin = "1.9.25" +kotlinpoetKsp = "1.17.0" ksp = "1.9.25-1.0.20" firebaseAppDistribution = "5.0.0" @@ -49,7 +50,7 @@ telephoto = "0.13.0" # DI dagger = "2.52" -anvil = "2.4.9" +anvil = "0.3.1" # Auto service autoservice = "1.1.1" @@ -63,14 +64,17 @@ kover = "0.8.3" android_gradle_plugin = { module = "com.android.tools.build:gradle", version.ref = "android_gradle_plugin" } # https://developer.android.com/studio/write/java8-support#library-desugaring-versions android_desugar = "com.android.tools:desugar_jdk_libs:2.1.2" -anvil_gradle_plugin = { module = "com.squareup.anvil:gradle-plugin", version.ref = "anvil" } +anvil_gradle_plugin = { module = "dev.zacsweers.anvil:gradle-plugin", version.ref = "anvil" } kotlin_gradle_plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } +kotlinpoet-ksp = { module = "com.squareup:kotlinpoet-ksp", version.ref = "kotlinpoetKsp" } kover_gradle_plugin = { module = "org.jetbrains.kotlinx:kover-gradle-plugin", version.ref = "kover" } +ksp_gradle_plugin = { module = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" } gms_google_services = "com.google.gms:google-services:4.4.2" # https://firebase.google.com/docs/android/setup#available-libraries google_firebase_bom = "com.google.firebase:firebase-bom:33.4.0" firebase_appdistribution_gradle = { module = "com.google.firebase:firebase-appdistribution-gradle", version.ref = "firebaseAppDistribution" } autonomousapps_dependencyanalysis_plugin = { module = "com.autonomousapps:dependency-analysis-gradle-plugin", version.ref = "dependencyAnalysis" } +ksp_plugin = { module = "com.google.devtools.ksp:symbol-processing-api", version.ref = "ksp" } # AndroidX androidx_core = { module = "androidx.core:core", version.ref = "core" } @@ -198,8 +202,8 @@ sigpwned_emoji4j = "com.sigpwned:emoji4j-core:15.1.2" inject = "javax.inject:javax.inject:1" dagger = { module = "com.google.dagger:dagger", version.ref = "dagger" } dagger_compiler = { module = "com.google.dagger:dagger-compiler", version.ref = "dagger" } -anvil_compiler_api = { module = "com.squareup.anvil:compiler-api", version.ref = "anvil" } -anvil_compiler_utils = { module = "com.squareup.anvil:compiler-utils", version.ref = "anvil" } +anvil_compiler_api = { module = "dev.zacsweers.anvil:compiler-api", version.ref = "anvil" } +anvil_compiler_utils = { module = "dev.zacsweers.anvil:compiler-utils", version.ref = "anvil" } # Auto services google_autoservice = { module = "com.google.auto.service:auto-service", version.ref = "autoservice" } @@ -222,7 +226,7 @@ kotlin_jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin_serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } -anvil = { id = "com.squareup.anvil", version.ref = "anvil" } +anvil = { id = "dev.zacsweers.anvil", version.ref = "anvil" } detekt = "io.gitlab.arturbosch.detekt:1.23.7" ktlint = "org.jlleitschuh.gradle.ktlint:12.1.1" dependencygraph = "com.savvasdalkitsis.module-dependency-graph:0.12" diff --git a/libraries/designsystem/src/test/kotlin/io/element/android/libraries/designsystem/component/async/AsyncIndicatorTest.kt b/libraries/designsystem/src/test/kotlin/io/element/android/libraries/designsystem/component/async/AsyncIndicatorTest.kt index c7aa400ae1..63826aa4e2 100644 --- a/libraries/designsystem/src/test/kotlin/io/element/android/libraries/designsystem/component/async/AsyncIndicatorTest.kt +++ b/libraries/designsystem/src/test/kotlin/io/element/android/libraries/designsystem/component/async/AsyncIndicatorTest.kt @@ -8,7 +8,7 @@ package io.element.android.libraries.designsystem.component.async import androidx.compose.animation.core.Transition -import androidx.compose.animation.core.updateTransition +import androidx.compose.animation.core.rememberTransition import androidx.compose.runtime.Composable import androidx.compose.runtime.SideEffect import androidx.compose.runtime.rememberCoroutineScope @@ -237,7 +237,7 @@ class AsyncIndicatorTest { val coroutineScope = rememberCoroutineScope() val transition = state.currentItem.value?.let { // If there is an item, update its transition state to simulate an animation - updateTransition(state.currentAnimationState, label = "") + rememberTransition(state.currentAnimationState, label = "") } if (state.currentAnimationState.hasEntered() && state.currentItem.value?.durationMs != null) { SideEffect { diff --git a/libraries/mediapickers/impl/build.gradle.kts b/libraries/mediapickers/impl/build.gradle.kts index c5b4a2eca9..de1c018ad4 100644 --- a/libraries/mediapickers/impl/build.gradle.kts +++ b/libraries/mediapickers/impl/build.gradle.kts @@ -1,3 +1,5 @@ +import extension.setupAnvil + /* * Copyright 2023, 2024 New Vector Ltd. * @@ -7,16 +9,17 @@ plugins { id("io.element.android-compose-library") - alias(libs.plugins.anvil) } +setupAnvil() + android { namespace = "io.element.android.libraries.mediapickers.impl" +} - dependencies { - implementation(projects.libraries.core) - implementation(projects.libraries.di) - implementation(libs.inject) - api(projects.libraries.mediapickers.api) - } +dependencies { + implementation(projects.libraries.core) + implementation(projects.libraries.di) + implementation(libs.inject) + api(projects.libraries.mediapickers.api) } diff --git a/libraries/session-storage/impl/build.gradle.kts b/libraries/session-storage/impl/build.gradle.kts index 3170b3dcaa..76d2fae177 100644 --- a/libraries/session-storage/impl/build.gradle.kts +++ b/libraries/session-storage/impl/build.gradle.kts @@ -1,4 +1,6 @@ import extension.setupAnvil +import org.gradle.internal.extensions.stdlib.capitalized +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile /* * Copyright 2023, 2024 New Vector Ltd. @@ -51,3 +53,15 @@ sqldelight { } } } + +// Workaround for KSP not picking up the generated files from SqlDelight +androidComponents { + onVariants(selector().all()) { variant -> + afterEvaluate { + val variantName = variant.name.capitalized() + tasks.getByName("ksp${variantName}Kotlin") { + setSource(tasks.getByName("generate${variantName}SessionDatabaseInterface").outputs) + } + } + } +} diff --git a/plugins/build.gradle.kts b/plugins/build.gradle.kts index edfd1428da..33d7bb0bd6 100644 --- a/plugins/build.gradle.kts +++ b/plugins/build.gradle.kts @@ -23,4 +23,5 @@ dependencies { implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location)) implementation(libs.autonomousapps.dependencyanalysis.plugin) implementation(libs.anvil.gradle.plugin) + implementation(libs.ksp.gradle.plugin) } diff --git a/plugins/src/main/kotlin/extension/AnvilExtensions.kt b/plugins/src/main/kotlin/extension/AnvilExtensions.kt index 33f058d25e..c861ce0962 100644 --- a/plugins/src/main/kotlin/extension/AnvilExtensions.kt +++ b/plugins/src/main/kotlin/extension/AnvilExtensions.kt @@ -16,22 +16,40 @@ import org.gradle.plugin.use.PluginDependency /** * Setup Anvil plugin with the given configuration. - * @param generateDaggerCode whether to enable general Dagger code generation using Kapt - * @param generateDaggerFactoriesUsingAnvil whether to generate Dagger factories using Anvil instead of Kapt + * @param generateDaggerCode whether to enable general Dagger code generation using Kapt. `false` by default. + * @param generateDaggerFactoriesUsingAnvil whether to generate Dagger factories using Anvil instead of Kapt. `true` by default. + * @param componentMergingStrategy how to perform component merging. This is `ComponentMergingStrategy.NONE` by default, which will prevent component merging + * from running. */ fun Project.setupAnvil( generateDaggerCode: Boolean = false, generateDaggerFactoriesUsingAnvil: Boolean = true, + componentMergingStrategy: ComponentMergingStrategy = ComponentMergingStrategy.NONE, ) { val libs = the() - // Apply plugins and dependencies + + // Add dagger dependency, needed for generated code + dependencies.implementation(libs.dagger) + + // Apply Anvil plugin and configure it applyPluginIfNeeded(libs.plugins.anvil) + project.pluginManager.withPlugin(libs.plugins.anvil.get().pluginId) { + // Setup extension + extensions.configure(AnvilExtension::class.java) { + this.generateDaggerFactories.set(generateDaggerFactoriesUsingAnvil) + this.disableComponentMerging.set(componentMergingStrategy == ComponentMergingStrategy.NONE) + + useKsp( + contributesAndFactoryGeneration = true, + componentMerging = componentMergingStrategy == ComponentMergingStrategy.KSP, + ) + } + } + if (generateDaggerCode) { - applyPluginIfNeeded(libs.plugins.kapt) - // Needed at the top level since dagger code should be generated at a single point for performance - dependencies.implementation(libs.dagger) - dependencies.add("kapt", libs.dagger.compiler) + // Needed at the top level since dagger code should be generated at a single point for performance reasons + dependencies.add("ksp", libs.dagger.compiler) } // These dependencies are only needed for compose library or application modules @@ -40,14 +58,7 @@ fun Project.setupAnvil( // Annotations to generate DI code for Appyx nodes dependencies.implementation(project.project(":anvilannotations")) // Code generator for the annotations above - dependencies.add("anvil", project.project(":anvilcodegen")) - } - - project.pluginManager.withPlugin(libs.plugins.anvil.get().pluginId) { - // Setup extension - extensions.configure(AnvilExtension::class.java) { - this.generateDaggerFactories.set(generateDaggerFactoriesUsingAnvil) - } + dependencies.add("ksp", project.project(":anvilcodegen")) } } @@ -57,3 +68,9 @@ private fun Project.applyPluginIfNeeded(plugin: Provider) { pluginManager.apply(pluginId) } } + +enum class ComponentMergingStrategy { + NONE, + KAPT, + KSP +} diff --git a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt index 554095323a..f54cdb81ca 100644 --- a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt +++ b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt @@ -7,17 +7,16 @@ package extension -import config.AnalyticsConfig import ModulesConfig +import config.AnalyticsConfig import org.gradle.accessors.dm.LibrariesForLibs import org.gradle.api.Action +import org.gradle.api.Project import org.gradle.api.artifacts.ExternalModuleDependency import org.gradle.api.artifacts.dsl.DependencyHandler -import org.gradle.api.logging.Logger import org.gradle.kotlin.dsl.DependencyHandlerScope import org.gradle.kotlin.dsl.closureOf import org.gradle.kotlin.dsl.project -import java.io.File private fun DependencyHandlerScope.implementation(dependency: Any) = dependencies.add("implementation", dependency) internal fun DependencyHandler.implementation(dependency: Any) = add("implementation", dependency) @@ -26,7 +25,7 @@ internal fun DependencyHandler.implementation(dependency: Any) = add("implementa private fun DependencyHandlerScope.implementation( dependency: Any, config: Action -) = dependencies.add("implementation", dependency, closureOf { config.execute(this) }) +) = dependencies.add("implementation", dependency, closureOf { config.execute(this) }) private fun DependencyHandlerScope.androidTestImplementation(dependency: Any) = dependencies.add("androidTestImplementation", dependency) @@ -58,26 +57,6 @@ fun DependencyHandlerScope.composeDependencies(libs: LibrariesForLibs) { implementation(libs.kotlinx.collections.immutable) } -private fun DependencyHandlerScope.addImplementationProjects( - directory: File, - path: String, - nameFilter: String, - logger: Logger, -) { - directory.listFiles().orEmpty().also { it.sort() }.forEach { file -> - if (file.isDirectory) { - val newPath = "$path:${file.name}" - val buildFile = File(file, "build.gradle.kts") - if (buildFile.exists() && file.name == nameFilter) { - implementation(project(newPath)) - logger.lifecycle("Added implementation(project($newPath))") - } else { - addImplementationProjects(file, newPath, nameFilter, logger) - } - } - } -} - fun DependencyHandlerScope.allLibrariesImpl() { implementation(project(":libraries:androidutils")) implementation(project(":libraries:deeplink")) @@ -128,22 +107,21 @@ fun DependencyHandlerScope.allServicesImpl() { } } } + implementation(project(":services:apperror:impl")) implementation(project(":services:appnavstate:impl")) implementation(project(":services:toolbox:impl")) } -fun DependencyHandlerScope.allEnterpriseImpl(rootDir: File, logger: Logger) { - val enterpriseDir = File(rootDir, "enterprise") - addImplementationProjects(enterpriseDir, ":enterprise", "impl", logger) -} +fun DependencyHandlerScope.allEnterpriseImpl(project: Project) = addAll(project, "enterprise", "impl") -fun DependencyHandlerScope.allFeaturesApi(rootDir: File, logger: Logger) { - val featuresDir = File(rootDir, "features") - addImplementationProjects(featuresDir, ":features", "api", logger) -} +fun DependencyHandlerScope.allFeaturesImpl(project: Project) = addAll(project, "features", "impl") + +fun DependencyHandlerScope.allFeaturesApi(project: Project) = addAll(project, "features", "api") -fun DependencyHandlerScope.allFeaturesImpl(rootDir: File, logger: Logger) { - val featuresDir = File(rootDir, "features") - addImplementationProjects(featuresDir, ":features", "impl", logger) +private fun DependencyHandlerScope.addAll(project: Project, prefix: String, suffix: String) { + val subProjects = project.rootProject.subprojects.filter { it.path.startsWith(":$prefix") && it.path.endsWith(":$suffix") } + for (p in subProjects) { + add("implementation", p) + } } diff --git a/plugins/src/main/kotlin/extension/KoverExtension.kt b/plugins/src/main/kotlin/extension/KoverExtension.kt index ba84fe37c2..38a43c33dd 100644 --- a/plugins/src/main/kotlin/extension/KoverExtension.kt +++ b/plugins/src/main/kotlin/extension/KoverExtension.kt @@ -14,7 +14,6 @@ import kotlinx.kover.gradle.plugin.dsl.KoverProjectExtension import kotlinx.kover.gradle.plugin.dsl.KoverVariantCreateConfig import org.gradle.api.Action import org.gradle.api.Project -import org.gradle.configurationcache.extensions.capitalized import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.assign @@ -142,24 +141,18 @@ fun Project.setupKover() { } } filters { - includes { - classes( - "*Presenter", - ) - } - excludes { - classes( - "*Fake*Presenter*", - "io.element.android.appnav.loggedin.LoggedInPresenter$*", - // Some options can't be tested at the moment - "io.element.android.features.preferences.impl.developer.DeveloperSettingsPresenter$*", - // Need an Activity to use rememberMultiplePermissionsState - "io.element.android.features.location.impl.common.permissions.DefaultPermissionsPresenter", - "*Presenter\$present\$*", - // Too small to be > 85% tested - "io.element.android.libraries.fullscreenintent.impl.DefaultFullScreenIntentPermissionsPresenter", - ) - } + excludes.classes( + "*Fake*Presenter*", + "io.element.android.appnav.loggedin.LoggedInPresenter$*", + // Some options can't be tested at the moment + "io.element.android.features.preferences.impl.developer.DeveloperSettingsPresenter$*", + // Need an Activity to use rememberMultiplePermissionsState + "io.element.android.features.location.impl.common.permissions.DefaultPermissionsPresenter", + "*Presenter\$present\$*", + // Too small to be > 85% tested + "io.element.android.libraries.fullscreenintent.impl.DefaultFullScreenIntentPermissionsPresenter", + ) + includes.inheritedFrom("io.element.android.libraries.architecture.Presenter") } } variant(KoverVariant.States.variantName) { @@ -175,33 +168,31 @@ fun Project.setupKover() { } } filters { - includes { - classes( - "^*State$", - ) - } - excludes { - classes( - "io.element.android.appnav.root.RootNavState*", - "io.element.android.libraries.matrix.api.timeline.item.event.OtherState$*", - "io.element.android.libraries.matrix.api.timeline.item.event.EventSendState$*", - "io.element.android.libraries.matrix.api.room.RoomMembershipState*", - "io.element.android.libraries.matrix.api.room.MatrixRoomMembersState*", - "io.element.android.libraries.push.impl.notifications.NotificationState*", - "io.element.android.features.messages.impl.media.local.pdf.PdfViewerState", - "io.element.android.features.messages.impl.media.local.LocalMediaViewState", - "io.element.android.features.location.impl.map.MapState*", - "io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState*", - "io.element.android.libraries.designsystem.swipe.SwipeableActionsState*", - "io.element.android.features.messages.impl.timeline.components.ExpandableState*", - "io.element.android.features.messages.impl.timeline.model.bubble.BubbleState*", - "io.element.android.libraries.maplibre.compose.CameraPositionState*", - "io.element.android.libraries.maplibre.compose.SaveableCameraPositionState", - "io.element.android.libraries.maplibre.compose.SymbolState*", - "io.element.android.features.ftue.api.state.*", - "io.element.android.features.ftue.impl.welcome.state.*", - ) - } + excludes.classes( + "*State$*", // Exclude inner classes + "io.element.android.appnav.root.RootNavState*", + "io.element.android.libraries.matrix.api.timeline.item.event.OtherState$*", + "io.element.android.libraries.matrix.api.timeline.item.event.EventSendState$*", + "io.element.android.libraries.matrix.api.room.RoomMembershipState*", + "io.element.android.libraries.matrix.api.room.MatrixRoomMembersState*", + "io.element.android.libraries.push.impl.notifications.NotificationState*", + "io.element.android.features.messages.impl.media.local.pdf.PdfViewerState", + "io.element.android.features.messages.impl.media.local.LocalMediaViewState", + "io.element.android.features.location.impl.map.MapState*", + "io.element.android.libraries.matrix.api.timeline.item.event.LocalEventSendState*", + "io.element.android.libraries.designsystem.swipe.SwipeableActionsState*", + "io.element.android.features.messages.impl.timeline.components.ExpandableState*", + "io.element.android.features.messages.impl.timeline.model.bubble.BubbleState*", + "io.element.android.libraries.maplibre.compose.CameraPositionState*", + "io.element.android.libraries.maplibre.compose.SaveableCameraPositionState", + "io.element.android.libraries.maplibre.compose.SymbolState*", + "io.element.android.features.ftue.api.state.*", + "io.element.android.features.ftue.impl.welcome.state.*", + "io.element.android.libraries.designsystem.theme.components.bottomsheet.CustomSheetState", + "io.element.android.libraries.mediaviewer.api.local.pdf.PdfViewerState", + "io.element.android.libraries.textcomposer.model.TextEditorState", + ) + includes.classes("*State") } } variant(KoverVariant.Views.variantName) { @@ -218,11 +209,8 @@ fun Project.setupKover() { } } filters { - includes { - classes( - "*ViewKt", - ) - } + excludes.classes("*ViewKt$*") // Exclude inner classes + includes.classes("*ViewKt") } } } @@ -236,16 +224,31 @@ fun Project.applyKoverPluginToAllSubProjects() = rootProject.subprojects { currentProject { for (variant in koverVariants) { createVariant(variant) { - defaultVariants() + defaultVariants(project) } } } } + + project.afterEvaluate { + for (variant in koverVariants) { + // Using the cache for coverage verification seems to be flaky, so we disable it for now. + val taskName = "koverCachedVerify${variant.replaceFirstChar(Char::titlecase)}" + val cachedTask = project.tasks.findByName(taskName) + cachedTask?.let { + it.outputs.upToDateWhen { false } + } + } + } } } -fun KoverVariantCreateConfig.defaultVariants() { - addWithDependencies("gplayDebug", "debug", optional = true) +fun KoverVariantCreateConfig.defaultVariants(project: Project) { + if (project.name == "app") { + addWithDependencies("gplayDebug") + } else { + addWithDependencies("debug", "jvm", optional = true) + } } fun Project.koverSubprojects() = project.rootProject.subprojects diff --git a/services/analytics/impl/src/main/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsService.kt b/services/analytics/impl/src/main/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsService.kt index 173b07410b..f211c5ecb8 100644 --- a/services/analytics/impl/src/main/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsService.kt +++ b/services/analytics/impl/src/main/kotlin/io/element/android/services/analytics/impl/DefaultAnalyticsService.kt @@ -29,7 +29,7 @@ import java.util.concurrent.atomic.AtomicBoolean import javax.inject.Inject @SingleIn(AppScope::class) -@ContributesBinding(AppScope::class, boundType = AnalyticsService::class, priority = ContributesBinding.Priority.HIGHEST) +@ContributesBinding(AppScope::class, boundType = AnalyticsService::class, rank = ContributesBinding.RANK_HIGHEST) class DefaultAnalyticsService @Inject constructor( private val analyticsProviders: Set<@JvmSuppressWildcards AnalyticsProvider>, private val analyticsStore: AnalyticsStore, diff --git a/tests/konsist/build.gradle.kts b/tests/konsist/build.gradle.kts index 41ae7b64ad..230ce37b92 100644 --- a/tests/konsist/build.gradle.kts +++ b/tests/konsist/build.gradle.kts @@ -28,7 +28,6 @@ dependencies { // - Add every single module as a dependency of this one. // - Move the Konsist tests to the `app` module, but the `app` module does not need to know about Konsist. tasks.withType().configureEach { - outputs.upToDateWhen { - gradle.startParameter.taskNames.any { it.contains("check", ignoreCase = true).not() } - } + val isNotCheckTask = gradle.startParameter.taskNames.any { it.contains("check", ignoreCase = true).not() } + outputs.upToDateWhen { isNotCheckTask } } diff --git a/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/RobolectricDispatcherCleaner.kt b/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/RobolectricDispatcherCleaner.kt new file mode 100644 index 0000000000..9d32536391 --- /dev/null +++ b/tests/testutils/src/main/kotlin/io/element/android/tests/testutils/RobolectricDispatcherCleaner.kt @@ -0,0 +1,55 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.tests.testutils + +import androidx.activity.ComponentActivity +import androidx.compose.runtime.Composable +import androidx.compose.ui.test.junit4.AndroidComposeTestRule +import org.junit.Assert.assertFalse +import org.junit.rules.TestRule +import kotlin.coroutines.CoroutineContext + +object RobolectricDispatcherCleaner { + // HACK: Workaround for https://github.com/robolectric/robolectric/issues/7055#issuecomment-1551119229 + fun clearAndroidUiDispatcher(pkg: String = "androidx.compose.ui.platform") { + val clazz = javaClass.classLoader!!.loadClass("$pkg.AndroidUiDispatcher") + val combinedContextClass = javaClass.classLoader!!.loadClass("kotlin.coroutines.CombinedContext") + val companionClazz = clazz.getDeclaredField("Companion").get(clazz) + val combinedContext = companionClazz.javaClass.getDeclaredMethod("getMain") + .invoke(companionClazz) as CoroutineContext + val androidUiDispatcher = combinedContextClass.getDeclaredField("element") + .apply { isAccessible = true } + .get(combinedContext) + .let { clazz.cast(it) } + var scheduledFrameDispatch = clazz.getDeclaredField("scheduledFrameDispatch") + .apply { isAccessible = true } + .getBoolean(androidUiDispatcher) + var scheduledTrampolineDispatch = clazz.getDeclaredField("scheduledTrampolineDispatch") + .apply { isAccessible = true } + .getBoolean(androidUiDispatcher) + val dispatchCallback = clazz.getDeclaredField("dispatchCallback") + .apply { isAccessible = true } + .get(androidUiDispatcher) as Runnable + if (scheduledFrameDispatch || scheduledTrampolineDispatch) { + dispatchCallback.run() + scheduledFrameDispatch = clazz.getDeclaredField("scheduledFrameDispatch") + .apply { isAccessible = true } + .getBoolean(androidUiDispatcher) + scheduledTrampolineDispatch = clazz.getDeclaredField("scheduledTrampolineDispatch") + .apply { isAccessible = true } + .getBoolean(androidUiDispatcher) + } + assertFalse(scheduledFrameDispatch) + assertFalse(scheduledTrampolineDispatch) + } +} + +fun AndroidComposeTestRule.setSafeContent(content: @Composable () -> Unit) { + RobolectricDispatcherCleaner.clearAndroidUiDispatcher() + setContent(content) +} diff --git a/tests/uitests/build.gradle.kts b/tests/uitests/build.gradle.kts index 96573e2dd6..8da1f47a38 100644 --- a/tests/uitests/build.gradle.kts +++ b/tests/uitests/build.gradle.kts @@ -52,7 +52,7 @@ dependencies { implementation(projects.appnav) allLibrariesImpl() allServicesImpl() - allFeaturesImpl(rootDir, logger) + allFeaturesImpl(project) implementation(projects.appicon.element) implementation(projects.appicon.enterprise) diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_en.png new file mode 100644 index 0000000000..634b69b361 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a12b9a2dfafb1f8cdb329a41c422ebe913b6a8da2f48a217955f43b9f46ac4d +size 23505 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_7_en.png new file mode 100644 index 0000000000..974d33e340 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_7_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:053b62a43c2ebec26c9d32f9cd002e01f90665be7530d281aad302377585dfae +size 21420 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_7_en.png new file mode 100644 index 0000000000..44c9d9f748 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Day_7_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:306561dca24390baca77657839f96b63f93114e5bce523764903cf9030185320 +size 30358 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_7_en.png new file mode 100644 index 0000000000..565925137a --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockView_Night_7_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0f023eda3a5fd9ff9584e93a6685010de35fb9464025b8c82634be801ada533 +size 27476 diff --git a/tools/danger/dangerfile.js b/tools/danger/dangerfile.js index ae8c4cf002..377f943e50 100644 --- a/tools/danger/dangerfile.js +++ b/tools/danger/dangerfile.js @@ -122,7 +122,7 @@ const previewAnnotations = [ const filesWithPreviews = editedFiles.filter(file => file.endsWith(".kt")).filter(file => { const content = fs.readFileSync(file); - return previewAnnotations.some((ann) => content.includes(ann)); + return previewAnnotations.some((ann) => content.includes("import " + ann)); }) const composablePreviewProviderContents = fs.readFileSync('tests/uitests/src/test/kotlin/base/ComposablePreviewProvider.kt'); From 1c4ac316c9d6085d0d76eaccbf46b650bfdcab90 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 13:53:25 +0200 Subject: [PATCH 056/151] Update android.gradle.plugin to v8.7.0 (#3577) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update android.gradle.plugin to v8.7.0 * Bump Android lint version to `8.8.0-alpha04` --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jorge Martín --- gradle.properties | 2 +- gradle/libs.versions.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 4240f02912..9aefe9e69a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -40,7 +40,7 @@ signing.element.nightly.keyPassword=Secret # Customise the Lint version to use a more recent version than the one bundled with AGP # https://googlesamples.github.io/android-custom-lint-rules/usage/newer-lint.md.html -android.experimental.lint.version=8.7.0-alpha01 +android.experimental.lint.version=8.8.0-alpha04 # Enable test fixture for all modules by default android.experimental.enableTestFixtures=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a01b4cd79b..c7af9f3120 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -3,7 +3,7 @@ [versions] # Project -android_gradle_plugin = "8.6.1" +android_gradle_plugin = "8.7.0" kotlin = "1.9.25" kotlinpoetKsp = "1.17.0" ksp = "1.9.25-1.0.20" From ed1cb24c28494203c8ebf9427c49f410584a8a24 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 2 Oct 2024 21:20:59 +0200 Subject: [PATCH 057/151] Fix tests, replace outdated SDK fixtures --- .../fixtures/factories/EventTimelineItem.kt | 59 +++++++++++++++++++ .../factories/EventTimelineItemContent.kt | 24 ++++++++ .../fakes/FakeRustEventShieldsProvider.kt | 18 ++++++ .../fakes/FakeRustEventTimelineItem.kt | 44 -------------- ...eRustEventTimelineItemDebugInfoProvider.kt | 19 ++++++ .../fakes/FakeRustTimelineItemContent.kt | 18 ------ .../timeline/TimelineItemsSubscriberTest.kt | 4 +- 7 files changed, 122 insertions(+), 64 deletions(-) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItem.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItemContent.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventShieldsProvider.kt delete mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItemDebugInfoProvider.kt delete mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItemContent.kt diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItem.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItem.kt new file mode 100644 index 0000000000..1b8c7152ff --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItem.kt @@ -0,0 +1,59 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.factories + +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventShieldsProvider +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventTimelineItemDebugInfoProvider +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.matrix.test.A_USER_ID +import org.matrix.rustcomponents.sdk.EventOrTransactionId +import org.matrix.rustcomponents.sdk.EventSendState +import org.matrix.rustcomponents.sdk.EventTimelineItem +import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo +import org.matrix.rustcomponents.sdk.ProfileDetails +import org.matrix.rustcomponents.sdk.Reaction +import org.matrix.rustcomponents.sdk.Receipt +import org.matrix.rustcomponents.sdk.ShieldState +import org.matrix.rustcomponents.sdk.TimelineItemContent +import uniffi.matrix_sdk_ui.EventItemOrigin + +fun aRustEventTimelineItem( + isLocal: Boolean = false, + isRemote: Boolean = true, + eventOrTransactionId: EventOrTransactionId = EventOrTransactionId.EventId(AN_EVENT_ID.value), + sender: String = A_USER_ID.value, + senderProfile: ProfileDetails = ProfileDetails.Unavailable, + isOwn: Boolean = true, + isEditable: Boolean = true, + content: TimelineItemContent = aRustTimelineItemMessageContent(), + timestamp: ULong = 0uL, + reactions: List = emptyList(), + debugInfo: EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo(), + localSendState: EventSendState? = null, + readReceipts: Map = emptyMap(), + origin: EventItemOrigin? = EventItemOrigin.SYNC, + canBeRepliedTo: Boolean = true, + shieldsState: ShieldState? = null, +) = EventTimelineItem( + isLocal = isLocal, + isRemote = isRemote, + eventOrTransactionId = eventOrTransactionId, + sender = sender, + senderProfile = senderProfile, + timestamp = timestamp, + isOwn = isOwn, + isEditable = isEditable, + canBeRepliedTo = canBeRepliedTo, + content = content, + debugInfoProvider = FakeRustEventTimelineItemDebugInfoProvider(debugInfo), + shieldsProvider = FakeRustEventShieldsProvider(shieldsState), + localSendState = localSendState, + reactions = reactions, + readReceipts = readReceipts, + origin = origin, +) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItemContent.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItemContent.kt new file mode 100644 index 0000000000..2fc711b591 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/EventTimelineItemContent.kt @@ -0,0 +1,24 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.factories + +import org.matrix.rustcomponents.sdk.MessageContent +import org.matrix.rustcomponents.sdk.MessageType +import org.matrix.rustcomponents.sdk.TextMessageContent +import org.matrix.rustcomponents.sdk.TimelineItemContent + +fun aRustTimelineItemMessageContent(body: String = "Hello") = TimelineItemContent.Message( + content = MessageContent( + msgType = MessageType.Text(content = TextMessageContent(body = body, formatted = null)), + body = body, + inReplyTo = null, + threadRoot = null, + isEdited = false, + mentions = null, + ) +) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventShieldsProvider.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventShieldsProvider.kt new file mode 100644 index 0000000000..93f1e5162b --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventShieldsProvider.kt @@ -0,0 +1,18 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.fakes + +import org.matrix.rustcomponents.sdk.EventShieldsProvider +import org.matrix.rustcomponents.sdk.NoPointer +import org.matrix.rustcomponents.sdk.ShieldState + +class FakeRustEventShieldsProvider( + private val shieldsState: ShieldState? = null, +) : EventShieldsProvider(NoPointer) { + override fun getShields(strict: Boolean): ShieldState? = shieldsState +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt deleted file mode 100644 index f40d0ffbea..0000000000 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItem.kt +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.libraries.matrix.impl.fixtures.fakes - -import io.element.android.libraries.matrix.impl.fixtures.factories.anEventTimelineItemDebugInfo -import io.element.android.libraries.matrix.test.AN_EVENT_ID -import io.element.android.libraries.matrix.test.A_USER_ID -import org.matrix.rustcomponents.sdk.EventSendState -import org.matrix.rustcomponents.sdk.EventTimelineItem -import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo -import org.matrix.rustcomponents.sdk.NoPointer -import org.matrix.rustcomponents.sdk.ProfileDetails -import org.matrix.rustcomponents.sdk.Reaction -import org.matrix.rustcomponents.sdk.Receipt -import org.matrix.rustcomponents.sdk.ShieldState -import org.matrix.rustcomponents.sdk.TimelineItemContent -import uniffi.matrix_sdk_ui.EventItemOrigin - -class FakeRustEventTimelineItem( - private val origin: EventItemOrigin? = null, -) : EventTimelineItem(NoPointer) { - override fun origin(): EventItemOrigin? = origin - override fun eventId(): String = AN_EVENT_ID.value - override fun transactionId(): String? = null - override fun isEditable(): Boolean = false - override fun canBeRepliedTo(): Boolean = false - override fun isLocal(): Boolean = false - override fun isOwn(): Boolean = false - override fun isRemote(): Boolean = false - override fun localSendState(): EventSendState? = null - override fun reactions(): List = emptyList() - override fun readReceipts(): Map = emptyMap() - override fun sender(): String = A_USER_ID.value - override fun senderProfile(): ProfileDetails = ProfileDetails.Unavailable - override fun timestamp(): ULong = 0u - override fun content(): TimelineItemContent = FakeRustTimelineItemContent() - override fun debugInfo(): EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo() - override fun getShield(strict: Boolean): ShieldState? = null -} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItemDebugInfoProvider.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItemDebugInfoProvider.kt new file mode 100644 index 0000000000..93ac66318b --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustEventTimelineItemDebugInfoProvider.kt @@ -0,0 +1,19 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.fixtures.fakes + +import io.element.android.libraries.matrix.impl.fixtures.factories.anEventTimelineItemDebugInfo +import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo +import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfoProvider +import org.matrix.rustcomponents.sdk.NoPointer + +class FakeRustEventTimelineItemDebugInfoProvider( + private val debugInfo: EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo(), +) : EventTimelineItemDebugInfoProvider(NoPointer) { + override fun get(): EventTimelineItemDebugInfo = debugInfo +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItemContent.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItemContent.kt deleted file mode 100644 index 14bdde0682..0000000000 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustTimelineItemContent.kt +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.libraries.matrix.impl.fixtures.fakes - -import org.matrix.rustcomponents.sdk.Message -import org.matrix.rustcomponents.sdk.NoPointer -import org.matrix.rustcomponents.sdk.TimelineItemContent -import org.matrix.rustcomponents.sdk.TimelineItemContentKind - -class FakeRustTimelineItemContent : TimelineItemContent(NoPointer) { - override fun asMessage(): Message? = null - override fun kind(): TimelineItemContentKind = TimelineItemContentKind.Message -} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt index 4333525fe0..3816c77a9d 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt @@ -10,7 +10,7 @@ package io.element.android.libraries.matrix.impl.timeline import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem -import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventTimelineItem +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustEventTimelineItem import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimeline import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimelineDiff import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustTimelineItem @@ -94,7 +94,7 @@ class TimelineItemsSubscriberTest { listOf( FakeRustTimelineDiff( item = FakeRustTimelineItem( - asEventResult = FakeRustEventTimelineItem(origin = EventItemOrigin.SYNC) + asEventResult = aRustEventTimelineItem(origin = EventItemOrigin.SYNC), ), change = TimelineChange.RESET, ) From 55c11e966eb99e69b8f8efb4ed312765af0e3014 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 2 Oct 2024 21:28:35 +0200 Subject: [PATCH 058/151] Fix a naming issue. --- .../matrix/impl/fixtures/fakes/FakeRustClient.kt | 2 +- ...orySearch.kt => FakeRustRoomDirectorySearch.kt} | 2 +- .../roomdirectory/RustRoomDirectoryListTest.kt | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) rename libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/{FakeRoomDirectorySearch.kt => FakeRustRoomDirectorySearch.kt} (97%) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustClient.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustClient.kt index 740d354821..5922290110 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustClient.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustClient.kt @@ -42,7 +42,7 @@ class FakeRustClient( override fun cachedAvatarUrl(): String? = null override suspend fun restoreSession(session: Session) = Unit override fun syncService(): SyncServiceBuilder = FakeRustSyncServiceBuilder() - override fun roomDirectorySearch(): RoomDirectorySearch = FakeRoomDirectorySearch() + override fun roomDirectorySearch(): RoomDirectorySearch = FakeRustRoomDirectorySearch() override suspend fun setPusher( identifiers: PusherIdentifiers, kind: PusherKind, diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRoomDirectorySearch.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomDirectorySearch.kt similarity index 97% rename from libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRoomDirectorySearch.kt rename to libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomDirectorySearch.kt index 587b1bf5ce..0569ee55c8 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRoomDirectorySearch.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomDirectorySearch.kt @@ -14,7 +14,7 @@ import org.matrix.rustcomponents.sdk.RoomDirectorySearchEntriesListener import org.matrix.rustcomponents.sdk.RoomDirectorySearchEntryUpdate import org.matrix.rustcomponents.sdk.TaskHandle -class FakeRoomDirectorySearch( +class FakeRustRoomDirectorySearch( var isAtLastPage: Boolean = false, ) : RoomDirectorySearch(NoPointer) { override suspend fun isAtLastPage(): Boolean { diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryListTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryListTest.kt index 6dff45c815..134b90adc9 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryListTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/roomdirectory/RustRoomDirectoryListTest.kt @@ -11,7 +11,7 @@ import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.roomdirectory.RoomDirectoryList import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomDescription -import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRoomDirectorySearch +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustRoomDirectorySearch import io.element.android.libraries.matrix.test.A_ROOM_ID_2 import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -27,17 +27,17 @@ import org.matrix.rustcomponents.sdk.RoomDirectorySearchEntryUpdate class RustRoomDirectoryListTest { @Test fun `check that the state emits the expected values`() = runTest { - val fakeRoomDirectorySearch = FakeRoomDirectorySearch() + val roomDirectorySearch = FakeRustRoomDirectorySearch() val mapper = RoomDescriptionMapper() val sut = createRustRoomDirectoryList( - roomDirectorySearch = fakeRoomDirectorySearch, + roomDirectorySearch = roomDirectorySearch, scope = backgroundScope, ) // Let the mxCallback be ready runCurrent() sut.state.test { sut.filter("", 20) - fakeRoomDirectorySearch.emitResult( + roomDirectorySearch.emitResult( listOf( RoomDirectorySearchEntryUpdate.Append(listOf(aRustRoomDescription())) ) @@ -50,9 +50,9 @@ class RustRoomDirectoryListTest { ) ) assertThat(initialItem.hasMoreToLoad).isTrue() - fakeRoomDirectorySearch.isAtLastPage = true + roomDirectorySearch.isAtLastPage = true sut.loadMore() - fakeRoomDirectorySearch.emitResult( + roomDirectorySearch.emitResult( listOf( RoomDirectorySearchEntryUpdate.Append(listOf(aRustRoomDescription(A_ROOM_ID_2.value))) ) @@ -80,7 +80,7 @@ class RustRoomDirectoryListTest { } private fun TestScope.createRustRoomDirectoryList( - roomDirectorySearch: RoomDirectorySearch = FakeRoomDirectorySearch(), + roomDirectorySearch: RoomDirectorySearch = FakeRustRoomDirectorySearch(), scope: CoroutineScope, ) = RustRoomDirectoryList( inner = roomDirectorySearch, From f8fa21814612c4ff5016e562c73f4c542b0b3e3c Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Thu, 3 Oct 2024 11:38:03 +0200 Subject: [PATCH 059/151] Upgrade the used JDK in the project to v21 (#3582) * Upgrade the used JDK in the project to v21 * Use it for CI too * Centralise java language version * Fix deprecations, tests and lint issues * Fix coverage taking into account `@Preview` annotated code. --------- Co-authored-by: Benoit Marty --- .github/workflows/build.yml | 4 ++-- .github/workflows/build_enterprise.yml | 4 ++-- .github/workflows/generate_github_pages.yml | 4 ++-- .github/workflows/gradle-wrapper-update.yml | 4 ++-- .github/workflows/maestro.yml | 4 ++-- .github/workflows/nightly.yml | 4 ++-- .github/workflows/nightlyReports.yml | 8 +++---- .github/workflows/nightly_enterprise.yml | 4 ++-- .github/workflows/quality.yml | 24 +++++++++---------- .github/workflows/recordScreenshots.yml | 4 ++-- .github/workflows/release.yml | 12 +++++----- .github/workflows/sonar.yml | 4 ++-- .github/workflows/sync-localazy.yml | 4 ++-- .github/workflows/tests.yml | 4 ++-- app/build.gradle.kts | 3 --- libraries/core/build.gradle.kts | 10 ++++++-- .../android/libraries/core/uri/UrlUtils.kt | 4 ++-- ...efaultLastMessageTimestampFormatterTest.kt | 8 +++---- plugins/src/main/kotlin/Versions.kt | 7 ++++-- .../main/kotlin/extension/CommonExtension.kt | 5 ++-- .../main/kotlin/extension/KoverExtension.kt | 3 +-- ...ent.android-compose-application.gradle.kts | 6 +++++ ...element.android-compose-library.gradle.kts | 6 +++++ .../io.element.android-library.gradle.kts | 6 +++++ 24 files changed, 84 insertions(+), 62 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a9f751b556..98660acf30 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,11 +30,11 @@ jobs: # Ensure we are building the branch and not the branch after being merged on develop # https://github.com/actions/checkout/issues/881 ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }} - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: diff --git a/.github/workflows/build_enterprise.yml b/.github/workflows/build_enterprise.yml index 601db71ac7..c20d87c809 100644 --- a/.github/workflows/build_enterprise.yml +++ b/.github/workflows/build_enterprise.yml @@ -38,11 +38,11 @@ jobs: ssh-private-key: ${{ secrets.ELEMENT_ENTERPRISE_DEPLOY_KEY }} - name: Clone submodules run: git submodule update --init --recursive - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: diff --git a/.github/workflows/generate_github_pages.yml b/.github/workflows/generate_github_pages.yml index c86c5799e3..e39175c755 100644 --- a/.github/workflows/generate_github_pages.yml +++ b/.github/workflows/generate_github_pages.yml @@ -13,11 +13,11 @@ jobs: steps: - name: ⏬ Checkout with LFS uses: nschloe/action-cached-lfs-checkout@v1.2.2 - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: diff --git a/.github/workflows/gradle-wrapper-update.yml b/.github/workflows/gradle-wrapper-update.yml index fe2a8a7cf1..f5a5b3c94c 100644 --- a/.github/workflows/gradle-wrapper-update.yml +++ b/.github/workflows/gradle-wrapper-update.yml @@ -13,11 +13,11 @@ jobs: steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 - name: Use JDK 17 + name: Use JDK 21 if: (github.event_name == 'pull_request' && github.event.pull_request.fork == null) || github.event_name == 'workflow_dispatch' with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Update Gradle Wrapper uses: gradle-update/update-gradle-wrapper-action@v2 with: diff --git a/.github/workflows/maestro.yml b/.github/workflows/maestro.yml index bbf1129eff..6ba8279e60 100644 --- a/.github/workflows/maestro.yml +++ b/.github/workflows/maestro.yml @@ -33,11 +33,11 @@ jobs: # https://github.com/actions/checkout/issues/881 ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }} - uses: actions/setup-java@v4 - name: Use JDK 17 + name: Use JDK 21 if: (github.event_name == 'pull_request' && github.event.pull_request.fork == null) || github.event_name == 'workflow_dispatch' with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 67c53ccbae..e661dc02ff 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -17,11 +17,11 @@ jobs: if: ${{ github.repository == 'element-hq/element-x-android' }} steps: - uses: actions/checkout@v4 - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Build and upload Nightly application run: | ./gradlew assembleGplayNightly appDistributionUploadGplayNightly $CI_GRADLE_ARG_PROPERTIES diff --git a/.github/workflows/nightlyReports.yml b/.github/workflows/nightlyReports.yml index bb1af3abc4..3b8184f6af 100644 --- a/.github/workflows/nightlyReports.yml +++ b/.github/workflows/nightlyReports.yml @@ -20,11 +20,11 @@ jobs: - name: ⏬ Checkout with LFS uses: nschloe/action-cached-lfs-checkout@v1.2.2 - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 @@ -61,11 +61,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: diff --git a/.github/workflows/nightly_enterprise.yml b/.github/workflows/nightly_enterprise.yml index 611986010e..677977e5c4 100644 --- a/.github/workflows/nightly_enterprise.yml +++ b/.github/workflows/nightly_enterprise.yml @@ -23,11 +23,11 @@ jobs: ssh-private-key: ${{ secrets.ELEMENT_ENTERPRISE_DEPLOY_KEY }} - name: Clone submodules run: git submodule update --init --recursive - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Build and upload Nightly application run: | ./gradlew assembleGplayNightly appDistributionUploadGplayNightly $CI_GRADLE_ARG_PROPERTIES diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 37d86a51de..5d69ac3c64 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -46,11 +46,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: @@ -84,11 +84,11 @@ jobs: - name: Clone submodules if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }} run: git submodule update --init --recursive - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: @@ -124,11 +124,11 @@ jobs: - name: Clone submodules if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }} run: git submodule update --init --recursive - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: @@ -168,11 +168,11 @@ jobs: - name: Clone submodules if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }} run: git submodule update --init --recursive - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: @@ -208,11 +208,11 @@ jobs: - name: Clone submodules if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }} run: git submodule update --init --recursive - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: @@ -248,11 +248,11 @@ jobs: - name: Clone submodules if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }} run: git submodule update --init --recursive - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: diff --git a/.github/workflows/recordScreenshots.yml b/.github/workflows/recordScreenshots.yml index 1391aca49c..e7a30ec9fb 100644 --- a/.github/workflows/recordScreenshots.yml +++ b/.github/workflows/recordScreenshots.yml @@ -32,11 +32,11 @@ jobs: uses: nschloe/action-cached-lfs-checkout@v1.2.2 with: persist-credentials: false - - name: ☕️ Use JDK 17 + - name: ☕️ Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' # Add gradle cache, this should speed up the process - name: Configure gradle uses: gradle/actions/setup-gradle@v4 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 17ab2efd18..87ffcb76fe 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,11 +19,11 @@ jobs: cancel-in-progress: true steps: - uses: actions/checkout@v4 - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 - name: Create app bundle @@ -55,11 +55,11 @@ jobs: ssh-private-key: ${{ secrets.ELEMENT_ENTERPRISE_DEPLOY_KEY }} - name: Clone submodules run: git submodule update --init --recursive - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 - name: Create Enterprise app bundle @@ -83,11 +83,11 @@ jobs: cancel-in-progress: true steps: - uses: actions/checkout@v4 - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 - name: Create APKs diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml index 1a9f2cf598..cda6219c26 100644 --- a/.github/workflows/sonar.yml +++ b/.github/workflows/sonar.yml @@ -27,11 +27,11 @@ jobs: # Ensure we are building the branch and not the branch after being merged on develop # https://github.com/actions/checkout/issues/881 ref: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.ref }} - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: diff --git a/.github/workflows/sync-localazy.yml b/.github/workflows/sync-localazy.yml index f559386ffe..dc688cb5a4 100644 --- a/.github/workflows/sync-localazy.yml +++ b/.github/workflows/sync-localazy.yml @@ -12,11 +12,11 @@ jobs: if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }} steps: - uses: actions/checkout@v4 - - name: Use JDK 17 + - name: Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 45630e6140..897abf8d55 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -46,11 +46,11 @@ jobs: - name: Clone submodules if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'element-hq/element-x-android' }} run: git submodule update --init --recursive - - name: ☕️ Use JDK 17 + - name: ☕️ Use JDK 21 uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options - java-version: '17' + java-version: '21' - name: Configure gradle uses: gradle/actions/setup-gradle@v4 with: diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b760bd63e1..a63de43391 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -161,9 +161,6 @@ android { } } } - kotlinOptions { - jvmTarget = "17" - } buildFeatures { buildConfig = true diff --git a/libraries/core/build.gradle.kts b/libraries/core/build.gradle.kts index ca011fcf14..841fe8401a 100644 --- a/libraries/core/build.gradle.kts +++ b/libraries/core/build.gradle.kts @@ -11,8 +11,14 @@ plugins { } java { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = Versions.javaVersion + targetCompatibility = Versions.javaVersion +} + +kotlin { + jvmToolchain { + languageVersion = Versions.javaLanguageVersion + } } dependencies { diff --git a/libraries/core/src/main/kotlin/io/element/android/libraries/core/uri/UrlUtils.kt b/libraries/core/src/main/kotlin/io/element/android/libraries/core/uri/UrlUtils.kt index 30ac225a96..a746586f45 100644 --- a/libraries/core/src/main/kotlin/io/element/android/libraries/core/uri/UrlUtils.kt +++ b/libraries/core/src/main/kotlin/io/element/android/libraries/core/uri/UrlUtils.kt @@ -7,11 +7,11 @@ package io.element.android.libraries.core.uri -import java.net.URL +import java.net.URI fun String.isValidUrl(): Boolean { return try { - URL(this) + URI(this).toURL() true } catch (t: Throwable) { false diff --git a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultLastMessageTimestampFormatterTest.kt b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultLastMessageTimestampFormatterTest.kt index 4d1a581371..c1a684cdf5 100644 --- a/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultLastMessageTimestampFormatterTest.kt +++ b/libraries/dateformatter/impl/src/test/kotlin/io/element/android/libraries/dateformatter/impl/DefaultLastMessageTimestampFormatterTest.kt @@ -36,7 +36,7 @@ class DefaultLastMessageTimestampFormatterTest { val now = "1980-04-06T18:35:24.00Z" val dat = "1980-04-06T18:35:24.00Z" val formatter = createFormatter(now) - assertThat(formatter.format(Instant.parse(dat).toEpochMilliseconds())).isEqualTo("6:35 PM") + assertThat(formatter.format(Instant.parse(dat).toEpochMilliseconds())).isEqualTo("6:35 PM") } @Test @@ -44,7 +44,7 @@ class DefaultLastMessageTimestampFormatterTest { val now = "1980-04-06T18:35:24.00Z" val dat = "1980-04-06T18:35:23.00Z" val formatter = createFormatter(now) - assertThat(formatter.format(Instant.parse(dat).toEpochMilliseconds())).isEqualTo("6:35 PM") + assertThat(formatter.format(Instant.parse(dat).toEpochMilliseconds())).isEqualTo("6:35 PM") } @Test @@ -52,7 +52,7 @@ class DefaultLastMessageTimestampFormatterTest { val now = "1980-04-06T18:35:24.00Z" val dat = "1980-04-06T18:34:24.00Z" val formatter = createFormatter(now) - assertThat(formatter.format(Instant.parse(dat).toEpochMilliseconds())).isEqualTo("6:34 PM") + assertThat(formatter.format(Instant.parse(dat).toEpochMilliseconds())).isEqualTo("6:34 PM") } @Test @@ -60,7 +60,7 @@ class DefaultLastMessageTimestampFormatterTest { val now = "1980-04-06T18:35:24.00Z" val dat = "1980-04-06T17:35:24.00Z" val formatter = createFormatter(now) - assertThat(formatter.format(Instant.parse(dat).toEpochMilliseconds())).isEqualTo("5:35 PM") + assertThat(formatter.format(Instant.parse(dat).toEpochMilliseconds())).isEqualTo("5:35 PM") } @Test diff --git a/plugins/src/main/kotlin/Versions.kt b/plugins/src/main/kotlin/Versions.kt index 4f1d15ee71..71a5c65c8b 100644 --- a/plugins/src/main/kotlin/Versions.kt +++ b/plugins/src/main/kotlin/Versions.kt @@ -54,8 +54,11 @@ object Versions { val versionName = "$versionMajor.$versionMinor.$versionPatch" const val compileSdk = 34 const val targetSdk = 34 + // When updating the `minSdk`, make sure to update the value of `minSdkVersion` in the file `tools/release/release.sh` val minSdk = if (isEnterpriseBuild) 26 else 24 - val javaCompileVersion = JavaVersion.VERSION_17 - val javaLanguageVersion: JavaLanguageVersion = JavaLanguageVersion.of(11) + + private const val JAVA_VERSION = 21 + val javaVersion: JavaVersion = JavaVersion.toVersion(JAVA_VERSION) + val javaLanguageVersion: JavaLanguageVersion = JavaLanguageVersion.of(JAVA_VERSION) } diff --git a/plugins/src/main/kotlin/extension/CommonExtension.kt b/plugins/src/main/kotlin/extension/CommonExtension.kt index a18ed6c32c..32e27b516e 100644 --- a/plugins/src/main/kotlin/extension/CommonExtension.kt +++ b/plugins/src/main/kotlin/extension/CommonExtension.kt @@ -11,7 +11,6 @@ import Versions import com.android.build.api.dsl.CommonExtension import isEnterpriseBuild import org.gradle.accessors.dm.LibrariesForLibs -import org.gradle.api.JavaVersion import org.gradle.api.Project import java.io.File @@ -28,8 +27,8 @@ fun CommonExtension<*, *, *, *, *, *>.androidConfig(project: Project) { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = Versions.javaVersion + targetCompatibility = Versions.javaVersion } testOptions { diff --git a/plugins/src/main/kotlin/extension/KoverExtension.kt b/plugins/src/main/kotlin/extension/KoverExtension.kt index 38a43c33dd..6182fde1f5 100644 --- a/plugins/src/main/kotlin/extension/KoverExtension.kt +++ b/plugins/src/main/kotlin/extension/KoverExtension.kt @@ -104,8 +104,7 @@ fun Project.setupKover() { annotatedBy( "androidx.compose.ui.tooling.preview.Preview", "io.element.android.libraries.architecture.coverage.ExcludeFromCoverage", - "io.element.android.libraries.designsystem.preview.PreviewsDayNight", - "io.element.android.libraries.designsystem.preview.PreviewWithLargeHeight", + "io.element.android.libraries.designsystem.preview.*", ) } } diff --git a/plugins/src/main/kotlin/io.element.android-compose-application.gradle.kts b/plugins/src/main/kotlin/io.element.android-compose-application.gradle.kts index e537aaa851..6773164f46 100644 --- a/plugins/src/main/kotlin/io.element.android-compose-application.gradle.kts +++ b/plugins/src/main/kotlin/io.element.android-compose-application.gradle.kts @@ -29,6 +29,12 @@ android { } } +kotlin { + jvmToolchain { + languageVersion = Versions.javaLanguageVersion + } +} + dependencies { commonDependencies(libs) composeDependencies(libs) diff --git a/plugins/src/main/kotlin/io.element.android-compose-library.gradle.kts b/plugins/src/main/kotlin/io.element.android-compose-library.gradle.kts index 47dac35882..5c6c6a3589 100644 --- a/plugins/src/main/kotlin/io.element.android-compose-library.gradle.kts +++ b/plugins/src/main/kotlin/io.element.android-compose-library.gradle.kts @@ -29,6 +29,12 @@ android { } } +kotlin { + jvmToolchain { + languageVersion = Versions.javaLanguageVersion + } +} + dependencies { commonDependencies(libs) composeDependencies(libs) diff --git a/plugins/src/main/kotlin/io.element.android-library.gradle.kts b/plugins/src/main/kotlin/io.element.android-library.gradle.kts index 472ab90fbc..f34c884091 100644 --- a/plugins/src/main/kotlin/io.element.android-library.gradle.kts +++ b/plugins/src/main/kotlin/io.element.android-library.gradle.kts @@ -26,6 +26,12 @@ android { } } +kotlin { + jvmToolchain { + languageVersion = Versions.javaLanguageVersion + } +} + dependencies { commonDependencies(libs) coreLibraryDesugaring(libs.android.desugar) From e5a3b112ebd1bb97bd8bcb5458a2140005881076 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 3 Oct 2024 09:38:53 +0000 Subject: [PATCH 060/151] Update dependency com.posthog:posthog-android to v3.8.0 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c7af9f3120..09e57aae49 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -189,7 +189,7 @@ kotlinpoet = "com.squareup:kotlinpoet:1.18.1" zxing_cpp = "io.github.zxing-cpp:android:2.2.0" # Analytics -posthog = "com.posthog:posthog-android:3.7.5" +posthog = "com.posthog:posthog-android:3.8.0" sentry = "io.sentry:sentry-android:7.14.0" # main branch can be tested replacing the version with main-SNAPSHOT matrix_analytics_events = "com.github.matrix-org:matrix-analytics-events:0.25.0" From 1e4c30c569c002a9170d199e5e6d60f622fa0209 Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 2 Oct 2024 17:49:16 +0200 Subject: [PATCH 061/151] timeline : makes typingNotification item part of the timelineItems. --- .../messages/impl/MessagesPresenter.kt | 4 --- .../features/messages/impl/MessagesState.kt | 2 -- .../messages/impl/MessagesStateProvider.kt | 2 -- .../features/messages/impl/MessagesView.kt | 1 - .../messages/impl/di/MessagesModule.kt | 6 ++++ .../list/PinnedMessagesListPresenter.kt | 9 ++++- .../impl/timeline/TimelinePresenter.kt | 6 +++- .../messages/impl/timeline/TimelineState.kt | 4 ++- .../impl/timeline/TimelineStateProvider.kt | 4 +++ .../messages/impl/timeline/TimelineView.kt | 10 ------ .../TimelineViewMessageShieldPreview.kt | 1 - .../components/TimelineItemVirtualRow.kt | 8 +++++ .../virtual/TimelineItemVirtualFactory.kt | 2 ++ .../TimelineItemTypingNotificationModel.kt | 12 +++++++ .../typing/MessagesViewWithTypingPreview.kt | 35 ------------------- .../messages/impl/MessagesPresenterTest.kt | 7 ---- .../impl/timeline/TimelinePresenterTest.kt | 6 ++-- .../impl/timeline/TimelineViewTest.kt | 1 - .../item/virtual/VirtualTimelineItem.kt | 3 ++ .../matrix/impl/timeline/RustTimeline.kt | 5 +++ .../TypingNotificationPostProcessor.kt | 35 +++++++++++++++++++ 21 files changed, 95 insertions(+), 68 deletions(-) create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/virtual/TimelineItemTypingNotificationModel.kt delete mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/MessagesViewWithTypingPreview.kt create mode 100644 libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/TypingNotificationPostProcessor.kt diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt index 8c0616431b..b0029fe4ee 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt @@ -46,7 +46,6 @@ import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.TimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStateContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextBasedContent -import io.element.android.features.messages.impl.typing.TypingNotificationPresenter import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPresenter import io.element.android.features.networkmonitor.api.NetworkMonitor import io.element.android.features.networkmonitor.api.NetworkStatus @@ -91,7 +90,6 @@ class MessagesPresenter @AssistedInject constructor( private val composerPresenter: MessageComposerPresenter, private val voiceMessageComposerPresenter: VoiceMessageComposerPresenter, timelinePresenterFactory: TimelinePresenter.Factory, - private val typingNotificationPresenter: TypingNotificationPresenter, private val actionListPresenterFactory: ActionListPresenter.Factory, private val customReactionPresenter: CustomReactionPresenter, private val reactionSummaryPresenter: ReactionSummaryPresenter, @@ -125,7 +123,6 @@ class MessagesPresenter @AssistedInject constructor( val composerState = composerPresenter.present() val voiceMessageComposerState = voiceMessageComposerPresenter.present() val timelineState = timelinePresenter.present() - val typingNotificationState = typingNotificationPresenter.present() val actionListState = actionListPresenter.present() val customReactionState = customReactionPresenter.present() val reactionSummaryState = reactionSummaryPresenter.present() @@ -216,7 +213,6 @@ class MessagesPresenter @AssistedInject constructor( userEventPermissions = userEventPermissions, voiceMessageComposerState = voiceMessageComposerState, timelineState = timelineState, - typingNotificationState = typingNotificationState, actionListState = actionListState, customReactionState = customReactionState, reactionSummaryState = reactionSummaryState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt index 546e558ba8..2c5bae6d3b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt @@ -15,7 +15,6 @@ import io.element.android.features.messages.impl.timeline.TimelineState import io.element.android.features.messages.impl.timeline.components.customreaction.CustomReactionState import io.element.android.features.messages.impl.timeline.components.reactionsummary.ReactionSummaryState import io.element.android.features.messages.impl.timeline.components.receipt.bottomsheet.ReadReceiptBottomSheetState -import io.element.android.features.messages.impl.typing.TypingNotificationState import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerState import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.designsystem.components.avatar.AvatarData @@ -33,7 +32,6 @@ data class MessagesState( val composerState: MessageComposerState, val voiceMessageComposerState: VoiceMessageComposerState, val timelineState: TimelineState, - val typingNotificationState: TypingNotificationState, val actionListState: ActionListState, val customReactionState: CustomReactionState, val reactionSummaryState: ReactionSummaryState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt index 96e55aac91..2c1a487440 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt @@ -26,7 +26,6 @@ import io.element.android.features.messages.impl.timeline.components.receipt.bot import io.element.android.features.messages.impl.timeline.components.receipt.bottomsheet.ReadReceiptBottomSheetState import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent -import io.element.android.features.messages.impl.typing.aTypingNotificationState import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerState import io.element.android.features.messages.impl.voicemessages.composer.aVoiceMessageComposerState import io.element.android.features.messages.impl.voicemessages.composer.aVoiceMessagePreviewState @@ -122,7 +121,6 @@ fun aMessagesState( userEventPermissions = userEventPermissions, composerState = composerState, voiceMessageComposerState = voiceMessageComposerState, - typingNotificationState = aTypingNotificationState(), timelineState = timelineState, readReceiptBottomSheetState = readReceiptBottomSheetState, actionListState = actionListState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt index 777412e5e3..25ecbcc758 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt @@ -379,7 +379,6 @@ private fun MessagesViewContent( val scrollBehavior = PinnedMessagesBannerViewDefaults.rememberExitOnScrollBehavior() TimelineView( state = state.timelineState, - typingNotificationState = state.typingNotificationState, onUserDataClick = onUserDataClick, onLinkClick = onLinkClick, onMessageClick = onMessageClick, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt index 8c488d61da..ee5ce58366 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt @@ -14,6 +14,8 @@ import io.element.android.features.messages.impl.crypto.sendfailure.resolve.Reso import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerPresenter import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerState +import io.element.android.features.messages.impl.typing.TypingNotificationPresenter +import io.element.android.features.messages.impl.typing.TypingNotificationState import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.di.RoomScope @@ -25,4 +27,8 @@ interface MessagesModule { @Binds fun bindResolveVerifiedUserSendFailurePresenter(presenter: ResolveVerifiedUserSendFailurePresenter): Presenter + + @Binds + fun bindTypingNotificationPresenter(presenter: TypingNotificationPresenter): Presenter + } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt index 8684c16e5a..1e557f84bd 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt @@ -30,6 +30,7 @@ import io.element.android.features.messages.impl.timeline.TimelineRoomInfo import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactoryConfig import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.features.messages.impl.typing.TypingNotificationState import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher @@ -44,6 +45,7 @@ import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.services.analytics.api.AnalyticsService import io.element.android.services.analyticsproviders.api.trackers.captureInteraction import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.flowOf @@ -87,7 +89,12 @@ class PinnedMessagesListPresenter @AssistedInject constructor( userHasPermissionToSendReaction = false, isCallOngoing = false, // don't compute this value or the pin icon will be shown - pinnedEventIds = emptyList() + pinnedEventIds = emptyList(), + typingNotificationState = TypingNotificationState( + renderTypingNotifications = false, + typingMembers = persistentListOf(), + reserveSpace = false, + ) ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt index 85f517b1b0..6a980026b2 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt @@ -28,6 +28,7 @@ import io.element.android.features.messages.impl.timeline.factories.TimelineItem import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactoryConfig import io.element.android.features.messages.impl.timeline.model.NewEventState import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.features.messages.impl.typing.TypingNotificationState import io.element.android.features.messages.impl.voicemessages.timeline.RedactedVoiceMessageManager import io.element.android.features.poll.api.actions.EndPollAction import io.element.android.features.poll.api.actions.SendPollResponseAction @@ -70,6 +71,7 @@ class TimelinePresenter @AssistedInject constructor( private val sessionPreferencesStore: SessionPreferencesStore, private val timelineController: TimelineController, private val resolveVerifiedUserSendFailurePresenter: Presenter, + private val typingNotificationPresenter: Presenter, ) : Presenter { @AssistedFactory interface Factory { @@ -225,7 +227,8 @@ class TimelinePresenter @AssistedInject constructor( .launchIn(this) } - val timelineRoomInfo by remember { + val typingNotificationState = typingNotificationPresenter.present() + val timelineRoomInfo by remember(typingNotificationState) { derivedStateOf { TimelineRoomInfo( name = room.displayName, @@ -234,6 +237,7 @@ class TimelinePresenter @AssistedInject constructor( userHasPermissionToSendReaction = userHasPermissionToSendReaction, isCallOngoing = roomInfo?.hasRoomCall.orFalse(), pinnedEventIds = roomInfo?.pinnedEventIds.orEmpty(), + typingNotificationState = typingNotificationState, ) } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt index cd27959395..cfdf5618d0 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt @@ -11,6 +11,7 @@ import androidx.compose.runtime.Immutable import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.timeline.model.NewEventState import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.features.messages.impl.typing.TypingNotificationState import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield import kotlinx.collections.immutable.ImmutableList @@ -67,5 +68,6 @@ data class TimelineRoomInfo( val userHasPermissionToSendMessage: Boolean, val userHasPermissionToSendReaction: Boolean, val isCallOngoing: Boolean, - val pinnedEventIds: List + val pinnedEventIds: List, + val typingNotificationState: TypingNotificationState, ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt index e0a9d660ca..fb96e75e28 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineStateProvider.kt @@ -21,6 +21,8 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemStateEventContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent import io.element.android.features.messages.impl.timeline.model.virtual.aTimelineItemDaySeparatorModel +import io.element.android.features.messages.impl.typing.TypingNotificationState +import io.element.android.features.messages.impl.typing.aTypingNotificationState import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.avatar.AvatarSize import io.element.android.libraries.matrix.api.core.EventId @@ -241,6 +243,7 @@ internal fun aTimelineRoomInfo( isDm: Boolean = false, userHasPermissionToSendMessage: Boolean = true, pinnedEventIds: List = emptyList(), + typingNotificationState: TypingNotificationState = aTypingNotificationState(), ) = TimelineRoomInfo( isDm = isDm, name = name, @@ -248,4 +251,5 @@ internal fun aTimelineRoomInfo( userHasPermissionToSendReaction = true, isCallOngoing = false, pinnedEventIds = pinnedEventIds, + typingNotificationState = typingNotificationState, ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt index 7abf443c04..9e383facd7 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt @@ -55,9 +55,6 @@ import io.element.android.features.messages.impl.timeline.model.NewEventState import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContentProvider -import io.element.android.features.messages.impl.typing.TypingNotificationState -import io.element.android.features.messages.impl.typing.TypingNotificationView -import io.element.android.features.messages.impl.typing.aTypingNotificationState import io.element.android.libraries.designsystem.components.dialogs.AlertDialog import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight @@ -73,7 +70,6 @@ import kotlin.math.abs @Composable fun TimelineView( state: TimelineState, - typingNotificationState: TypingNotificationState, onUserDataClick: (UserId) -> Unit, onLinkClick: (String) -> Unit, onMessageClick: (TimelineItem.Event) -> Unit, @@ -131,11 +127,6 @@ fun TimelineView( reverseLayout = useReverseLayout, contentPadding = PaddingValues(vertical = 8.dp), ) { - if (state.isLive) { - item { - TypingNotificationView(state = typingNotificationState) - } - } items( items = state.timelineItems, contentType = { timelineItem -> timelineItem.contentType() }, @@ -323,7 +314,6 @@ internal fun TimelineViewPreview( ), focusedEventIndex = 0, ), - typingNotificationState = aTypingNotificationState(), onUserDataClick = {}, onLinkClick = {}, onMessageClick = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt index 81686ed4d2..8c4e774029 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt @@ -36,7 +36,6 @@ internal fun TimelineViewMessageShieldPreview() = ElementPreview { timelineItems = items.toImmutableList(), messageShield = messageShield, ), - typingNotificationState = aTypingNotificationState(), onUserDataClick = {}, onLinkClick = {}, onMessageClick = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemVirtualRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemVirtualRow.kt index 7ff428223b..9b0fada9db 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemVirtualRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemVirtualRow.kt @@ -26,6 +26,8 @@ import io.element.android.features.messages.impl.timeline.model.virtual.Timeline import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemLoadingIndicatorModel import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemReadMarkerModel import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemRoomBeginningModel +import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemTypingNotificationModel +import io.element.android.features.messages.impl.typing.TypingNotificationView @Composable fun TimelineItemVirtualRow( @@ -46,9 +48,15 @@ fun TimelineItemVirtualRow( latestEventSink(TimelineEvents.LoadMore(virtual.model.direction)) } } + // Empty model trick to avoid timeline jumping during forward pagination. is TimelineItemLastForwardIndicatorModel -> { Spacer(modifier = Modifier) } + is TimelineItemTypingNotificationModel -> { + TypingNotificationView( + state = timelineRoomInfo.typingNotificationState, + ) + } } } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/virtual/TimelineItemVirtualFactory.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/virtual/TimelineItemVirtualFactory.kt index 8a3c5e2caf..39f1d334fd 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/virtual/TimelineItemVirtualFactory.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/virtual/TimelineItemVirtualFactory.kt @@ -12,6 +12,7 @@ import io.element.android.features.messages.impl.timeline.model.virtual.Timeline import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemLoadingIndicatorModel import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemReadMarkerModel import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemRoomBeginningModel +import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemTypingNotificationModel import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemVirtualModel import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import io.element.android.libraries.matrix.api.timeline.item.virtual.VirtualTimelineItem @@ -39,6 +40,7 @@ class TimelineItemVirtualFactory @Inject constructor( timestamp = inner.timestamp ) is VirtualTimelineItem.LastForwardIndicator -> TimelineItemLastForwardIndicatorModel + VirtualTimelineItem.TypingNotification -> TimelineItemTypingNotificationModel } } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/virtual/TimelineItemTypingNotificationModel.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/virtual/TimelineItemTypingNotificationModel.kt new file mode 100644 index 0000000000..a91042e3f7 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/virtual/TimelineItemTypingNotificationModel.kt @@ -0,0 +1,12 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.model.virtual + +data object TimelineItemTypingNotificationModel : TimelineItemVirtualModel { + override val type: String = "TimelineItemTypingNotificationModel" +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/MessagesViewWithTypingPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/MessagesViewWithTypingPreview.kt deleted file mode 100644 index b6c08daf24..0000000000 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/MessagesViewWithTypingPreview.kt +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.messages.impl.typing - -import androidx.compose.runtime.Composable -import androidx.compose.ui.tooling.preview.PreviewParameter -import io.element.android.features.messages.impl.MessagesView -import io.element.android.features.messages.impl.aMessagesState -import io.element.android.libraries.designsystem.preview.ElementPreview -import io.element.android.libraries.designsystem.preview.PreviewsDayNight - -@PreviewsDayNight -@Composable -internal fun MessagesViewWithTypingPreview( - @PreviewParameter(TypingNotificationStateForMessagesProvider::class) typingState: TypingNotificationState -) = ElementPreview { - MessagesView( - state = aMessagesState().copy(typingNotificationState = typingState), - onBackClick = {}, - onRoomDetailsClick = {}, - onEventClick = { false }, - onUserDataClick = {}, - onLinkClick = {}, - onPreviewAttachments = {}, - onSendLocationClick = {}, - onCreatePollClick = {}, - onJoinCallClick = {}, - onViewAllPinnedMessagesClick = {}, - ) -} diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index be1b4aa7a8..ddd06f4f2f 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -40,7 +40,6 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVideoContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent -import io.element.android.features.messages.impl.typing.TypingNotificationPresenter import io.element.android.features.messages.impl.utils.FakeTextPillificationHelper import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPlayer import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPresenter @@ -1055,11 +1054,6 @@ class MessagesPresenterTest { } } val featureFlagService = FakeFeatureFlagService() - val typingNotificationPresenter = TypingNotificationPresenter( - room = matrixRoom, - sessionPreferencesStore = sessionPreferencesStore, - ) - val readReceiptBottomSheetPresenter = ReadReceiptBottomSheetPresenter() val customReactionPresenter = CustomReactionPresenter(emojibaseProvider = FakeEmojibaseProvider()) val reactionSummaryPresenter = ReactionSummaryPresenter(room = matrixRoom) @@ -1069,7 +1063,6 @@ class MessagesPresenterTest { composerPresenter = messageComposerPresenter, voiceMessageComposerPresenter = voiceMessageComposerPresenter, timelinePresenterFactory = timelinePresenterFactory, - typingNotificationPresenter = typingNotificationPresenter, actionListPresenterFactory = FakeActionListPresenter.Factory, customReactionPresenter = customReactionPresenter, reactionSummaryPresenter = reactionSummaryPresenter, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt index a0712907cc..b82299eb9c 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt @@ -19,6 +19,7 @@ import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactoryC import io.element.android.features.messages.impl.timeline.components.aCriticalShield import io.element.android.features.messages.impl.timeline.model.NewEventState import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.features.messages.impl.typing.aTypingNotificationState import io.element.android.features.messages.impl.voicemessages.timeline.FakeRedactedVoiceMessageManager import io.element.android.features.messages.impl.voicemessages.timeline.RedactedVoiceMessageManager import io.element.android.features.messages.impl.voicemessages.timeline.aRedactedMatrixTimeline @@ -503,7 +504,7 @@ import kotlin.time.Duration.Companion.seconds assertThat(state.timelineItems).isNotEmpty() } initialState.eventSink.invoke(TimelineEvents.JumpToLive) - skipItems(1) + skipItems(2) awaitItem().also { state -> // Event stays focused assertThat(state.focusedEventId).isEqualTo(AN_EVENT_ID) @@ -670,7 +671,7 @@ import kotlin.time.Duration.Companion.seconds timelineItemIndexer: TimelineItemIndexer = TimelineItemIndexer(), ): TimelinePresenter { return TimelinePresenter( - timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(), + timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(timelineItemIndexer), room = room, dispatchers = testCoroutineDispatchers(), appScope = this, @@ -682,6 +683,7 @@ import kotlin.time.Duration.Companion.seconds timelineItemIndexer = timelineItemIndexer, timelineController = TimelineController(room), resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() }, + typingNotificationPresenter = { aTypingNotificationState() }, ) } } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt index 4dc61b7b80..48f242d24f 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt @@ -155,7 +155,6 @@ private fun AndroidComposeTestRule.setTimel setSafeContent { TimelineView( state = state, - typingNotificationState = typingNotificationState, onUserDataClick = onUserDataClick, onLinkClick = onLinkClick, onMessageClick = onMessageClick, diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/virtual/VirtualTimelineItem.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/virtual/VirtualTimelineItem.kt index 98d6d9fc76..80d627c7ab 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/virtual/VirtualTimelineItem.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/virtual/VirtualTimelineItem.kt @@ -24,4 +24,7 @@ sealed interface VirtualTimelineItem { val direction: Timeline.PaginationDirection, val timestamp: Long, ) : VirtualTimelineItem + + data object TypingNotification : VirtualTimelineItem + } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt index e0fd82bfcb..517d83ff80 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimeline.kt @@ -40,6 +40,7 @@ import io.element.android.libraries.matrix.impl.timeline.item.virtual.VirtualTim import io.element.android.libraries.matrix.impl.timeline.postprocessor.LastForwardIndicatorsPostProcessor import io.element.android.libraries.matrix.impl.timeline.postprocessor.LoadingIndicatorsPostProcessor import io.element.android.libraries.matrix.impl.timeline.postprocessor.RoomBeginningPostProcessor +import io.element.android.libraries.matrix.impl.timeline.postprocessor.TypingNotificationPostProcessor import io.element.android.libraries.matrix.impl.timeline.reply.InReplyToMapper import io.element.android.libraries.matrix.impl.util.MessageEventContent import io.element.android.services.toolbox.api.systemclock.SystemClock @@ -121,6 +122,7 @@ class RustTimeline( private val roomBeginningPostProcessor = RoomBeginningPostProcessor(mode) private val loadingIndicatorsPostProcessor = LoadingIndicatorsPostProcessor(systemClock) private val lastForwardIndicatorsPostProcessor = LastForwardIndicatorsPostProcessor(mode) + private val typingNotificationPostProcessor = TypingNotificationPostProcessor(mode) private val backPaginationStatus = MutableStateFlow( Timeline.PaginationStatus(isPaginating = false, hasMoreToLoad = mode != Timeline.Mode.PINNED_EVENTS) @@ -235,6 +237,9 @@ class RustTimeline( hasMoreToLoadForward = hasMoreToLoadForward ) } + .let { items -> + typingNotificationPostProcessor.process(items = items) + } // Keep lastForwardIndicatorsPostProcessor last .let { items -> lastForwardIndicatorsPostProcessor.process( diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/TypingNotificationPostProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/TypingNotificationPostProcessor.kt new file mode 100644 index 0000000000..c9aa7e67fb --- /dev/null +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/TypingNotificationPostProcessor.kt @@ -0,0 +1,35 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.timeline.postprocessor + +import io.element.android.libraries.matrix.api.core.UniqueId +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.api.timeline.Timeline +import io.element.android.libraries.matrix.api.timeline.item.virtual.VirtualTimelineItem + +/** + * This post processor is responsible for adding a typing notification item to the timeline items when the timeline is in live mode. + */ +class TypingNotificationPostProcessor(private val mode: Timeline.Mode) { + + fun process(items: List): List { + return if (mode == Timeline.Mode.LIVE) { + buildList { + addAll(items) + add( + MatrixTimelineItem.Virtual( + uniqueId = UniqueId("TypingNotification"), + virtual = VirtualTimelineItem.TypingNotification + ) + ) + } + } else { + items + } + } +} From b88e65a3edf26f63dbebda83906f48227f4142c4 Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 2 Oct 2024 17:49:51 +0200 Subject: [PATCH 062/151] timeline : fix lastOutgoingMessage after last changes --- .../features/messages/impl/timeline/TimelineState.kt | 10 +++++++++- .../features/messages/impl/timeline/TimelineView.kt | 3 +-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt index cfdf5618d0..d46d6a6866 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt @@ -13,6 +13,7 @@ import io.element.android.features.messages.impl.timeline.model.NewEventState import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.typing.TypingNotificationState import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.core.UniqueId import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield import kotlinx.collections.immutable.ImmutableList import kotlin.time.Duration @@ -30,8 +31,15 @@ data class TimelineState( val resolveVerifiedUserSendFailureState: ResolveVerifiedUserSendFailureState, val eventSink: (TimelineEvents) -> Unit, ) { - val hasAnyEvent = timelineItems.any { it is TimelineItem.Event } + val lastTimelineEvent = timelineItems.firstOrNull { it is TimelineItem.Event} as? TimelineItem.Event + val hasAnyEvent = lastTimelineEvent != null val focusedEventId = focusRequestState.eventId() + + + fun isLastOutgoingMessage(uniqueId: UniqueId): Boolean { + return lastTimelineEvent != null && lastTimelineEvent.isMine && lastTimelineEvent.id == uniqueId + } + } @Immutable diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt index 9e383facd7..59df0cb70d 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt @@ -136,8 +136,7 @@ fun TimelineView( timelineItem = timelineItem, timelineRoomInfo = state.timelineRoomInfo, renderReadReceipts = state.renderReadReceipts, - isLastOutgoingMessage = (timelineItem as? TimelineItem.Event)?.isMine == true && - state.timelineItems.first().identifier() == timelineItem.identifier(), + isLastOutgoingMessage = state.isLastOutgoingMessage(timelineItem.identifier()), focusedEventId = state.focusedEventId, onUserDataClick = onUserDataClick, onLinkClick = onLinkClick, From 8b6fba8512621a9bb765f73c584324c0b5628c0f Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 2 Oct 2024 17:52:06 +0200 Subject: [PATCH 063/151] timeline : add synchronisation around timelineItemIndexer --- .../impl/timeline/TimelineItemIndexer.kt | 28 ++++++++++++++----- .../impl/timeline/TimelineItemIndexerTest.kt | 3 +- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexer.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexer.kt index 877b4ea385..2db5003f4a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexer.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexer.kt @@ -11,26 +11,39 @@ import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.libraries.di.RoomScope import io.element.android.libraries.di.SingleIn import io.element.android.libraries.matrix.api.core.EventId +import kotlinx.coroutines.CompletableDeferred +import kotlinx.coroutines.sync.Mutex +import kotlinx.coroutines.sync.withLock import timber.log.Timber import javax.inject.Inject @SingleIn(RoomScope::class) class TimelineItemIndexer @Inject constructor() { + // This is a latch to wait for the first process call + private val firstProcessLatch = CompletableDeferred() private val timelineEventsIndexes = mutableMapOf() - fun isKnown(eventId: EventId): Boolean { - return timelineEventsIndexes.containsKey(eventId).also { - Timber.d("$eventId isKnown = $it") + private val mutex = Mutex() + + suspend fun isKnown(eventId: EventId): Boolean { + firstProcessLatch.await() + return mutex.withLock { + timelineEventsIndexes.containsKey(eventId).also { + Timber.d("$eventId isKnown = $it") + } } } - fun indexOf(eventId: EventId): Int { - return (timelineEventsIndexes[eventId] ?: -1).also { - Timber.d("indexOf $eventId= $it") + suspend fun indexOf(eventId: EventId): Int { + firstProcessLatch.await() + return mutex.withLock { + (timelineEventsIndexes[eventId] ?: -1).also { + Timber.d("indexOf $eventId= $it") + } } } - fun process(timelineItems: List) { + suspend fun process(timelineItems: List) = mutex.withLock { Timber.d("process ${timelineItems.size} items") timelineEventsIndexes.clear() timelineItems.forEachIndexed { index, timelineItem -> @@ -46,6 +59,7 @@ class TimelineItemIndexer @Inject constructor() { else -> Unit } } + firstProcessLatch.complete(Unit) } private fun processEvent(event: TimelineItem.Event, index: Int) { diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexerTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexerTest.kt index 3e20250910..2e3687b74e 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexerTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexerTest.kt @@ -13,11 +13,12 @@ import io.element.android.features.messages.impl.timeline.model.virtual.Timeline import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.UniqueId import io.element.android.libraries.matrix.test.AN_EVENT_ID +import kotlinx.coroutines.test.runTest import org.junit.Test class TimelineItemIndexerTest { @Test - fun `test TimelineItemIndexer`() { + fun `test TimelineItemIndexer`() = runTest { val eventIds = mutableListOf() val data = listOf( aTimelineItemEvent().also { eventIds.add(it.eventId!!) }, From 88e01e7c2eb1dc94b7d562bd7888795765852c1e Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 2 Oct 2024 18:44:38 +0200 Subject: [PATCH 064/151] timeline : fix jumpToBottom for not live timeline. --- .../features/messages/impl/timeline/TimelineView.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt index 59df0cb70d..bce3bb3f5e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt @@ -30,9 +30,11 @@ import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.rememberUpdatedState +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.rotate @@ -206,6 +208,7 @@ private fun BoxScope.TimelineScrollHelper( lazyListState.firstVisibleItemIndex < 3 && isLive } } + var jumpToLiveHandled by remember { mutableStateOf(true) } fun scrollToBottom() { coroutineScope.launch { @@ -221,10 +224,18 @@ private fun BoxScope.TimelineScrollHelper( if (isLive) { scrollToBottom() } else { + jumpToLiveHandled = false onJumpToLive() } } + LaunchedEffect(jumpToLiveHandled, isLive) { + if (!jumpToLiveHandled && isLive) { + lazyListState.scrollToItem(0) + jumpToLiveHandled = true + } + } + val latestOnFocusEventRender by rememberUpdatedState(onFocusEventRender) LaunchedEffect(focusRequestState) { if (focusRequestState is FocusRequestState.Success && focusRequestState.isIndexed) { From adc03c96761eec67f1cd401d7bff0e5ebc40d8d8 Mon Sep 17 00:00:00 2001 From: ganfra Date: Thu, 3 Oct 2024 12:49:24 +0200 Subject: [PATCH 065/151] timeline : improve jumpTo precision (introducing animateScrollToItemCenter) --- .../messages/impl/di/MessagesModule.kt | 1 - .../impl/timeline/TimelineItemIndexer.kt | 3 - .../impl/timeline/TimelinePresenter.kt | 81 ++++++++++--------- .../messages/impl/timeline/TimelineState.kt | 6 +- .../messages/impl/timeline/TimelineView.kt | 10 +-- .../TimelineViewMessageShieldPreview.kt | 1 - .../factories/TimelineItemsFactory.kt | 3 - .../messages/impl/MessagesPresenterTest.kt | 2 + .../fixtures/TimelineItemsFactoryFixtures.kt | 9 +-- .../impl/timeline/TimelinePresenterTest.kt | 2 +- .../impl/timeline/TimelineViewTest.kt | 3 - .../designsystem/utils/LazyListState.kt | 37 +++++++++ .../item/virtual/VirtualTimelineItem.kt | 1 - .../TypingNotificationPostProcessor.kt | 1 - 14 files changed, 88 insertions(+), 72 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt index ee5ce58366..a6cbd68cf6 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt @@ -30,5 +30,4 @@ interface MessagesModule { @Binds fun bindTypingNotificationPresenter(presenter: TypingNotificationPresenter): Presenter - } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexer.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexer.kt index 2db5003f4a..2c22e714ae 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexer.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineItemIndexer.kt @@ -8,8 +8,6 @@ package io.element.android.features.messages.impl.timeline import io.element.android.features.messages.impl.timeline.model.TimelineItem -import io.element.android.libraries.di.RoomScope -import io.element.android.libraries.di.SingleIn import io.element.android.libraries.matrix.api.core.EventId import kotlinx.coroutines.CompletableDeferred import kotlinx.coroutines.sync.Mutex @@ -17,7 +15,6 @@ import kotlinx.coroutines.sync.withLock import timber.log.Timber import javax.inject.Inject -@SingleIn(RoomScope::class) class TimelineItemIndexer @Inject constructor() { // This is a latch to wait for the first process call private val firstProcessLatch = CompletableDeferred() diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt index 6a980026b2..819f7a1f3a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt @@ -55,12 +55,12 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +import timber.log.Timber const val FOCUS_ON_PINNED_EVENT_DEBOUNCE_DURATION_IN_MILLIS = 200L class TimelinePresenter @AssistedInject constructor( timelineItemsFactoryCreator: TimelineItemsFactory.Creator, - private val timelineItemIndexer: TimelineItemIndexer, private val room: MatrixRoom, private val dispatchers: CoroutineDispatchers, private val appScope: CoroutineScope, @@ -70,6 +70,7 @@ class TimelinePresenter @AssistedInject constructor( private val endPollAction: EndPollAction, private val sessionPreferencesStore: SessionPreferencesStore, private val timelineController: TimelineController, + private val timelineItemIndexer: TimelineItemIndexer = TimelineItemIndexer(), private val resolveVerifiedUserSendFailurePresenter: Presenter, private val typingNotificationPresenter: Presenter, ) : Presenter { @@ -89,13 +90,7 @@ class TimelinePresenter @AssistedInject constructor( @Composable override fun present(): TimelineState { val localScope = rememberCoroutineScope() - val focusRequestState: MutableState = remember { - mutableStateOf(FocusRequestState.None) - } - - LaunchedEffect(Unit) { - timelineItemsFactory.timelineItems.collect { timelineItems = it } - } + var focusRequestState: FocusRequestState by remember { mutableStateOf(FocusRequestState.None) } val lastReadReceiptId = rememberSaveable { mutableStateOf(null) } @@ -154,13 +149,13 @@ class TimelinePresenter @AssistedInject constructor( navigator.onEditPollClick(event.pollStartId) } is TimelineEvents.FocusOnEvent -> { - focusRequestState.value = FocusRequestState.Requested(event.eventId, event.debounce) + focusRequestState = FocusRequestState.Requested(event.eventId, event.debounce) } is TimelineEvents.OnFocusEventRender -> { - focusRequestState.value = focusRequestState.value.onFocusEventRender() + focusRequestState = focusRequestState.onFocusEventRender() } is TimelineEvents.ClearFocusRequestState -> { - focusRequestState.value = FocusRequestState.None + focusRequestState = FocusRequestState.None } is TimelineEvents.JumpToLive -> { timelineController.focusOnLive() @@ -173,28 +168,46 @@ class TimelinePresenter @AssistedInject constructor( } } - LaunchedEffect(focusRequestState.value) { - when (val currentFocusRequestState = focusRequestState.value) { + LaunchedEffect(Unit) { + timelineItemsFactory.timelineItems + .onEach { newTimelineItems -> + timelineItemIndexer.process(newTimelineItems) + timelineItems = newTimelineItems + } + .launchIn(this) + + combine(timelineController.timelineItems(), room.membersStateFlow) { items, membersState -> + timelineItemsFactory.replaceWith( + timelineItems = items, + roomMembers = membersState.roomMembers().orEmpty() + ) + items + } + .onEach(redactedVoiceMessageManager::onEachMatrixTimelineItem) + .launchIn(this) + } + + LaunchedEffect(focusRequestState) { + Timber.d("## focusRequestState: $focusRequestState") + when (val currentFocusRequestState = focusRequestState) { is FocusRequestState.Requested -> { delay(currentFocusRequestState.debounce) if (timelineItemIndexer.isKnown(currentFocusRequestState.eventId)) { val index = timelineItemIndexer.indexOf(currentFocusRequestState.eventId) - focusRequestState.value = FocusRequestState.Success(eventId = currentFocusRequestState.eventId, index = index) + focusRequestState = FocusRequestState.Success(eventId = currentFocusRequestState.eventId, index = index) } else { - focusRequestState.value = FocusRequestState.Loading(eventId = currentFocusRequestState.eventId) + focusRequestState = FocusRequestState.Loading(eventId = currentFocusRequestState.eventId) } } is FocusRequestState.Loading -> { val eventId = currentFocusRequestState.eventId timelineController.focusOnEvent(eventId) - .fold( - onSuccess = { - focusRequestState.value = FocusRequestState.Success(eventId = eventId) - }, - onFailure = { - focusRequestState.value = FocusRequestState.Failure(throwable = it) - } - ) + .onSuccess { + focusRequestState = FocusRequestState.Success(eventId = eventId) + } + .onFailure { + focusRequestState = FocusRequestState.Failure(it) + } } else -> Unit } @@ -204,29 +217,17 @@ class TimelinePresenter @AssistedInject constructor( computeNewItemState(timelineItems, prevMostRecentItemId, newEventState) } - LaunchedEffect(timelineItems.size, focusRequestState.value) { - val currentFocusRequestState = focusRequestState.value - if (currentFocusRequestState is FocusRequestState.Success && !currentFocusRequestState.isIndexed) { + LaunchedEffect(timelineItems.size, focusRequestState) { + val currentFocusRequestState = focusRequestState + if (currentFocusRequestState is FocusRequestState.Success && !currentFocusRequestState.rendered) { val eventId = currentFocusRequestState.eventId if (timelineItemIndexer.isKnown(eventId)) { val index = timelineItemIndexer.indexOf(eventId) - focusRequestState.value = FocusRequestState.Success(eventId = eventId, index = index) + focusRequestState = FocusRequestState.Success(eventId = eventId, index = index) } } } - LaunchedEffect(Unit) { - combine(timelineController.timelineItems(), room.membersStateFlow) { items, membersState -> - timelineItemsFactory.replaceWith( - timelineItems = items, - roomMembers = membersState.roomMembers().orEmpty() - ) - items - } - .onEach(redactedVoiceMessageManager::onEachMatrixTimelineItem) - .launchIn(this) - } - val typingNotificationState = typingNotificationPresenter.present() val timelineRoomInfo by remember(typingNotificationState) { derivedStateOf { @@ -247,7 +248,7 @@ class TimelinePresenter @AssistedInject constructor( renderReadReceipts = renderReadReceipts, newEventState = newEventState.value, isLive = isLive, - focusRequestState = focusRequestState.value, + focusRequestState = focusRequestState, messageShield = messageShield.value, resolveVerifiedUserSendFailureState = resolveVerifiedUserSendFailureState, eventSink = { handleEvents(it) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt index d46d6a6866..bfb357b579 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineState.kt @@ -31,15 +31,13 @@ data class TimelineState( val resolveVerifiedUserSendFailureState: ResolveVerifiedUserSendFailureState, val eventSink: (TimelineEvents) -> Unit, ) { - val lastTimelineEvent = timelineItems.firstOrNull { it is TimelineItem.Event} as? TimelineItem.Event + private val lastTimelineEvent = timelineItems.firstOrNull { it is TimelineItem.Event } as? TimelineItem.Event val hasAnyEvent = lastTimelineEvent != null val focusedEventId = focusRequestState.eventId() - fun isLastOutgoingMessage(uniqueId: UniqueId): Boolean { - return lastTimelineEvent != null && lastTimelineEvent.isMine && lastTimelineEvent.id == uniqueId + return isLive && lastTimelineEvent != null && lastTimelineEvent.isMine && lastTimelineEvent.id == uniqueId } - } @Immutable diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt index bce3bb3f5e..0781cc3ece 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt @@ -62,12 +62,12 @@ import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.FloatingActionButton import io.element.android.libraries.designsystem.theme.components.Icon +import io.element.android.libraries.designsystem.utils.animateScrollToItemCenter import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.coroutines.launch -import kotlin.math.abs @Composable fun TimelineView( @@ -238,12 +238,8 @@ private fun BoxScope.TimelineScrollHelper( val latestOnFocusEventRender by rememberUpdatedState(onFocusEventRender) LaunchedEffect(focusRequestState) { - if (focusRequestState is FocusRequestState.Success && focusRequestState.isIndexed) { - if (abs(lazyListState.firstVisibleItemIndex - focusRequestState.index) < 10) { - lazyListState.animateScrollToItem(focusRequestState.index) - } else { - lazyListState.scrollToItem(focusRequestState.index) - } + if (focusRequestState is FocusRequestState.Success && focusRequestState.isIndexed && !focusRequestState.rendered) { + lazyListState.animateScrollToItemCenter(focusRequestState.index) latestOnFocusEventRender() } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt index 8c4e774029..4566bf88bc 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt @@ -14,7 +14,6 @@ import io.element.android.features.messages.impl.timeline.di.LocalTimelineItemPr import io.element.android.features.messages.impl.timeline.di.aFakeTimelineItemPresenterFactories import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent -import io.element.android.features.messages.impl.typing.aTypingNotificationState import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import kotlinx.collections.immutable.toImmutableList diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactory.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactory.kt index f9857328cd..c507e311f9 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactory.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/factories/TimelineItemsFactory.kt @@ -10,7 +10,6 @@ package io.element.android.features.messages.impl.timeline.factories import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject -import io.element.android.features.messages.impl.timeline.TimelineItemIndexer import io.element.android.features.messages.impl.timeline.diff.TimelineItemsCacheInvalidator import io.element.android.features.messages.impl.timeline.factories.event.TimelineItemEventFactory import io.element.android.features.messages.impl.timeline.factories.virtual.TimelineItemVirtualFactory @@ -36,7 +35,6 @@ class TimelineItemsFactory @AssistedInject constructor( private val dispatchers: CoroutineDispatchers, private val virtualItemFactory: TimelineItemVirtualFactory, private val timelineItemGrouper: TimelineItemGrouper, - private val timelineItemIndexer: TimelineItemIndexer, ) { @AssistedFactory interface Creator { @@ -96,7 +94,6 @@ class TimelineItemsFactory @AssistedInject constructor( } } val result = timelineItemGrouper.group(newTimelineItemStates).toPersistentList() - timelineItemIndexer.process(result) this._timelineItems.emit(result) } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index ddd06f4f2f..79792f4db1 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -40,6 +40,7 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVideoContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent +import io.element.android.features.messages.impl.typing.aTypingNotificationState import io.element.android.features.messages.impl.utils.FakeTextPillificationHelper import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPlayer import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPresenter @@ -1047,6 +1048,7 @@ class MessagesPresenterTest { timelineItemIndexer = TimelineItemIndexer(), timelineController = TimelineController(matrixRoom), resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() }, + typingNotificationPresenter = { aTypingNotificationState() }, ) val timelinePresenterFactory = object : TimelinePresenter.Factory { override fun create(navigator: MessagesNavigator): TimelinePresenter { diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/TimelineItemsFactoryFixtures.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/TimelineItemsFactoryFixtures.kt index c9439e0a3f..405d356edf 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/TimelineItemsFactoryFixtures.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/TimelineItemsFactoryFixtures.kt @@ -7,7 +7,6 @@ package io.element.android.features.messages.impl.fixtures -import io.element.android.features.messages.impl.timeline.TimelineItemIndexer import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactoryConfig import io.element.android.features.messages.impl.timeline.factories.event.TimelineItemContentFactory @@ -40,19 +39,16 @@ import io.element.android.libraries.mediaviewer.api.util.FileExtensionExtractorW import io.element.android.tests.testutils.testCoroutineDispatchers import kotlinx.coroutines.test.TestScope -internal fun TestScope.aTimelineItemsFactoryCreator( - timelineItemIndexer: TimelineItemIndexer = TimelineItemIndexer(), -): TimelineItemsFactory.Creator { +internal fun TestScope.aTimelineItemsFactoryCreator(): TimelineItemsFactory.Creator { return object : TimelineItemsFactory.Creator { override fun create(config: TimelineItemsFactoryConfig): TimelineItemsFactory { - return aTimelineItemsFactory(config, timelineItemIndexer) + return aTimelineItemsFactory(config) } } } internal fun TestScope.aTimelineItemsFactory( config: TimelineItemsFactoryConfig, - timelineItemIndexer: TimelineItemIndexer = TimelineItemIndexer(), ): TimelineItemsFactory { val timelineEventFormatter = aTimelineEventFormatter() val matrixClient = FakeMatrixClient() @@ -96,7 +92,6 @@ internal fun TestScope.aTimelineItemsFactory( ), ), timelineItemGrouper = TimelineItemGrouper(), - timelineItemIndexer = timelineItemIndexer, config = config ) } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt index b82299eb9c..a008feac24 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt @@ -671,7 +671,7 @@ import kotlin.time.Duration.Companion.seconds timelineItemIndexer: TimelineItemIndexer = TimelineItemIndexer(), ): TimelinePresenter { return TimelinePresenter( - timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(timelineItemIndexer), + timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(), room = room, dispatchers = testCoroutineDispatchers(), appScope = this, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt index 48f242d24f..88f4edf003 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt @@ -17,8 +17,6 @@ import io.element.android.features.messages.impl.timeline.components.aCriticalSh import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemImageContent import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemLoadingIndicatorModel -import io.element.android.features.messages.impl.typing.TypingNotificationState -import io.element.android.features.messages.impl.typing.aTypingNotificationState import io.element.android.libraries.matrix.api.core.UniqueId import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.timeline.Timeline @@ -139,7 +137,6 @@ class TimelineViewTest { private fun AndroidComposeTestRule.setTimelineView( state: TimelineState, - typingNotificationState: TypingNotificationState = aTypingNotificationState(), onUserDataClick: (UserId) -> Unit = EnsureNeverCalledWithParam(), onLinkClick: (String) -> Unit = EnsureNeverCalledWithParam(), onMessageClick: (TimelineItem.Event) -> Unit = EnsureNeverCalledWithParam(), diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/LazyListState.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/LazyListState.kt index e793a37ef1..73bb290357 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/LazyListState.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/utils/LazyListState.kt @@ -7,6 +7,8 @@ package io.element.android.libraries.designsystem.utils +import androidx.compose.foundation.gestures.Orientation +import androidx.compose.foundation.lazy.LazyListLayoutInfo import androidx.compose.foundation.lazy.LazyListState import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf @@ -35,3 +37,38 @@ fun LazyListState.isScrollingUp(): Boolean { } }.value } + +suspend fun LazyListState.animateScrollToItemCenter(index: Int) { + fun LazyListLayoutInfo.containerSize(): Int { + return if (orientation == Orientation.Vertical) { + viewportSize.height + } else { + viewportSize.width + } - beforeContentPadding - afterContentPadding + } + + fun LazyListLayoutInfo.resolveItemOffsetToCenter(index: Int): Int? { + val itemInfo = visibleItemsInfo.firstOrNull { it.index == index } ?: return null + val containerSize = containerSize() + val itemSize = itemInfo.size + return if (itemSize > containerSize) { + itemSize - containerSize / 2 + } else { + -(containerSize() - itemInfo.size) / 2 + } + } + + // await for the first layout. + scroll { } + layoutInfo.resolveItemOffsetToCenter(index)?.let { offset -> + // Item is already visible, just scroll to center. + animateScrollToItem(index, offset) + return + } + // Item is not visible, jump to it... + scrollToItem(index) + // and then adjust according to the actual item size. + layoutInfo.resolveItemOffsetToCenter(index)?.let { offset -> + animateScrollToItem(index, offset) + } +} diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/virtual/VirtualTimelineItem.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/virtual/VirtualTimelineItem.kt index 80d627c7ab..07458e13eb 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/virtual/VirtualTimelineItem.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/virtual/VirtualTimelineItem.kt @@ -26,5 +26,4 @@ sealed interface VirtualTimelineItem { ) : VirtualTimelineItem data object TypingNotification : VirtualTimelineItem - } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/TypingNotificationPostProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/TypingNotificationPostProcessor.kt index c9aa7e67fb..1b16027b35 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/TypingNotificationPostProcessor.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/TypingNotificationPostProcessor.kt @@ -16,7 +16,6 @@ import io.element.android.libraries.matrix.api.timeline.item.virtual.VirtualTime * This post processor is responsible for adding a typing notification item to the timeline items when the timeline is in live mode. */ class TypingNotificationPostProcessor(private val mode: Timeline.Mode) { - fun process(items: List): List { return if (mode == Timeline.Mode.LIVE) { buildList { From 4d6b37f1578a67545b01daa79cdb8d4e1417fa97 Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Thu, 3 Oct 2024 15:38:08 +0200 Subject: [PATCH 066/151] Merge unit, screenshot tests and coverage in a single CI call (#3593) * Merge unit, screenshot tests and coverage tasks in a single CI call * Disable gradle daemon too since it's all in a single gradle call now * Make Kover upload the HTML reports on failure too --- .github/workflows/tests.yml | 14 ++++---------- tests/uitests/build.gradle.kts | 10 ---------- 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 897abf8d55..92fecbe8bd 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,7 +10,7 @@ on: # Enrich gradle.properties for CI/CD env: GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx7g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options=-Xmx2g -XX:+UseG1GC - CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true + CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true --no-daemon jobs: tests: @@ -56,14 +56,8 @@ jobs: with: cache-read-only: ${{ github.ref != 'refs/heads/develop' }} - - name: ⚙️ Run unit tests for debug variant - run: ./gradlew testDebugUnitTest $CI_GRADLE_ARG_PROPERTIES - - - name: 📸 Run screenshot tests - run: ./gradlew verifyPaparazziDebug $CI_GRADLE_ARG_PROPERTIES - - - name: 📈Generate kover report and verify coverage - run: ./gradlew :app:koverXmlReportGplayDebug :app:koverHtmlReportGplayDebug :app:koverVerifyAll $CI_GRADLE_ARG_PROPERTIES + - name: ⚙️ Check coverage for debug variant (includes unit & screenshot tests) + run: ./gradlew :tests:uitests:verifyPaparazziDebug :app:koverXmlReportGplayDebug :app:koverHtmlReportGplayDebug :app:koverVerifyAll $CI_GRADLE_ARG_PROPERTIES - name: 🚫 Upload kover failed coverage reports if: failure() @@ -71,7 +65,7 @@ jobs: with: name: kover-error-report path: | - app/build/reports/kover/verifyGplayDebug.err + app/build/reports/kover - name: ✅ Upload kover report (disabled) if: always() diff --git a/tests/uitests/build.gradle.kts b/tests/uitests/build.gradle.kts index 8da1f47a38..3d65a1be7f 100644 --- a/tests/uitests/build.gradle.kts +++ b/tests/uitests/build.gradle.kts @@ -19,16 +19,6 @@ android { namespace = "ui" } -// Workaround: `kover` tasks somehow trigger the screenshot tests with a broken configuration, removing -// any previous test results and not creating new ones. This is a workaround to disable the screenshot tests -// when the `kover` tasks are detected. -tasks.withType { - if (project.gradle.startParameter.taskNames.any { it.contains("kover", ignoreCase = true) }) { - println("WARNING: Kover task detected, disabling screenshot test task $name.") - isEnabled = false - } -} - dependencies { // Paparazzi 1.3.2 workaround (see https://github.com/cashapp/paparazzi/blob/master/CHANGELOG.md#132---2024-01-13) constraints.add("testImplementation", "com.google.guava:guava") { From a91eaba1533faa3be1e71c8a42fc8193027de9ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 07:25:39 +0000 Subject: [PATCH 067/151] Update dependencyAnalysis to v2.1.3 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 09e57aae49..9d25c4b723 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -40,7 +40,7 @@ test_core = "1.6.1" #other coil = "2.7.0" datetime = "0.6.0" -dependencyAnalysis = "2.1.0" +dependencyAnalysis = "2.1.3" serialization_json = "1.6.3" showkase = "1.0.3" appyx = "1.4.0" From cafc04b740cfe3c4560309114f7dc7328befdf32 Mon Sep 17 00:00:00 2001 From: Valere Date: Fri, 4 Oct 2024 11:50:01 +0200 Subject: [PATCH 068/151] dependency: Bump rust sdk to 0.2.51 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 09e57aae49..b52a729d95 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -167,7 +167,7 @@ jsoup = "org.jsoup:jsoup:1.18.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.50" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.51" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } From 1e91e8b35671e11a2af350ef8e68dc8e9ecab346 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 4 Oct 2024 12:01:30 +0200 Subject: [PATCH 069/151] Fix building the app using a local SDK. Inject `AnalyticsService` instead of `UtdTracker` since `UtdTracker` requires access to `org.matrix.rustcomponents.sdk.UnableToDecryptDelegate` --- app/build.gradle.kts | 2 -- .../android/libraries/matrix/impl/RustMatrixClientFactory.kt | 5 +++-- .../android/libraries/matrix/impl/analytics/UtdTracker.kt | 3 +-- .../io/element/android/samples/minimal/MainActivity.kt | 3 +-- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index a63de43391..26ad452dc3 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -275,8 +275,6 @@ dependencies { implementation(libs.serialization.json) implementation(libs.matrix.emojibase.bindings) - // Needed for UtdTracker - implementation(libs.matrix.sdk) testImplementation(libs.test.junit) testImplementation(libs.test.robolectric) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt index 4d320ed810..27d33d5bbf 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt @@ -21,6 +21,7 @@ import io.element.android.libraries.matrix.impl.util.anonymizedTokens import io.element.android.libraries.network.useragent.UserAgentProvider import io.element.android.libraries.sessionstorage.api.SessionData import io.element.android.libraries.sessionstorage.api.SessionStore +import io.element.android.services.analytics.api.AnalyticsService import io.element.android.services.toolbox.api.systemclock.SystemClock import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.withContext @@ -44,7 +45,7 @@ class RustMatrixClientFactory @Inject constructor( private val userCertificatesProvider: UserCertificatesProvider, private val proxyProvider: ProxyProvider, private val clock: SystemClock, - private val utdTracker: UtdTracker, + private val analyticsService: AnalyticsService, private val featureFlagService: FeatureFlagService, private val timelineEventTypeFilterFactory: TimelineEventTypeFilterFactory, private val clientBuilderProvider: ClientBuilderProvider, @@ -64,7 +65,7 @@ class RustMatrixClientFactory @Inject constructor( client.restoreSession(sessionData.toSession()) val syncService = client.syncService() - .withUtdHook(utdTracker) + .withUtdHook(UtdTracker(analyticsService)) .finish() val (anonymizedAccessToken, anonymizedRefreshToken) = sessionData.anonymizedTokens() diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/analytics/UtdTracker.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/analytics/UtdTracker.kt index 9a0abb7403..ec9b546496 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/analytics/UtdTracker.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/analytics/UtdTracker.kt @@ -13,9 +13,8 @@ import org.matrix.rustcomponents.sdk.UnableToDecryptDelegate import org.matrix.rustcomponents.sdk.UnableToDecryptInfo import timber.log.Timber import uniffi.matrix_sdk_crypto.UtdCause -import javax.inject.Inject -class UtdTracker @Inject constructor( +class UtdTracker( private val analyticsService: AnalyticsService, ) : UnableToDecryptDelegate { override fun onUtd(info: UnableToDecryptInfo) { diff --git a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt index efaecb0762..1a3c68b478 100644 --- a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt +++ b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt @@ -21,7 +21,6 @@ import io.element.android.compound.theme.ElementTheme import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService import io.element.android.libraries.matrix.impl.RustClientBuilderProvider import io.element.android.libraries.matrix.impl.RustMatrixClientFactory -import io.element.android.libraries.matrix.impl.analytics.UtdTracker import io.element.android.libraries.matrix.impl.auth.OidcConfigurationProvider import io.element.android.libraries.matrix.impl.auth.RustMatrixAuthenticationService import io.element.android.libraries.matrix.impl.paths.SessionPathsFactory @@ -56,7 +55,7 @@ class MainActivity : ComponentActivity() { userCertificatesProvider = userCertificatesProvider, proxyProvider = proxyProvider, clock = DefaultSystemClock(), - utdTracker = UtdTracker(NoopAnalyticsService()), + analyticsService = NoopAnalyticsService(), featureFlagService = AlwaysEnabledFeatureFlagService(), timelineEventTypeFilterFactory = RustTimelineEventTypeFilterFactory(), clientBuilderProvider = RustClientBuilderProvider(), From 2230163bbed9ee269b46750c4a76d3c110b35852 Mon Sep 17 00:00:00 2001 From: Valere Date: Fri, 4 Oct 2024 12:37:33 +0200 Subject: [PATCH 070/151] dep | Adapt rust-sdk, rename PreviouslyVerified to VerificationViolation --- .../messages/impl/timeline/components/MessageShieldView.kt | 6 +++--- .../matrix/api/timeline/item/event/MessageShield.kt | 6 +++--- .../impl/timeline/item/event/EventTimelineItemMapper.kt | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageShieldView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageShieldView.kt index 4e2b2f3eee..c1a4837c12 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageShieldView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/MessageShieldView.kt @@ -79,7 +79,7 @@ internal fun MessageShield.toText(): String { is MessageShield.UnsignedDevice -> CommonStrings.event_shield_reason_unsigned_device is MessageShield.UnverifiedIdentity -> CommonStrings.event_shield_reason_unverified_identity is MessageShield.SentInClear -> CommonStrings.event_shield_reason_sent_in_clear - is MessageShield.PreviouslyVerified -> CommonStrings.event_shield_reason_previously_verified + is MessageShield.VerificationViolation -> CommonStrings.event_shield_reason_previously_verified } ) } @@ -91,7 +91,7 @@ internal fun MessageShield.toIcon(): ImageVector { is MessageShield.UnknownDevice, is MessageShield.UnsignedDevice, is MessageShield.UnverifiedIdentity, - is MessageShield.PreviouslyVerified -> CompoundIcons.HelpSolid() + is MessageShield.VerificationViolation -> CompoundIcons.HelpSolid() is MessageShield.SentInClear -> CompoundIcons.LockOff() } } @@ -120,7 +120,7 @@ internal fun MessageShieldViewPreview() { shield = MessageShield.SentInClear(false) ) MessageShieldView( - shield = MessageShield.PreviouslyVerified(false) + shield = MessageShield.VerificationViolation(false) ) } } diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/MessageShield.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/MessageShield.kt index dd1fdd12ee..d2c0c6bd3c 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/MessageShield.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/MessageShield.kt @@ -26,8 +26,8 @@ sealed interface MessageShield { /** An unencrypted event in an encrypted room. */ data class SentInClear(val isCritical: Boolean) : MessageShield - /** The sender was previously verified but changed their identity. */ - data class PreviouslyVerified(val isCritical: Boolean) : MessageShield + /** The sender was previously verified but is not anymore. */ + data class VerificationViolation(val isCritical: Boolean) : MessageShield } val MessageShield.isCritical: Boolean @@ -37,5 +37,5 @@ val MessageShield.isCritical: Boolean is MessageShield.UnsignedDevice -> isCritical is MessageShield.UnverifiedIdentity -> isCritical is MessageShield.SentInClear -> isCritical - is MessageShield.PreviouslyVerified -> isCritical + is MessageShield.VerificationViolation -> isCritical } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt index 9fae19bc1d..1291c9e6b8 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt @@ -164,7 +164,7 @@ private fun ShieldState?.map(): MessageShield? { ShieldStateCode.UNSIGNED_DEVICE -> MessageShield.UnsignedDevice(isCritical) ShieldStateCode.UNVERIFIED_IDENTITY -> MessageShield.UnverifiedIdentity(isCritical) ShieldStateCode.SENT_IN_CLEAR -> MessageShield.SentInClear(isCritical) - ShieldStateCode.PREVIOUSLY_VERIFIED -> MessageShield.PreviouslyVerified(isCritical) + ShieldStateCode.VERIFICATION_VIOLATION -> MessageShield.VerificationViolation(isCritical) } } From f9cdb5af7060ccf3fe303cd4225ec89258e7cbee Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Fri, 4 Oct 2024 13:57:46 +0200 Subject: [PATCH 071/151] Disable configuration cache in the CI by default (#3601) --- .github/workflows/build.yml | 2 +- .github/workflows/build_enterprise.yml | 2 +- .github/workflows/maestro.yml | 2 +- .github/workflows/nightly.yml | 2 +- .github/workflows/nightlyReports.yml | 2 +- .github/workflows/nightly_enterprise.yml | 2 +- .github/workflows/quality.yml | 2 +- .github/workflows/recordScreenshots.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/sonar.yml | 2 +- .github/workflows/tests.yml | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 98660acf30..39e4364658 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,7 +10,7 @@ on: # Enrich gradle.properties for CI/CD env: GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g - CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true + CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true --no-configuration-cache jobs: debug: diff --git a/.github/workflows/build_enterprise.yml b/.github/workflows/build_enterprise.yml index c20d87c809..4370c75d0c 100644 --- a/.github/workflows/build_enterprise.yml +++ b/.github/workflows/build_enterprise.yml @@ -10,7 +10,7 @@ on: # Enrich gradle.properties for CI/CD env: GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g - CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true + CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true --no-configuration-cache jobs: build: diff --git a/.github/workflows/maestro.yml b/.github/workflows/maestro.yml index 6ba8279e60..3b11b427ae 100644 --- a/.github/workflows/maestro.yml +++ b/.github/workflows/maestro.yml @@ -9,7 +9,7 @@ on: # Enrich gradle.properties for CI/CD env: GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g - CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true + CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true --no-configuration-cache jobs: build-apk: diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index e661dc02ff..3ad597e658 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -8,7 +8,7 @@ on: env: GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g - CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true + CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true --no-configuration-cache jobs: nightly: diff --git a/.github/workflows/nightlyReports.yml b/.github/workflows/nightlyReports.yml index 3b8184f6af..e49bcb9663 100644 --- a/.github/workflows/nightlyReports.yml +++ b/.github/workflows/nightlyReports.yml @@ -9,7 +9,7 @@ on: # Enrich gradle.properties for CI/CD env: GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g - CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true + CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true --no-configuration-cache jobs: nightlyReports: diff --git a/.github/workflows/nightly_enterprise.yml b/.github/workflows/nightly_enterprise.yml index 677977e5c4..7d12ac66a8 100644 --- a/.github/workflows/nightly_enterprise.yml +++ b/.github/workflows/nightly_enterprise.yml @@ -8,7 +8,7 @@ on: env: GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g - CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true + CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true --no-configuration-cache jobs: nightly: diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 5d69ac3c64..b69c693f19 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -10,7 +10,7 @@ on: # Enrich gradle.properties for CI/CD env: GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g - CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true + CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true --no-configuration-cache jobs: checkScript: diff --git a/.github/workflows/recordScreenshots.yml b/.github/workflows/recordScreenshots.yml index e7a30ec9fb..ef3630ee39 100644 --- a/.github/workflows/recordScreenshots.yml +++ b/.github/workflows/recordScreenshots.yml @@ -7,7 +7,7 @@ on: # Enrich gradle.properties for CI/CD env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dsonar.gradle.skipCompile=true + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dsonar.gradle.skipCompile=true --no-configuration-cache jobs: record: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 87ffcb76fe..99ee377c00 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,7 +8,7 @@ on: # Enrich gradle.properties for CI/CD env: GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g - CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true + CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true --no-configuration-cache jobs: gplay: diff --git a/.github/workflows/sonar.yml b/.github/workflows/sonar.yml index cda6219c26..c3b8cdf497 100644 --- a/.github/workflows/sonar.yml +++ b/.github/workflows/sonar.yml @@ -10,7 +10,7 @@ on: # Enrich gradle.properties for CI/CD env: GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g - CI_GRADLE_ARG_PROPERTIES: --stacktrace --warn -Dsonar.gradle.skipCompile=true + CI_GRADLE_ARG_PROPERTIES: --stacktrace --warn -Dsonar.gradle.skipCompile=true --no-configuration-cache GROUP: ${{ format('sonar-{0}', github.ref) }} jobs: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 92fecbe8bd..778a173e19 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -10,7 +10,7 @@ on: # Enrich gradle.properties for CI/CD env: GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx7g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options=-Xmx2g -XX:+UseG1GC - CI_GRADLE_ARG_PROPERTIES: --stacktrace -Dsonar.gradle.skipCompile=true --no-daemon + CI_GRADLE_ARG_PROPERTIES: --stacktrace --no-daemon -Dsonar.gradle.skipCompile=true --no-configuration-cache jobs: tests: From eb78f32e8cab9f082a07d60672e35903fcebe876 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Fri, 4 Oct 2024 15:45:23 +0200 Subject: [PATCH 072/151] Fix screenshot recording in CI --- .github/workflows/recordScreenshots.yml | 4 +++- .github/workflows/scripts/recordScreenshots.sh | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/recordScreenshots.yml b/.github/workflows/recordScreenshots.yml index ef3630ee39..161e2ade89 100644 --- a/.github/workflows/recordScreenshots.yml +++ b/.github/workflows/recordScreenshots.yml @@ -7,7 +7,8 @@ on: # Enrich gradle.properties for CI/CD env: - GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dsonar.gradle.skipCompile=true --no-configuration-cache + GRADLE_OPTS: -Dorg.gradle.jvmargs=-Xmx9g -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -Dkotlin.daemon.jvm.options=-Xmx4g -Dsonar.gradle.skipCompile=true + CI_GRADLE_ARG_PROPERTIES: --no-configuration-cache jobs: record: @@ -48,3 +49,4 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN || secrets.GITHUB_TOKEN }} GITHUB_REPOSITORY: ${{ secrets.GITHUB_REPOSITORY }} + GRADLE_ARGS: ${{ env.CI_GRADLE_ARG_PROPERTIES }} diff --git a/.github/workflows/scripts/recordScreenshots.sh b/.github/workflows/scripts/recordScreenshots.sh index 5af6d04e38..490eda4493 100755 --- a/.github/workflows/scripts/recordScreenshots.sh +++ b/.github/workflows/scripts/recordScreenshots.sh @@ -51,10 +51,10 @@ if [[ -z ${REPO} ]]; then fi echo "Deleting previous screenshots" -./gradlew removeOldSnapshots --stacktrace --warn +./gradlew removeOldSnapshots --stacktrace --warn $GRADLE_ARGS echo "Record screenshots" -./gradlew recordPaparazziDebug --stacktrace +./gradlew recordPaparazziDebug --stacktrace $GRADLE_ARGS echo "Committing changes" git config http.sslVerify false From 02a173f441596ebd374bb1b2bb6fb2d662e8c0a0 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Fri, 4 Oct 2024 14:05:07 +0000 Subject: [PATCH 073/151] Update screenshots --- ...es.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png | 3 --- ...es.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png | 3 --- ...es.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png | 3 --- ....messages.impl.typing_MessagesViewWithTyping_Night_0_en.png | 3 --- ....messages.impl.typing_MessagesViewWithTyping_Night_1_en.png | 3 --- ....messages.impl.typing_MessagesViewWithTyping_Night_2_en.png | 3 --- 6 files changed, 18 deletions(-) delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png deleted file mode 100644 index b24db82a01..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a3362ec1abcd1847d44fabdd31537666fe08e0999037064237d4b8cc2af653c4 -size 56202 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png deleted file mode 100644 index 0c35f04e3a..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:40b55ace0d2dc9409bbc4f455632697743b0675b6a76892952baae7fabcfc2d7 -size 57043 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png deleted file mode 100644 index 0b868e8904..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4ba8c98bc110958f2503cc3373bc1e383edfbeb89bbda4e240456ecfa9b8db93 -size 53089 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png deleted file mode 100644 index 1219d812cf..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:663e3766f80fcd1bfa0a8c983f365887dd3738a0114c5b3bb1d70abf352c5eb3 -size 56654 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png deleted file mode 100644 index a686834219..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ca3590ef781d41cce91811f796409436beedaa9d62c1f6b325c03300f36f4c6 -size 57480 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png deleted file mode 100644 index af7e08335d..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:387b6a484615c291cf015e2da41ea9c4d70bcfd81f01468aefb6c5a9ad43c0f1 -size 53599 From 93d7fabef17c8febc8799e48ab2bc95d40880d32 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:10:40 +0000 Subject: [PATCH 074/151] fix(deps): update dependency com.google.testparameterinjector:test-parameter-injector to v1.18 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9b4a2d07b0..ff3772002c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -147,7 +147,7 @@ test_mockk = "io.mockk:mockk:1.13.12" test_konsist = "com.lemonappdev:konsist:0.16.1" test_turbine = "app.cash.turbine:turbine:1.1.0" test_truth = "com.google.truth:truth:1.4.4" -test_parameter_injector = "com.google.testparameterinjector:test-parameter-injector:1.17" +test_parameter_injector = "com.google.testparameterinjector:test-parameter-injector:1.18" test_robolectric = "org.robolectric:robolectric:4.13" test_appyx_junit = { module = "com.bumble.appyx:testing-junit4", version.ref = "appyx" } test_composable_preview_scanner = "com.github.sergio-sastre.ComposablePreviewScanner:android:0.1.2" From d371c49fad849665f06166b68d0161993c2e9faf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:49:39 +0000 Subject: [PATCH 075/151] Update wysiwyg to v2.37.13 (#3596) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update wysiwyg to v2.37.13 * Update licenses to include AGPL3 and remove unused ones --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jorge Martín --- app/build.gradle.kts | 3 +-- gradle/libs.versions.toml | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 26ad452dc3..74e8abcad8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -298,14 +298,13 @@ tasks.withType().configureEach { licensee { allow("Apache-2.0") allow("MIT") - allow("GPL-2.0-with-classpath-exception") allow("BSD-2-Clause") allowUrl("https://opensource.org/licenses/MIT") allowUrl("https://developer.android.com/studio/terms.html") - allowUrl("http://openjdk.java.net/legal/gplv2+ce.html") allowUrl("https://www.zetetic.net/sqlcipher/license/") allowUrl("https://jsoup.org/license") allowUrl("https://asm.ow2.io/license.html") + allowUrl("https://www.gnu.org/licenses/agpl-3.0.txt") ignoreDependencies("com.github.matrix-org", "matrix-analytics-events") } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9b4a2d07b0..dbfcc7855e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -45,7 +45,7 @@ serialization_json = "1.6.3" showkase = "1.0.3" appyx = "1.4.0" sqldelight = "2.0.2" -wysiwyg = "2.37.8" +wysiwyg = "2.37.13" telephoto = "0.13.0" # DI From 8720061418171ccf104c66565dc0d6bb90f0ebf5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 14:50:17 +0000 Subject: [PATCH 076/151] fix(deps): update dependency org.maplibre.gl:android-sdk to v11.5.1 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index dbfcc7855e..363aa1b8e1 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -181,7 +181,7 @@ vanniktech_blurhash = "com.vanniktech:blurhash:0.3.0" telephoto_zoomableimage = { module = "me.saket.telephoto:zoomable-image-coil", version.ref = "telephoto" } telephoto_flick = { module = "me.saket.telephoto:flick-android", version.ref = "telephoto" } statemachine = "com.freeletics.flowredux:compose:1.2.2" -maplibre = "org.maplibre.gl:android-sdk:11.5.0" +maplibre = "org.maplibre.gl:android-sdk:11.5.1" maplibre_ktx = "org.maplibre.gl:android-sdk-ktx-v7:3.0.1" maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.1" opusencoder = "io.element.android:opusencoder:1.1.0" From 74aa1ce6952df23997750015563725cd011f8fd5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 4 Oct 2024 16:56:06 +0200 Subject: [PATCH 077/151] Remove supportSlidingSync boolean. Note that this field was not used (read) anymore, so this is just cleaning up the code. --- .../impl/accountprovider/AccountProvider.kt | 1 - .../AccountProviderProvider.kt | 4 +- .../login/impl/resolver/HomeserverData.kt | 2 - .../login/impl/resolver/HomeserverResolver.kt | 5 +-- .../login/impl/resolver/network/WellKnown.kt | 9 ---- .../network/WellKnownSlidingSyncConfig.kt | 17 -------- .../ChangeAccountProviderPresenter.kt | 1 - .../SearchAccountProviderStateProvider.kt | 8 ++-- .../SearchAccountProviderView.kt | 1 - .../ChangeAccountProviderPresenterTest.kt | 1 - .../SearchAccountProviderPresenterTest.kt | 43 +------------------ 11 files changed, 7 insertions(+), 85 deletions(-) delete mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnownSlidingSyncConfig.kt diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProvider.kt index 590bf8761a..e196b72230 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProvider.kt @@ -14,5 +14,4 @@ data class AccountProvider( val isPublic: Boolean = false, val isMatrixOrg: Boolean = false, val isValid: Boolean = false, - val supportSlidingSync: Boolean = false, ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderProvider.kt index e78e6b769e..922b2683d7 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderProvider.kt @@ -15,8 +15,7 @@ open class AccountProviderProvider : PreviewParameterProvider { get() = sequenceOf( anAccountProvider(), anAccountProvider().copy(subtitle = null), - anAccountProvider().copy(subtitle = null, title = "no.sliding.sync", supportSlidingSync = false), - anAccountProvider().copy(subtitle = null, title = "invalid", isValid = false, supportSlidingSync = false), + anAccountProvider().copy(subtitle = null, title = "invalid", isValid = false), anAccountProvider().copy(subtitle = null, title = "Other", isPublic = false, isMatrixOrg = false), // Add other state here ) @@ -28,5 +27,4 @@ fun anAccountProvider() = AccountProvider( isPublic = true, isMatrixOrg = true, isValid = true, - supportSlidingSync = true, ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverData.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverData.kt index cc97a63ed1..b55394d637 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverData.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverData.kt @@ -12,6 +12,4 @@ data class HomeserverData( val homeserverUrl: String, // True if a wellknown file has been found and is valid. If false, it means that the [homeserverUrl] is valid val isWellknownValid: Boolean, - // True if a wellknown file has been found and is valid and is claiming a sliding sync Url - val supportSlidingSync: Boolean, ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverResolver.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverResolver.kt index da05661ee3..3295962355 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverResolver.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/HomeserverResolver.kt @@ -29,7 +29,7 @@ class HomeserverResolver @Inject constructor( private val dispatchers: CoroutineDispatchers, private val wellknownRequest: WellknownRequest, ) { - suspend fun resolve(userInput: String): Flow> = flow { + fun resolve(userInput: String): Flow> = flow { val flowContext = currentCoroutineContext() val trimmedUserInput = userInput.trim() if (trimmedUserInput.length < 4) return@flow @@ -46,13 +46,11 @@ class HomeserverResolver @Inject constructor( } val isValid = wellKnown?.isValid().orFalse() if (isValid) { - val supportSlidingSync = wellKnown?.supportSlidingSync().orFalse() // Emit the list as soon as possible currentList.add( HomeserverData( homeserverUrl = url, isWellknownValid = true, - supportSlidingSync = supportSlidingSync ) ) withContext(flowContext) { @@ -68,7 +66,6 @@ class HomeserverResolver @Inject constructor( HomeserverData( homeserverUrl = trimmedUserInput, isWellknownValid = false, - supportSlidingSync = false, ) ) ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnown.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnown.kt index a3fd4c0d28..3111d774fc 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnown.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnown.kt @@ -21,9 +21,6 @@ import kotlinx.serialization.Serializable * "m.identity_server": { * "base_url": "https://vector.im" * }, - * "org.matrix.msc3575.proxy": { - * "url": "https://slidingsync.lab.matrix.org" - * } * } * * . @@ -34,14 +31,8 @@ data class WellKnown( val homeServer: WellKnownBaseConfig? = null, @SerialName("m.identity_server") val identityServer: WellKnownBaseConfig? = null, - @SerialName("org.matrix.msc3575.proxy") - val slidingSyncProxy: WellKnownSlidingSyncConfig? = null, ) { fun isValid(): Boolean { return homeServer?.baseURL?.isNotBlank().orFalse() } - - fun supportSlidingSync(): Boolean { - return slidingSyncProxy?.url?.isNotBlank().orFalse() - } } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnownSlidingSyncConfig.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnownSlidingSyncConfig.kt deleted file mode 100644 index fa16c8de81..0000000000 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/resolver/network/WellKnownSlidingSyncConfig.kt +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright 2023, 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.login.impl.resolver.network - -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable - -@Serializable -data class WellKnownSlidingSyncConfig( - @SerialName("url") - val url: String? = null, -) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt index 1288056a7b..83f0a4f1b3 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt @@ -29,7 +29,6 @@ class ChangeAccountProviderPresenter @Inject constructor( isPublic = true, isMatrixOrg = true, isValid = true, - supportSlidingSync = true, ) ), changeServerState = changeServerState, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderStateProvider.kt index 0c55251994..cf6c4715dc 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderStateProvider.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderStateProvider.kt @@ -34,20 +34,18 @@ fun aSearchAccountProviderState( fun aHomeserverDataList(): List { return listOf( - aHomeserverData(isWellknownValid = true, supportSlidingSync = true), - aHomeserverData(homeserverUrl = "https://no.sliding.sync", isWellknownValid = true, supportSlidingSync = false), - aHomeserverData(homeserverUrl = "https://invalid", isWellknownValid = false, supportSlidingSync = false), + aHomeserverData(isWellknownValid = true), + aHomeserverData(homeserverUrl = "https://no.sliding.sync", isWellknownValid = true), + aHomeserverData(homeserverUrl = "https://invalid", isWellknownValid = false), ) } fun aHomeserverData( homeserverUrl: String = AuthenticationConfig.MATRIX_ORG_URL, isWellknownValid: Boolean = true, - supportSlidingSync: Boolean = true, ): HomeserverData { return HomeserverData( homeserverUrl = homeserverUrl, isWellknownValid = isWellknownValid, - supportSlidingSync = supportSlidingSync, ) } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt index 717dd57618..fc75b07a71 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderView.kt @@ -196,7 +196,6 @@ private fun HomeserverData.toAccountProvider(): AccountProvider { isPublic = isMatrixOrg, isMatrixOrg = isMatrixOrg, isValid = isWellknownValid, - supportSlidingSync = supportSlidingSync, ) } diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt index 468049b0d2..bd653bbfae 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt @@ -46,7 +46,6 @@ class ChangeAccountProviderPresenterTest { isPublic = true, isMatrixOrg = true, isValid = true, - supportSlidingSync = true, ) ) ) diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt index b1723b6cf2..a7529643ba 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt @@ -17,7 +17,6 @@ import io.element.android.features.login.impl.resolver.HomeserverResolver import io.element.android.features.login.impl.resolver.network.FakeWellknownRequest import io.element.android.features.login.impl.resolver.network.WellKnown import io.element.android.features.login.impl.resolver.network.WellKnownBaseConfig -import io.element.android.features.login.impl.resolver.network.WellKnownSlidingSyncConfig import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.test.A_HOMESERVER_URL import io.element.android.libraries.matrix.test.auth.FakeMatrixAuthenticationService @@ -98,7 +97,7 @@ class SearchAccountProviderPresenterTest { assertThat(awaitItem().userInputResult).isEqualTo( AsyncData.Success( listOf( - aHomeserverData(homeserverUrl = "https://test.org", isWellknownValid = false, supportSlidingSync = false) + aHomeserverData(homeserverUrl = "https://test.org", isWellknownValid = false) ) ) ) @@ -106,42 +105,7 @@ class SearchAccountProviderPresenterTest { } @Test - fun `present - enter text one result no sliding sync`() = runTest { - val fakeWellknownRequest = FakeWellknownRequest() - fakeWellknownRequest.givenResultMap( - mapOf( - "https://test.org" to aWellKnown().copy(slidingSyncProxy = null), - ) - ) - val changeServerPresenter = ChangeServerPresenter( - FakeMatrixAuthenticationService(), - AccountProviderDataSource() - ) - val presenter = SearchAccountProviderPresenter( - HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest), - changeServerPresenter - ) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { - val initialState = awaitItem() - initialState.eventSink.invoke(SearchAccountProviderEvents.UserInput("test")) - val withInputState = awaitItem() - assertThat(withInputState.userInput).isEqualTo("test") - assertThat(initialState.userInputResult).isEqualTo(AsyncData.Uninitialized) - assertThat(awaitItem().userInputResult).isInstanceOf(AsyncData.Loading::class.java) - assertThat(awaitItem().userInputResult).isEqualTo( - AsyncData.Success( - listOf( - aHomeserverData(homeserverUrl = "https://test.org", isWellknownValid = true, supportSlidingSync = false) - ) - ) - ) - } - } - - @Test - fun `present - enter text one result with sliding sync`() = runTest { + fun `present - enter text one result with wellknown`() = runTest { val fakeWellknownRequest = FakeWellknownRequest() fakeWellknownRequest.givenResultMap( mapOf( @@ -183,9 +147,6 @@ class SearchAccountProviderPresenterTest { identityServer = WellKnownBaseConfig( baseURL = A_HOMESERVER_URL ), - slidingSyncProxy = WellKnownSlidingSyncConfig( - url = A_HOMESERVER_URL - ) ) } } From 98d9abecd9efcd1e303b957a446b0fa7f17802f5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 4 Oct 2024 16:58:19 +0200 Subject: [PATCH 078/151] fix(deps): update dependency io.nlopez.compose.rules:detekt to v0.4.15 (#3595) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update dependency io.nlopez.compose.rules:detekt to v0.4.15 * Fix new detekt issues * Fix KtLint --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jorge Martín --- build.gradle.kts | 2 +- .../android/features/ftue/impl/welcome/WelcomeView.kt | 2 +- .../features/location/api/internal/StaticMapPlaceholder.kt | 2 +- .../login/impl/accountprovider/AccountProviderView.kt | 2 +- .../messages/impl/ExpandableBottomSheetScaffold.kt | 2 ++ .../element/android/features/messages/impl/MessagesView.kt | 2 +- .../messages/impl/pinned/list/PinnedMessagesListView.kt | 2 +- .../impl/timeline/components/TimelineItemEventRow.kt | 3 +++ .../designsystem/atomic/pages/HeaderFooterPage.kt | 7 +++++++ .../designsystem/components/async/AsyncActionView.kt | 1 + 10 files changed, 19 insertions(+), 6 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 9c90da30ce..01a1c7164c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -48,7 +48,7 @@ allprojects { config.from(files("$rootDir/tools/detekt/detekt.yml")) } dependencies { - detektPlugins("io.nlopez.compose.rules:detekt:0.4.12") + detektPlugins("io.nlopez.compose.rules:detekt:0.4.15") } // KtLint diff --git a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/welcome/WelcomeView.kt b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/welcome/WelcomeView.kt index e9d6e7ae1e..e93a4e7145 100644 --- a/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/welcome/WelcomeView.kt +++ b/features/ftue/impl/src/main/kotlin/io/element/android/features/ftue/impl/welcome/WelcomeView.kt @@ -42,8 +42,8 @@ import kotlinx.collections.immutable.persistentListOf @Composable fun WelcomeView( applicationName: String, - modifier: Modifier = Modifier, onContinueClick: () -> Unit, + modifier: Modifier = Modifier, ) { BackHandler(onBack = onContinueClick) OnBoardingPage( diff --git a/features/location/api/src/main/kotlin/io/element/android/features/location/api/internal/StaticMapPlaceholder.kt b/features/location/api/src/main/kotlin/io/element/android/features/location/api/internal/StaticMapPlaceholder.kt index 4d5c853a3c..8a7a734c2d 100644 --- a/features/location/api/src/main/kotlin/io/element/android/features/location/api/internal/StaticMapPlaceholder.kt +++ b/features/location/api/src/main/kotlin/io/element/android/features/location/api/internal/StaticMapPlaceholder.kt @@ -38,8 +38,8 @@ internal fun StaticMapPlaceholder( contentDescription: String?, width: Dp, height: Dp, - modifier: Modifier = Modifier, onLoadMapClick: () -> Unit, + modifier: Modifier = Modifier, ) { Box( contentAlignment = Alignment.Center, diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderView.kt index 25e52de2fd..e13a5b736f 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/accountprovider/AccountProviderView.kt @@ -38,8 +38,8 @@ import io.element.android.libraries.designsystem.theme.components.Text @Composable fun AccountProviderView( item: AccountProvider, - modifier: Modifier = Modifier, onClick: () -> Unit, + modifier: Modifier = Modifier, ) { Column( modifier = modifier diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/ExpandableBottomSheetScaffold.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/ExpandableBottomSheetScaffold.kt index df7c4a60f1..5d9214900a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/ExpandableBottomSheetScaffold.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/ExpandableBottomSheetScaffold.kt @@ -58,6 +58,8 @@ import kotlin.math.roundToInt @Composable internal fun ExpandableBottomSheetScaffold( content: @Composable (padding: PaddingValues) -> Unit, + // False positive, it's not being reused + @Suppress("ContentSlotReused") sheetContent: @Composable (subcomposing: Boolean) -> Unit, sheetDragHandle: @Composable () -> Unit, sheetSwipeEnabled: Boolean, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt index 25ecbcc758..067d0da87b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt @@ -319,8 +319,8 @@ private fun MessagesViewContent( onJoinCallClick: () -> Unit, onViewAllPinnedMessagesClick: () -> Unit, forceJumpToBottomVisibility: Boolean, - modifier: Modifier = Modifier, onSwipeToReply: (TimelineItem.Event) -> Unit, + modifier: Modifier = Modifier, ) { Box( modifier = modifier diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt index 7c1e6a724b..ad62ad616a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt @@ -239,8 +239,8 @@ private fun PinnedMessagesListLoaded( private fun TimelineItemEventContentViewWrapper( event: TimelineItem.Event, onLinkClick: (String) -> Unit, - modifier: Modifier = Modifier, onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit, + modifier: Modifier = Modifier, ) { if (event.content is TimelineItemPollContent) { PollTitleView( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt index 85af8ff6e9..5a5fd6d470 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt @@ -28,6 +28,7 @@ import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.movableContentOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment @@ -455,6 +456,8 @@ private fun MessageEventBubbleContent( canShrinkContent: Boolean = false, content: @Composable (onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit) -> Unit, ) { + @Suppress("NAME_SHADOWING") + val content = remember { movableContentOf(content) } when (timestampPosition) { TimestampPosition.Overlay -> Box(modifier, contentAlignment = Alignment.Center) { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/pages/HeaderFooterPage.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/pages/HeaderFooterPage.kt index e51c2ec761..25adde1cbc 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/pages/HeaderFooterPage.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/pages/HeaderFooterPage.kt @@ -18,6 +18,8 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.runtime.movableContentOf +import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -39,6 +41,7 @@ import io.element.android.libraries.designsystem.theme.components.Text * @param footer optional footer. * @param content main content. */ +@Suppress("NAME_SHADOWING") @Composable fun HeaderFooterPage( modifier: Modifier = Modifier, @@ -51,6 +54,10 @@ fun HeaderFooterPage( footer: @Composable () -> Unit = {}, content: @Composable () -> Unit = {}, ) { + val topBar = remember { movableContentOf(topBar) } + val header = remember { movableContentOf(header) } + val footer = remember { movableContentOf(footer) } + val content = remember { movableContentOf(content) } Scaffold( modifier = modifier, topBar = topBar, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt index 6e42909f0b..be3e2ef7d8 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/async/AsyncActionView.kt @@ -28,6 +28,7 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight * closed, [onErrorDismiss] will be invoked. If [onRetry] is not null, a retry button will be displayed. * - When loading, display a loading dialog using [progressDialog]. Pass empty lambda to disable. */ +@Suppress("ContentSlotReused") // False positive, the lambdas don't add composable views @Composable fun AsyncActionView( async: AsyncAction, From dd2a1b3388e558b38c83e8a5de992dc729040e2b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 2 Oct 2024 19:47:44 +0200 Subject: [PATCH 079/151] Add settings to hide images and videos in the timeline. Hide images, videos and stickers in the timeline. Disable click on hidden content. It must be revealed first. Add preview without BlurHash. Also hide image in thumbnails. --- .../messages/impl/MessagesPresenter.kt | 20 ++- .../features/messages/impl/MessagesState.kt | 2 + .../messages/impl/MessagesStateProvider.kt | 4 + .../features/messages/impl/MessagesView.kt | 1 + .../MessageComposerPresenter.kt | 14 +- .../list/PinnedMessagesListPresenter.kt | 9 +- .../pinned/list/PinnedMessagesListState.kt | 2 + .../list/PinnedMessagesListStateProvider.kt | 4 + .../pinned/list/PinnedMessagesListView.kt | 11 +- .../impl/timeline/TimelinePresenter.kt | 2 +- .../messages/impl/timeline/TimelineView.kt | 5 + .../TimelineViewMessageShieldPreview.kt | 2 + .../components/ATimelineItemEventRow.kt | 4 + .../components/TimelineItemEventRow.kt | 16 +- .../TimelineItemGroupedEventsRow.kt | 13 ++ .../timeline/components/TimelineItemRow.kt | 14 +- .../components/TimelineItemStateEventRow.kt | 2 + .../event/TimelineItemAspectRatioBox.kt | 4 +- .../event/TimelineItemEventContentView.kt | 8 + .../components/event/TimelineItemImageView.kt | 58 +++++-- .../event/TimelineItemStickerView.kt | 72 ++++++-- .../components/event/TimelineItemVideoView.kt | 76 ++++++--- .../event/TimelineItemImageContentProvider.kt | 14 +- .../TimelineItemStickerContentProvider.kt | 14 +- .../event/TimelineItemVideoContentProvider.kt | 14 +- .../impl/timeline/protection/ProtectedView.kt | 33 ++++ .../impl/timeline/protection/TimelineItem.kt | 60 +++++++ .../protection/TimelineProtectionEvent.kt | 14 ++ .../protection/TimelineProtectionPresenter.kt | 53 ++++++ .../protection/TimelineProtectionState.kt | 28 ++++ .../TimelineProtectionStateProvider.kt | 16 ++ .../impl/developer/DeveloperSettingsEvents.kt | 1 + .../developer/DeveloperSettingsPresenter.kt | 7 + .../impl/developer/DeveloperSettingsState.kt | 1 + .../DeveloperSettingsStateProvider.kt | 2 + .../impl/developer/DeveloperSettingsView.kt | 19 ++- .../DeveloperSettingsPresenterTest.kt | 19 +++ .../developer/DeveloperSettingsViewTest.kt | 13 ++ .../ui/components/AttachmentThumbnail.kt | 2 +- .../ui/messages/reply/InReplyToMetadata.kt | 10 +- .../matrix/ui/messages/reply/InReplyToView.kt | 8 +- .../messages/reply/InReplyToMetadataKtTest.kt | 155 ++++++++++++++++-- .../api/store/AppPreferencesStore.kt | 3 + .../impl/store/DefaultAppPreferencesStore.kt | 13 ++ .../test/InMemoryAppPreferencesStore.kt | 10 ++ .../textcomposer/ComposerModeView.kt | 8 +- .../libraries/textcomposer/TextComposer.kt | 52 +++--- .../textcomposer/model/MessageComposerMode.kt | 3 +- 48 files changed, 775 insertions(+), 140 deletions(-) create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineItem.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionEvent.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenter.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionState.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateProvider.kt diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt index b0029fe4ee..274e94617d 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt @@ -46,6 +46,8 @@ import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.TimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStateContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextBasedContent +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPresenter import io.element.android.features.networkmonitor.api.NetworkMonitor import io.element.android.features.networkmonitor.api.NetworkStatus @@ -90,6 +92,7 @@ class MessagesPresenter @AssistedInject constructor( private val composerPresenter: MessageComposerPresenter, private val voiceMessageComposerPresenter: VoiceMessageComposerPresenter, timelinePresenterFactory: TimelinePresenter.Factory, + private val timelineProtectionPresenter: TimelineProtectionPresenter, private val actionListPresenterFactory: ActionListPresenter.Factory, private val customReactionPresenter: CustomReactionPresenter, private val reactionSummaryPresenter: ReactionSummaryPresenter, @@ -123,6 +126,7 @@ class MessagesPresenter @AssistedInject constructor( val composerState = composerPresenter.present() val voiceMessageComposerState = voiceMessageComposerPresenter.present() val timelineState = timelinePresenter.present() + val timelineProtectionState = timelineProtectionPresenter.present() val actionListState = actionListPresenter.present() val customReactionState = customReactionPresenter.present() val reactionSummaryState = reactionSummaryPresenter.present() @@ -182,6 +186,7 @@ class MessagesPresenter @AssistedInject constructor( composerState = composerState, enableTextFormatting = composerState.showTextFormatting, timelineState = timelineState, + timelineProtectionState = timelineProtectionState, ) } is MessagesEvents.ToggleReaction -> { @@ -213,6 +218,7 @@ class MessagesPresenter @AssistedInject constructor( userEventPermissions = userEventPermissions, voiceMessageComposerState = voiceMessageComposerState, timelineState = timelineState, + timelineProtectionState = timelineProtectionState, actionListState = actionListState, customReactionState = customReactionState, reactionSummaryState = reactionSummaryState, @@ -262,6 +268,7 @@ class MessagesPresenter @AssistedInject constructor( action: TimelineItemAction, targetEvent: TimelineItem.Event, composerState: MessageComposerState, + timelineProtectionState: TimelineProtectionState, enableTextFormatting: Boolean, timelineState: TimelineState, ) = launch { @@ -271,7 +278,7 @@ class MessagesPresenter @AssistedInject constructor( TimelineItemAction.Redact -> handleActionRedact(targetEvent) TimelineItemAction.Edit -> handleActionEdit(targetEvent, composerState, enableTextFormatting) TimelineItemAction.Reply, - TimelineItemAction.ReplyInThread -> handleActionReply(targetEvent, composerState) + TimelineItemAction.ReplyInThread -> handleActionReply(targetEvent, composerState, timelineProtectionState) TimelineItemAction.ViewSource -> handleShowDebugInfoAction(targetEvent) TimelineItemAction.Forward -> handleForwardAction(targetEvent) TimelineItemAction.ReportContent -> handleReportAction(targetEvent) @@ -385,11 +392,18 @@ class MessagesPresenter @AssistedInject constructor( } } - private suspend fun handleActionReply(targetEvent: TimelineItem.Event, composerState: MessageComposerState) { + private suspend fun handleActionReply( + targetEvent: TimelineItem.Event, + composerState: MessageComposerState, + timelineProtectionState: TimelineProtectionState, + ) { if (targetEvent.eventId == null) return timelineController.invokeOnCurrentTimeline { val replyToDetails = loadReplyDetails(targetEvent.eventId).map(permalinkParser) - val composerMode = MessageComposerMode.Reply(replyToDetails = replyToDetails) + val composerMode = MessageComposerMode.Reply( + replyToDetails = replyToDetails, + hideImage = timelineProtectionState.hideContent(targetEvent.eventId), + ) composerState.eventSink( MessageComposerEvents.SetMode(composerMode) ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt index 2c5bae6d3b..2e03cbdb9d 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt @@ -15,6 +15,7 @@ import io.element.android.features.messages.impl.timeline.TimelineState import io.element.android.features.messages.impl.timeline.components.customreaction.CustomReactionState import io.element.android.features.messages.impl.timeline.components.reactionsummary.ReactionSummaryState import io.element.android.features.messages.impl.timeline.components.receipt.bottomsheet.ReadReceiptBottomSheetState +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerState import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.designsystem.components.avatar.AvatarData @@ -32,6 +33,7 @@ data class MessagesState( val composerState: MessageComposerState, val voiceMessageComposerState: VoiceMessageComposerState, val timelineState: TimelineState, + val timelineProtectionState: TimelineProtectionState, val actionListState: ActionListState, val customReactionState: CustomReactionState, val reactionSummaryState: ReactionSummaryState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt index 2c1a487440..985471c641 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt @@ -26,6 +26,8 @@ import io.element.android.features.messages.impl.timeline.components.receipt.bot import io.element.android.features.messages.impl.timeline.components.receipt.bottomsheet.ReadReceiptBottomSheetState import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState +import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerState import io.element.android.features.messages.impl.voicemessages.composer.aVoiceMessageComposerState import io.element.android.features.messages.impl.voicemessages.composer.aVoiceMessagePreviewState @@ -103,6 +105,7 @@ fun aMessagesState( // Render a focused event for an event with sender information displayed focusedEventIndex = 2, ), + timelineProtectionState: TimelineProtectionState = aTimelineProtectionState(), readReceiptBottomSheetState: ReadReceiptBottomSheetState = aReadReceiptBottomSheetState(), actionListState: ActionListState = anActionListState(), customReactionState: CustomReactionState = aCustomReactionState(), @@ -121,6 +124,7 @@ fun aMessagesState( userEventPermissions = userEventPermissions, composerState = composerState, voiceMessageComposerState = voiceMessageComposerState, + timelineProtectionState = timelineProtectionState, timelineState = timelineState, readReceiptBottomSheetState = readReceiptBottomSheetState, actionListState = actionListState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt index 067d0da87b..36bf0bc5fb 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt @@ -379,6 +379,7 @@ private fun MessagesViewContent( val scrollBehavior = PinnedMessagesBannerViewDefaults.rememberExitOnScrollBehavior() TimelineView( state = state.timelineState, + timelineProtectionState = state.timelineProtectionState, onUserDataClick = onUserDataClick, onLinkClick = onLinkClick, onMessageClick = onMessageClick, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt index aabeaa96a0..6b80605401 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt @@ -585,10 +585,20 @@ class MessageComposerPresenter @Inject constructor( content = htmlText ?: markdownText ) is ComposerDraftType.Reply -> { - messageComposerContext.composerMode = MessageComposerMode.Reply(InReplyToDetails.Loading(draftType.eventId)) + messageComposerContext.composerMode = MessageComposerMode.Reply( + replyToDetails = InReplyToDetails.Loading(draftType.eventId), + // I guess it's fine to always render the image when restoring a draft + hideImage = false + ) timelineController.invokeOnCurrentTimeline { val replyToDetails = loadReplyDetails(draftType.eventId).map(permalinkParser) - run { messageComposerContext.composerMode = MessageComposerMode.Reply(replyToDetails) } + run { + messageComposerContext.composerMode = MessageComposerMode.Reply( + replyToDetails = replyToDetails, + // I guess it's fine to always render the image when restoring a draft + hideImage = false + ) + } } } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt index 1e557f84bd..7452e7b01a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt @@ -30,6 +30,8 @@ import io.element.android.features.messages.impl.timeline.TimelineRoomInfo import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactoryConfig import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState import io.element.android.features.messages.impl.typing.TypingNotificationState import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.Presenter @@ -60,6 +62,7 @@ class PinnedMessagesListPresenter @AssistedInject constructor( private val room: MatrixRoom, timelineItemsFactoryCreator: TimelineItemsFactory.Creator, private val timelineProvider: PinnedEventsTimelineProvider, + private val timelineProtectionPresenter: TimelineProtectionPresenter, private val snackbarDispatcher: SnackbarDispatcher, actionListPresenterFactory: ActionListPresenter.Factory, private val appCoroutineScope: CoroutineScope, @@ -97,14 +100,13 @@ class PinnedMessagesListPresenter @AssistedInject constructor( ) ) } - + val timelineProtectionState = timelineProtectionPresenter.present() val syncUpdateFlow = room.syncUpdateFlow.collectAsState() val userEventPermissions by userEventPermissions(syncUpdateFlow.value) var pinnedMessageItems by remember { mutableStateOf>>(AsyncData.Uninitialized) } - PinnedMessagesListEffect( onItemsChange = { newItems -> pinnedMessageItems = newItems @@ -119,6 +121,7 @@ class PinnedMessagesListPresenter @AssistedInject constructor( return pinnedMessagesListState( timelineRoomInfo = timelineRoomInfo, + timelineProtectionState = timelineProtectionState, userEventPermissions = userEventPermissions, timelineItems = pinnedMessageItems, eventSink = ::handleEvents @@ -214,6 +217,7 @@ class PinnedMessagesListPresenter @AssistedInject constructor( @Composable private fun pinnedMessagesListState( timelineRoomInfo: TimelineRoomInfo, + timelineProtectionState: TimelineProtectionState, userEventPermissions: UserEventPermissions, timelineItems: AsyncData>, eventSink: (PinnedMessagesListEvents) -> Unit @@ -228,6 +232,7 @@ class PinnedMessagesListPresenter @AssistedInject constructor( val actionListState = actionListPresenter.present() PinnedMessagesListState.Filled( timelineRoomInfo = timelineRoomInfo, + timelineProtectionState = timelineProtectionState, userEventPermissions = userEventPermissions, timelineItems = timelineItems.data, actionListState = actionListState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListState.kt index 82105a2e35..3a15c9f8bc 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListState.kt @@ -15,6 +15,7 @@ import io.element.android.features.messages.impl.UserEventPermissions import io.element.android.features.messages.impl.actionlist.ActionListState import io.element.android.features.messages.impl.timeline.TimelineRoomInfo import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState import io.element.android.libraries.ui.strings.CommonPlurals import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.collections.immutable.ImmutableList @@ -26,6 +27,7 @@ sealed interface PinnedMessagesListState { data object Empty : PinnedMessagesListState data class Filled( val timelineRoomInfo: TimelineRoomInfo, + val timelineProtectionState: TimelineProtectionState, val userEventPermissions: UserEventPermissions, val timelineItems: ImmutableList, val actionListState: ActionListState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListStateProvider.kt index d394b6efad..bd51652cb4 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListStateProvider.kt @@ -22,6 +22,8 @@ import io.element.android.features.messages.impl.timeline.model.event.aTimelineI import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemFileContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState +import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList @@ -83,12 +85,14 @@ fun anEmptyPinnedMessagesListState() = PinnedMessagesListState.Empty fun aLoadedPinnedMessagesListState( timelineRoomInfo: TimelineRoomInfo = aTimelineRoomInfo(), + timelineProtectionState: TimelineProtectionState = aTimelineProtectionState(), timelineItems: List = emptyList(), actionListState: ActionListState = anActionListState(), aUserEventPermissions: UserEventPermissions = UserEventPermissions.DEFAULT, eventSink: (PinnedMessagesListEvents) -> Unit = {} ) = PinnedMessagesListState.Filled( timelineRoomInfo = timelineRoomInfo, + timelineProtectionState = timelineProtectionState, timelineItems = timelineItems.toImmutableList(), actionListState = actionListState, userEventPermissions = aUserEventPermissions, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt index ad62ad616a..fc561d57e9 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt @@ -32,6 +32,8 @@ import io.element.android.features.messages.impl.timeline.components.event.Timel import io.element.android.features.messages.impl.timeline.components.layout.ContentAvoidingLayoutData import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.TimelineItemPollContent +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionEvent +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState import io.element.android.features.poll.api.pollcontent.PollTitleView import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule import io.element.android.libraries.designsystem.components.button.BackButton @@ -77,8 +79,8 @@ fun PinnedMessagesListView( onLinkClick = onLinkClick, onErrorDismiss = onBackClick, modifier = Modifier - .padding(padding) - .consumeWindowInsets(padding), + .padding(padding) + .consumeWindowInsets(padding), ) } ) @@ -208,6 +210,7 @@ private fun PinnedMessagesListLoaded( timelineItem = timelineItem, timelineRoomInfo = state.timelineRoomInfo, renderReadReceipts = false, + timelineProtectionState = state.timelineProtectionState, isLastOutgoingMessage = false, focusedEventId = null, onUserDataClick = onUserDataClick, @@ -225,6 +228,7 @@ private fun PinnedMessagesListLoaded( eventContentView = { event, contentModifier, onContentLayoutChange -> TimelineItemEventContentViewWrapper( event = event, + timelineProtectionState = state.timelineProtectionState, onLinkClick = onLinkClick, modifier = contentModifier, onContentLayoutChange = onContentLayoutChange @@ -238,6 +242,7 @@ private fun PinnedMessagesListLoaded( @Composable private fun TimelineItemEventContentViewWrapper( event: TimelineItem.Event, + timelineProtectionState: TimelineProtectionState, onLinkClick: (String) -> Unit, onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit, modifier: Modifier = Modifier, @@ -251,6 +256,8 @@ private fun TimelineItemEventContentViewWrapper( } else { TimelineItemEventContentView( content = event.content, + hideContent = timelineProtectionState.hideContent(event.eventId), + onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onLinkClick = onLinkClick, eventSink = { }, modifier = modifier, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt index 819f7a1f3a..b40e24b88a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt @@ -243,8 +243,8 @@ class TimelinePresenter @AssistedInject constructor( } } return TimelineState( - timelineRoomInfo = timelineRoomInfo, timelineItems = timelineItems, + timelineRoomInfo = timelineRoomInfo, renderReadReceipts = renderReadReceipts, newEventState = newEventState.value, isLive = isLive, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt index 0781cc3ece..63a913284d 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt @@ -57,6 +57,8 @@ import io.element.android.features.messages.impl.timeline.model.NewEventState import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEventContentProvider +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState +import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState import io.element.android.libraries.designsystem.components.dialogs.AlertDialog import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight @@ -72,6 +74,7 @@ import kotlinx.coroutines.launch @Composable fun TimelineView( state: TimelineState, + timelineProtectionState: TimelineProtectionState, onUserDataClick: (UserId) -> Unit, onLinkClick: (String) -> Unit, onMessageClick: (TimelineItem.Event) -> Unit, @@ -137,6 +140,7 @@ fun TimelineView( TimelineItemRow( timelineItem = timelineItem, timelineRoomInfo = state.timelineRoomInfo, + timelineProtectionState = timelineProtectionState, renderReadReceipts = state.renderReadReceipts, isLastOutgoingMessage = state.isLastOutgoingMessage(timelineItem.identifier()), focusedEventId = state.focusedEventId, @@ -320,6 +324,7 @@ internal fun TimelineViewPreview( ), focusedEventIndex = 0, ), + timelineProtectionState = aTimelineProtectionState(), onUserDataClick = {}, onLinkClick = {}, onMessageClick = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt index 4566bf88bc..806a81b7fe 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewMessageShieldPreview.kt @@ -14,6 +14,7 @@ import io.element.android.features.messages.impl.timeline.di.LocalTimelineItemPr import io.element.android.features.messages.impl.timeline.di.aFakeTimelineItemPresenterFactories import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent +import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import kotlinx.collections.immutable.toImmutableList @@ -35,6 +36,7 @@ internal fun TimelineViewMessageShieldPreview() = ElementPreview { timelineItems = items.toImmutableList(), messageShield = messageShield, ), + timelineProtectionState = aTimelineProtectionState(), onUserDataClick = {}, onLinkClick = {}, onMessageClick = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ATimelineItemEventRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ATimelineItemEventRow.kt index 0db7a8ac52..1fa5e7f9a1 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ATimelineItemEventRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ATimelineItemEventRow.kt @@ -11,6 +11,8 @@ import androidx.compose.runtime.Composable import io.element.android.features.messages.impl.timeline.TimelineRoomInfo import io.element.android.features.messages.impl.timeline.aTimelineRoomInfo import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState +import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState // For previews @Composable @@ -20,10 +22,12 @@ internal fun ATimelineItemEventRow( renderReadReceipts: Boolean = false, isLastOutgoingMessage: Boolean = false, isHighlighted: Boolean = false, + timelineProtectionState: TimelineProtectionState = aTimelineProtectionState(), ) = TimelineItemEventRow( event = event, timelineRoomInfo = timelineRoomInfo, renderReadReceipts = renderReadReceipts, + timelineProtectionState = timelineProtectionState, isLastOutgoingMessage = isLastOutgoingMessage, isHighlighted = isHighlighted, onClick = {}, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt index 5a5fd6d470..bc710aeb92 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt @@ -70,6 +70,8 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVoiceContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemImageContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionEvent +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState import io.element.android.libraries.designsystem.colors.AvatarColorsProvider import io.element.android.libraries.designsystem.components.EqualWidthColumn import io.element.android.libraries.designsystem.components.avatar.Avatar @@ -108,6 +110,7 @@ private val BUBBLE_INCOMING_OFFSET = 16.dp fun TimelineItemEventRow( event: TimelineItem.Event, timelineRoomInfo: TimelineRoomInfo, + timelineProtectionState: TimelineProtectionState, renderReadReceipts: Boolean, isLastOutgoingMessage: Boolean, isHighlighted: Boolean, @@ -126,6 +129,8 @@ fun TimelineItemEventRow( eventContentView: @Composable (Modifier, (ContentAvoidingLayoutData) -> Unit) -> Unit = { contentModifier, onContentLayoutChange -> TimelineItemEventContentView( content = event.content, + hideContent = timelineProtectionState.hideContent(event.eventId), + onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onLinkClick = onLinkClick, eventSink = eventSink, modifier = contentModifier, @@ -164,6 +169,7 @@ fun TimelineItemEventRow( } TimelineItemEventRowContent( event = event, + timelineProtectionState = timelineProtectionState, isHighlighted = isHighlighted, timelineRoomInfo = timelineRoomInfo, interactionSource = interactionSource, @@ -197,6 +203,7 @@ fun TimelineItemEventRow( } else { TimelineItemEventRowContent( event = event, + timelineProtectionState = timelineProtectionState, isHighlighted = isHighlighted, timelineRoomInfo = timelineRoomInfo, interactionSource = interactionSource, @@ -252,6 +259,7 @@ private fun SwipeSensitivity( @Composable private fun TimelineItemEventRowContent( event: TimelineItem.Event, + timelineProtectionState: TimelineProtectionState, isHighlighted: Boolean, timelineRoomInfo: TimelineRoomInfo, interactionSource: MutableInteractionSource, @@ -330,6 +338,7 @@ private fun TimelineItemEventRowContent( ) { MessageEventBubbleContent( event = event, + timelineProtectionState = timelineProtectionState, onMessageLongClick = onLongClick, inReplyToClick = inReplyToClick, eventSink = eventSink, @@ -411,6 +420,7 @@ private fun MessageSenderInformation( @Composable private fun MessageEventBubbleContent( event: TimelineItem.Event, + timelineProtectionState: TimelineProtectionState, onMessageLongClick: () -> Unit, inReplyToClick: () -> Unit, eventSink: (TimelineEvents.EventFromTimelineItem) -> Unit, @@ -560,7 +570,11 @@ private fun MessageEventBubbleContent( .clip(RoundedCornerShape(6.dp)) // FIXME when a node is clickable, its contents won't be added to the semantics tree of its parent .clickable(onClick = inReplyToClick) - InReplyToView(inReplyTo, modifier = inReplyToModifier) + InReplyToView( + inReplyTo = inReplyTo, + hideImage = timelineProtectionState.hideContent(inReplyTo.eventId()), + modifier = inReplyToModifier, + ) } if (inReplyToDetails != null) { // Use SubComposeLayout only if necessary as it can have consequences on the performance. diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt index 75f1ccc02c..eec5adcb4e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt @@ -25,6 +25,9 @@ import io.element.android.features.messages.impl.timeline.components.layout.Cont import io.element.android.features.messages.impl.timeline.components.receipt.ReadReceiptViewState import io.element.android.features.messages.impl.timeline.components.receipt.TimelineItemReadReceiptView import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionEvent +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState +import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.api.core.EventId @@ -34,6 +37,7 @@ import io.element.android.libraries.matrix.api.core.UserId fun TimelineItemGroupedEventsRow( timelineItem: TimelineItem.GroupedEvents, timelineRoomInfo: TimelineRoomInfo, + timelineProtectionState: TimelineProtectionState, renderReadReceipts: Boolean, isLastOutgoingMessage: Boolean, focusedEventId: EventId?, @@ -52,6 +56,8 @@ fun TimelineItemGroupedEventsRow( { event, contentModifier, onContentLayoutChange -> TimelineItemEventContentView( content = event.content, + hideContent = timelineProtectionState.hideContent(event.eventId), + onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onLinkClick = onLinkClick, eventSink = eventSink, modifier = contentModifier, @@ -70,6 +76,7 @@ fun TimelineItemGroupedEventsRow( onExpandGroupClick = ::onExpandGroupClick, timelineItem = timelineItem, timelineRoomInfo = timelineRoomInfo, + timelineProtectionState = timelineProtectionState, focusedEventId = focusedEventId, renderReadReceipts = renderReadReceipts, isLastOutgoingMessage = isLastOutgoingMessage, @@ -94,6 +101,7 @@ private fun TimelineItemGroupedEventsRowContent( onExpandGroupClick: () -> Unit, timelineItem: TimelineItem.GroupedEvents, timelineRoomInfo: TimelineRoomInfo, + timelineProtectionState: TimelineProtectionState, focusedEventId: EventId?, renderReadReceipts: Boolean, isLastOutgoingMessage: Boolean, @@ -112,6 +120,8 @@ private fun TimelineItemGroupedEventsRowContent( { event, contentModifier, onContentLayoutChange -> TimelineItemEventContentView( content = event.content, + hideContent = timelineProtectionState.hideContent(event.eventId), + onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onLinkClick = onLinkClick, eventSink = eventSink, modifier = contentModifier, @@ -136,6 +146,7 @@ private fun TimelineItemGroupedEventsRowContent( TimelineItemRow( timelineItem = subGroupEvent, timelineRoomInfo = timelineRoomInfo, + timelineProtectionState = timelineProtectionState, renderReadReceipts = renderReadReceipts, isLastOutgoingMessage = isLastOutgoingMessage, focusedEventId = focusedEventId, @@ -178,6 +189,7 @@ internal fun TimelineItemGroupedEventsRowContentExpandedPreview() = ElementPrevi onExpandGroupClick = {}, timelineItem = events, timelineRoomInfo = aTimelineRoomInfo(), + timelineProtectionState = aTimelineProtectionState(), focusedEventId = events.events.first().eventId, renderReadReceipts = true, isLastOutgoingMessage = false, @@ -202,6 +214,7 @@ internal fun TimelineItemGroupedEventsRowContentCollapsePreview() = ElementPrevi onExpandGroupClick = {}, timelineItem = aGroupedEvents(withReadReceipts = true), timelineRoomInfo = aTimelineRoomInfo(), + timelineProtectionState = aTimelineProtectionState(), focusedEventId = null, renderReadReceipts = true, isLastOutgoingMessage = false, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt index 56f509f9fb..35199837cc 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt @@ -26,6 +26,9 @@ import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.TimelineItemCallNotifyContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemLegacyCallInviteContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStateContent +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionEvent +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState +import io.element.android.features.messages.impl.timeline.protection.mustBeProtected import io.element.android.libraries.designsystem.text.toPx import io.element.android.libraries.designsystem.theme.highlightedMessageBackgroundColor import io.element.android.libraries.matrix.api.core.EventId @@ -37,6 +40,7 @@ internal fun TimelineItemRow( timelineRoomInfo: TimelineRoomInfo, renderReadReceipts: Boolean, isLastOutgoingMessage: Boolean, + timelineProtectionState: TimelineProtectionState, focusedEventId: EventId?, onUserDataClick: (UserId) -> Unit, onLinkClick: (String) -> Unit, @@ -55,6 +59,8 @@ internal fun TimelineItemRow( { event, contentModifier, onContentLayoutChange -> TimelineItemEventContentView( content = event.content, + hideContent = timelineProtectionState.hideContent(event.eventId), + onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onLinkClick = onLinkClick, eventSink = eventSink, modifier = contentModifier, @@ -109,9 +115,14 @@ internal fun TimelineItemRow( event = timelineItem, timelineRoomInfo = timelineRoomInfo, renderReadReceipts = renderReadReceipts, + timelineProtectionState = timelineProtectionState, isLastOutgoingMessage = isLastOutgoingMessage, isHighlighted = timelineItem.isEvent(focusedEventId), - onClick = { onClick(timelineItem) }, + onClick = if (timelineProtectionState.hideContent(timelineItem.eventId) && timelineItem.mustBeProtected()) { + {} + } else { + { onClick(timelineItem) } + }, onLongClick = { onLongClick(timelineItem) }, onLinkClick = onLinkClick, onUserDataClick = onUserDataClick, @@ -133,6 +144,7 @@ internal fun TimelineItemRow( TimelineItemGroupedEventsRow( timelineItem = timelineItem, timelineRoomInfo = timelineRoomInfo, + timelineProtectionState = timelineProtectionState, renderReadReceipts = renderReadReceipts, isLastOutgoingMessage = isLastOutgoingMessage, focusedEventId = focusedEventId, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt index ffb398a0d1..2e3812a09d 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt @@ -71,6 +71,8 @@ fun TimelineItemStateEventRow( TimelineItemEventContentView( content = event.content, onLinkClick = {}, + hideContent = false, + onShowClick = {}, eventSink = eventSink, modifier = Modifier.defaultTimelineContentPadding() ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt index 48072ce5bf..76777f4ae1 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemAspectRatioBox.kt @@ -25,12 +25,14 @@ fun TimelineItemAspectRatioBox( aspectRatio: Float?, modifier: Modifier = Modifier, contentAlignment: Alignment = Alignment.TopStart, + minHeight: Int = MIN_HEIGHT_IN_DP, + maxHeight: Int = MAX_HEIGHT_IN_DP, content: @Composable (BoxScope.() -> Unit), ) { val safeAspectRatio = aspectRatio ?: DEFAULT_ASPECT_RATIO Box( modifier = modifier - .heightIn(min = MIN_HEIGHT_IN_DP.dp, max = MAX_HEIGHT_IN_DP.dp) + .heightIn(min = minHeight.dp, max = maxHeight.dp) .aspectRatio(safeAspectRatio, false), contentAlignment = contentAlignment, content = content diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEventContentView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEventContentView.kt index 49b8731ae0..c855714d14 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEventContentView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEventContentView.kt @@ -35,6 +35,8 @@ import io.element.android.libraries.architecture.Presenter @Composable fun TimelineItemEventContentView( content: TimelineItemEventContent, + hideContent: Boolean, + onShowClick: () -> Unit, onLinkClick: (url: String) -> Unit, eventSink: (TimelineEvents.EventFromTimelineItem) -> Unit, modifier: Modifier = Modifier, @@ -69,15 +71,21 @@ fun TimelineItemEventContentView( ) is TimelineItemImageContent -> TimelineItemImageView( content = content, + hideContent = hideContent, + onShowClick = onShowClick, onContentLayoutChange = onContentLayoutChange, modifier = modifier, ) is TimelineItemStickerContent -> TimelineItemStickerView( content = content, + hideContent = hideContent, + onShowClick = onShowClick, modifier = modifier, ) is TimelineItemVideoContent -> TimelineItemVideoView( content = content, + hideContent = hideContent, + onShowClick = onShowClick, onContentLayoutChange = onContentLayoutChange, modifier = modifier ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt index 9f9222f458..e7cacede9e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt @@ -46,6 +46,7 @@ import io.element.android.features.messages.impl.timeline.model.TimelineItemGrou import io.element.android.features.messages.impl.timeline.model.event.TimelineItemImageContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemImageContentProvider import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemImageContent +import io.element.android.features.messages.impl.timeline.protection.ProtectedView import io.element.android.libraries.designsystem.components.blurhash.blurHashBackground import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight @@ -58,6 +59,8 @@ import io.element.android.wysiwyg.compose.EditorStyledText @Composable fun TimelineItemImageView( content: TimelineItemImageContent, + hideContent: Boolean, + onShowClick: () -> Unit, onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit, modifier: Modifier = Modifier, ) { @@ -76,23 +79,28 @@ fun TimelineItemImageView( modifier = containerModifier.blurHashBackground(content.blurhash, alpha = 0.9f), aspectRatio = content.aspectRatio, ) { - var isLoaded by remember { mutableStateOf(false) } - AsyncImage( - modifier = Modifier - .fillMaxWidth() - .then(if (isLoaded) Modifier.background(Color.White) else Modifier), - model = MediaRequestData( - source = content.preferredMediaSource, - kind = MediaRequestData.Kind.File( - body = content.filename ?: content.body, - mimeType = content.mimeType, + ProtectedView( + hideContent = hideContent, + onShowClick = onShowClick, + ) { + var isLoaded by remember { mutableStateOf(false) } + AsyncImage( + modifier = Modifier + .fillMaxWidth() + .then(if (isLoaded) Modifier.background(Color.White) else Modifier), + model = MediaRequestData( + source = content.preferredMediaSource, + kind = MediaRequestData.Kind.File( + body = content.filename ?: content.body, + mimeType = content.mimeType, + ), ), - ), - contentScale = ContentScale.Fit, - alignment = Alignment.Center, - contentDescription = description, - onState = { isLoaded = it is AsyncImagePainter.State.Success }, - ) + contentScale = ContentScale.Fit, + alignment = Alignment.Center, + contentDescription = description, + onState = { isLoaded = it is AsyncImagePainter.State.Success }, + ) + } } if (content.showCaption) { @@ -123,7 +131,23 @@ fun TimelineItemImageView( @PreviewsDayNight @Composable internal fun TimelineItemImageViewPreview(@PreviewParameter(TimelineItemImageContentProvider::class) content: TimelineItemImageContent) = ElementPreview { - TimelineItemImageView(content, {}) + TimelineItemImageView( + content = content, + hideContent = false, + onShowClick = {}, + onContentLayoutChange = {}, + ) +} + +@PreviewsDayNight +@Composable +internal fun TimelineItemImageViewHideContentPreview() = ElementPreview { + TimelineItemImageView( + content = aTimelineItemImageContent(), + hideContent = true, + onShowClick = {}, + onContentLayoutChange = {}, + ) } @PreviewsDayNight diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt index f895eddc85..d41b985d86 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt @@ -7,44 +7,84 @@ package io.element.android.features.messages.impl.timeline.components.event -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.aspectRatio -import androidx.compose.foundation.layout.heightIn +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.semantics.contentDescription +import androidx.compose.ui.semantics.semantics import androidx.compose.ui.tooling.preview.PreviewParameter -import androidx.compose.ui.unit.dp +import coil.compose.AsyncImage +import coil.compose.AsyncImagePainter import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStickerContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStickerContentProvider -import io.element.android.libraries.designsystem.components.blurhash.BlurHashAsyncImage +import io.element.android.features.messages.impl.timeline.protection.ProtectedView +import io.element.android.libraries.designsystem.components.blurhash.blurHashBackground import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.ui.media.MediaRequestData +import io.element.android.libraries.ui.strings.CommonStrings private const val STICKER_SIZE_IN_DP = 128 @Composable fun TimelineItemStickerView( content: TimelineItemStickerContent, + hideContent: Boolean, + onShowClick: () -> Unit, modifier: Modifier = Modifier, ) { - val aspectRatio = content.aspectRatio ?: DEFAULT_ASPECT_RATIO - Box( - modifier = modifier - .heightIn(min = STICKER_SIZE_IN_DP.dp, max = STICKER_SIZE_IN_DP.dp) - .aspectRatio(aspectRatio, false), - contentAlignment = Alignment.TopStart, + val description = content.body.takeIf { it.isNotEmpty() } ?: stringResource(CommonStrings.common_image) + Column( + modifier = modifier.semantics { contentDescription = description }, ) { - BlurHashAsyncImage( - model = MediaRequestData(content.preferredMediaSource, MediaRequestData.Kind.File(content.body, content.mimeType)), - blurHash = content.blurhash, - ) + TimelineItemAspectRatioBox( + modifier = Modifier.blurHashBackground(content.blurhash, alpha = 0.9f), + aspectRatio = content.aspectRatio, + minHeight = STICKER_SIZE_IN_DP, + maxHeight = STICKER_SIZE_IN_DP, + ) { + ProtectedView( + hideContent = hideContent, + onShowClick = onShowClick, + ) { + var isLoaded by remember { mutableStateOf(false) } + AsyncImage( + modifier = Modifier + .fillMaxSize() + .then(if (isLoaded) Modifier.background(Color.White) else Modifier), + model = MediaRequestData( + source = content.preferredMediaSource, + kind = MediaRequestData.Kind.File( + body = content.body, + mimeType = content.mimeType, + ), + ), + contentScale = ContentScale.Fit, + alignment = Alignment.Center, + contentDescription = description, + onState = { isLoaded = it is AsyncImagePainter.State.Success }, + ) + } + } } } @PreviewsDayNight @Composable internal fun TimelineItemStickerViewPreview(@PreviewParameter(TimelineItemStickerContentProvider::class) content: TimelineItemStickerContent) = ElementPreview { - TimelineItemStickerView(content) + TimelineItemStickerView( + content = content, + hideContent = false, + onShowClick = {}, + ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt index 7324d3368b..9c28172c2e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt @@ -51,6 +51,7 @@ import io.element.android.features.messages.impl.timeline.model.TimelineItemGrou import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVideoContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVideoContentProvider import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemVideoContent +import io.element.android.features.messages.impl.timeline.protection.ProtectedView import io.element.android.libraries.designsystem.components.blurhash.blurHashBackground import io.element.android.libraries.designsystem.modifiers.roundedBackground import io.element.android.libraries.designsystem.preview.ElementPreview @@ -64,6 +65,8 @@ import io.element.android.wysiwyg.compose.EditorStyledText @Composable fun TimelineItemVideoView( content: TimelineItemVideoContent, + hideContent: Boolean, + onShowClick: () -> Unit, onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit, modifier: Modifier = Modifier, ) { @@ -83,33 +86,38 @@ fun TimelineItemVideoView( aspectRatio = content.aspectRatio, contentAlignment = Alignment.Center, ) { - var isLoaded by remember { mutableStateOf(false) } - AsyncImage( - modifier = Modifier - .fillMaxWidth() - .then(if (isLoaded) Modifier.background(Color.White) else Modifier), - model = MediaRequestData( - source = content.thumbnailSource, - kind = MediaRequestData.Kind.File( - body = content.filename ?: content.body, - mimeType = content.mimeType - ) - ), - contentScale = ContentScale.Fit, - alignment = Alignment.Center, - contentDescription = description, - onState = { isLoaded = it is AsyncImagePainter.State.Success }, - ) - - Box( - modifier = Modifier.roundedBackground(), - contentAlignment = Alignment.Center, + ProtectedView( + hideContent = hideContent, + onShowClick = onShowClick, ) { - Image( - Icons.Default.PlayArrow, - contentDescription = stringResource(id = CommonStrings.a11y_play), - colorFilter = ColorFilter.tint(Color.White), + var isLoaded by remember { mutableStateOf(false) } + AsyncImage( + modifier = Modifier + .fillMaxWidth() + .then(if (isLoaded) Modifier.background(Color.White) else Modifier), + model = MediaRequestData( + source = content.thumbnailSource, + kind = MediaRequestData.Kind.File( + body = content.filename ?: content.body, + mimeType = content.mimeType + ) + ), + contentScale = ContentScale.Fit, + alignment = Alignment.Center, + contentDescription = description, + onState = { isLoaded = it is AsyncImagePainter.State.Success }, ) + + Box( + modifier = Modifier.roundedBackground(), + contentAlignment = Alignment.Center, + ) { + Image( + Icons.Default.PlayArrow, + contentDescription = stringResource(id = CommonStrings.a11y_play), + colorFilter = ColorFilter.tint(Color.White), + ) + } } } @@ -141,7 +149,23 @@ fun TimelineItemVideoView( @PreviewsDayNight @Composable internal fun TimelineItemVideoViewPreview(@PreviewParameter(TimelineItemVideoContentProvider::class) content: TimelineItemVideoContent) = ElementPreview { - TimelineItemVideoView(content, {}) + TimelineItemVideoView( + content = content, + hideContent = false, + onShowClick = {}, + onContentLayoutChange = {}, + ) +} + +@PreviewsDayNight +@Composable +internal fun TimelineItemVideoViewHideContentPreview() = ElementPreview { + TimelineItemVideoView( + content = aTimelineItemVideoContent(), + hideContent = true, + onShowClick = {}, + onContentLayoutChange = {}, + ) } @PreviewsDayNight diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentProvider.kt index 0d90ec9d09..268cda1829 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemImageContentProvider.kt @@ -16,22 +16,26 @@ open class TimelineItemImageContentProvider : PreviewParameterProvider get() = sequenceOf( aTimelineItemImageContent(), - aTimelineItemImageContent().copy(aspectRatio = 1.0f), - aTimelineItemImageContent().copy(aspectRatio = 1.5f), + aTimelineItemImageContent(aspectRatio = 1.0f), + aTimelineItemImageContent(aspectRatio = 1.5f), + aTimelineItemImageContent(blurhash = null), ) } -fun aTimelineItemImageContent() = TimelineItemImageContent( +fun aTimelineItemImageContent( + aspectRatio: Float = 0.5f, + blurhash: String? = A_BLUR_HASH, +) = TimelineItemImageContent( body = "a body", formatted = null, filename = null, mediaSource = MediaSource(""), thumbnailSource = null, mimeType = MimeTypes.IMAGE_JPEG, - blurhash = A_BLUR_HASH, + blurhash = blurhash, width = null, height = 300, - aspectRatio = 0.5f, + aspectRatio = aspectRatio, formattedFileSize = "4MB", fileExtension = "jpg" ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemStickerContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemStickerContentProvider.kt index adff977e32..bf231bd7fa 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemStickerContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemStickerContentProvider.kt @@ -16,20 +16,24 @@ open class TimelineItemStickerContentProvider : PreviewParameterProvider get() = sequenceOf( aTimelineItemStickerContent(), - aTimelineItemStickerContent().copy(aspectRatio = 1.0f), - aTimelineItemStickerContent().copy(aspectRatio = 1.5f), + aTimelineItemStickerContent(aspectRatio = 1.0f), + aTimelineItemStickerContent(aspectRatio = 1.5f), + aTimelineItemStickerContent(blurhash = null), ) } -fun aTimelineItemStickerContent() = TimelineItemStickerContent( +fun aTimelineItemStickerContent( + aspectRatio: Float = 0.5f, + blurhash: String? = A_BLUR_HASH, +) = TimelineItemStickerContent( body = "a body", mediaSource = MediaSource(""), thumbnailSource = null, mimeType = MimeTypes.IMAGE_JPEG, - blurhash = A_BLUR_HASH, + blurhash = blurhash, width = null, height = 128, - aspectRatio = 0.5f, + aspectRatio = aspectRatio, formattedFileSize = "4MB", fileExtension = "jpg" ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVideoContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVideoContentProvider.kt index 9d494e95e9..510de5a100 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVideoContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemVideoContentProvider.kt @@ -17,18 +17,22 @@ open class TimelineItemVideoContentProvider : PreviewParameterProvider get() = sequenceOf( aTimelineItemVideoContent(), - aTimelineItemVideoContent().copy(aspectRatio = 1.0f), - aTimelineItemVideoContent().copy(aspectRatio = 1.5f), + aTimelineItemVideoContent(aspectRatio = 1.0f), + aTimelineItemVideoContent(aspectRatio = 1.5f), + aTimelineItemVideoContent(blurhash = null), ) } -fun aTimelineItemVideoContent() = TimelineItemVideoContent( +fun aTimelineItemVideoContent( + aspectRatio: Float = 0.5f, + blurhash: String? = A_BLUR_HASH, +) = TimelineItemVideoContent( body = "Video.mp4", formatted = null, filename = null, thumbnailSource = null, - blurHash = A_BLUR_HASH, - aspectRatio = 0.5f, + blurHash = blurhash, + aspectRatio = aspectRatio, duration = 100.milliseconds, videoSource = MediaSource(""), height = 300, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt new file mode 100644 index 0000000000..d7e8d94963 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.protection + +import androidx.compose.foundation.layout.BoxScope +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import io.element.android.libraries.designsystem.theme.components.Button + +@Composable +fun BoxScope.ProtectedView( + hideContent: Boolean, + onShowClick: () -> Unit, + modifier: Modifier = Modifier, + content: @Composable () -> Unit, +) { + if (hideContent) { + // TODO Update design, wording for video? + Button( + modifier = modifier.align(Alignment.Center), + text = "Show", + onClick = onShowClick, + ) + } else { + content() + } +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineItem.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineItem.kt new file mode 100644 index 0000000000..824f3843ea --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineItem.kt @@ -0,0 +1,60 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.protection + +import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemAudioContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemCallNotifyContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEmoteContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEncryptedContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemFileContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemImageContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemLegacyCallInviteContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemLocationContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemNoticeContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemPollContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemProfileChangeContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemRedactedContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemRoomMembershipContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStateEventContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStickerContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemUnknownContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVideoContent +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVoiceContent + +/** + * Return true if the event must be hidden by default when the setting to hide images and videos is enabled. + */ +fun TimelineItem.mustBeProtected(): Boolean { + return when (this) { + is TimelineItem.Event -> when (content) { + is TimelineItemImageContent, + is TimelineItemVideoContent, + is TimelineItemStickerContent -> true + is TimelineItemAudioContent, + is TimelineItemCallNotifyContent, + is TimelineItemEncryptedContent, + is TimelineItemFileContent, + TimelineItemLegacyCallInviteContent, + is TimelineItemLocationContent, + is TimelineItemPollContent, + TimelineItemRedactedContent, + is TimelineItemProfileChangeContent, + is TimelineItemRoomMembershipContent, + is TimelineItemStateEventContent, + is TimelineItemEmoteContent, + is TimelineItemNoticeContent, + is TimelineItemTextContent, + TimelineItemUnknownContent, + is TimelineItemVoiceContent -> false + } + is TimelineItem.Virtual -> false + is TimelineItem.GroupedEvents -> false + } +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionEvent.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionEvent.kt new file mode 100644 index 0000000000..78c878c3a4 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionEvent.kt @@ -0,0 +1,14 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.protection + +import io.element.android.libraries.matrix.api.core.EventId + +sealed interface TimelineProtectionEvent { + data class ShowContent(val eventId: EventId?) : TimelineProtectionEvent +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenter.kt new file mode 100644 index 0000000000..46ac375aa4 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenter.kt @@ -0,0 +1,53 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.protection + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.setValue +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.preferences.api.store.AppPreferencesStore +import kotlinx.collections.immutable.toImmutableSet +import javax.inject.Inject + +class TimelineProtectionPresenter @Inject constructor( + private val appPreferencesStore: AppPreferencesStore, +) : Presenter { + @Composable + override fun present(): TimelineProtectionState { + val hideContent by appPreferencesStore.doesHideImagesAndVideosFlow().collectAsState(initial = false) + var allowedEvents by remember { mutableStateOf>(setOf()) } + val protectionState by remember(hideContent) { + derivedStateOf { + if (hideContent) { + ProtectionState.RenderOnly(eventIds = allowedEvents.toImmutableSet()) + } else { + ProtectionState.RenderAll + } + } + } + + fun handleEvent(event: TimelineProtectionEvent) { + when (event) { + is TimelineProtectionEvent.ShowContent -> { + allowedEvents = allowedEvents + setOfNotNull(event.eventId) + } + } + } + + return TimelineProtectionState( + protectionState = protectionState, + eventSink = { event -> handleEvent(event) } + ) + } +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionState.kt new file mode 100644 index 0000000000..66ebb279f5 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionState.kt @@ -0,0 +1,28 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.protection + +import androidx.compose.runtime.Immutable +import io.element.android.libraries.matrix.api.core.EventId +import kotlinx.collections.immutable.ImmutableSet + +data class TimelineProtectionState( + val protectionState: ProtectionState, + val eventSink: (TimelineProtectionEvent) -> Unit, +) { + fun hideContent(eventId: EventId?) = when (protectionState) { + is ProtectionState.RenderAll -> false + is ProtectionState.RenderOnly -> eventId !in protectionState.eventIds + } +} + +@Immutable +sealed interface ProtectionState { + data object RenderAll : ProtectionState + data class RenderOnly(val eventIds: ImmutableSet) : ProtectionState +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateProvider.kt new file mode 100644 index 0000000000..f0c2acbaa7 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateProvider.kt @@ -0,0 +1,16 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.protection + +fun aTimelineProtectionState( + protectionState: ProtectionState = ProtectionState.RenderAll, + eventSink: (TimelineProtectionEvent) -> Unit = {}, +) = TimelineProtectionState( + protectionState = protectionState, + eventSink = eventSink, +) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsEvents.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsEvents.kt index 77602c4e12..6d8572a516 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsEvents.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsEvents.kt @@ -13,5 +13,6 @@ sealed interface DeveloperSettingsEvents { data class UpdateEnabledFeature(val feature: FeatureUiModel, val isEnabled: Boolean) : DeveloperSettingsEvents data class SetCustomElementCallBaseUrl(val baseUrl: String?) : DeveloperSettingsEvents data class SetSimplifiedSlidingSyncEnabled(val isEnabled: Boolean) : DeveloperSettingsEvents + data class SetHideImagesAndVideos(val value: Boolean) : DeveloperSettingsEvents data object ClearCache : DeveloperSettingsEvents } diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt index af7c05f592..a113a80a1f 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt @@ -71,6 +71,9 @@ class DeveloperSettingsPresenter @Inject constructor( val isSimplifiedSlidingSyncEnabled by appPreferencesStore .isSimplifiedSlidingSyncEnabledFlow() .collectAsState(initial = false) + val hideImagesAndVideos by appPreferencesStore + .doesHideImagesAndVideosFlow() + .collectAsState(initial = false) LaunchedEffect(Unit) { FeatureFlags.entries @@ -114,6 +117,9 @@ class DeveloperSettingsPresenter @Inject constructor( appPreferencesStore.setSimplifiedSlidingSyncEnabled(event.isEnabled) logoutUseCase.logout(ignoreSdkError = true) } + is DeveloperSettingsEvents.SetHideImagesAndVideos -> coroutineScope.launch { + appPreferencesStore.setHideImagesAndVideos(event.value) + } } } @@ -128,6 +134,7 @@ class DeveloperSettingsPresenter @Inject constructor( validator = ::customElementCallUrlValidator, ), isSimpleSlidingSyncEnabled = isSimplifiedSlidingSyncEnabled, + hideImagesAndVideos = hideImagesAndVideos, eventSink = ::handleEvents ) } diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsState.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsState.kt index f4b599a504..e4c8641197 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsState.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsState.kt @@ -19,6 +19,7 @@ data class DeveloperSettingsState( val clearCacheAction: AsyncData, val customElementCallBaseUrlState: CustomElementCallBaseUrlState, val isSimpleSlidingSyncEnabled: Boolean, + val hideImagesAndVideos: Boolean, val eventSink: (DeveloperSettingsEvents) -> Unit ) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsStateProvider.kt index 34918c6ea4..601ed2ee7a 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsStateProvider.kt @@ -31,6 +31,7 @@ fun aDeveloperSettingsState( clearCacheAction: AsyncData = AsyncData.Uninitialized, customElementCallBaseUrlState: CustomElementCallBaseUrlState = aCustomElementCallBaseUrlState(), isSimplifiedSlidingSyncEnabled: Boolean = false, + hideImagesAndVideos: Boolean = false, eventSink: (DeveloperSettingsEvents) -> Unit = {}, ) = DeveloperSettingsState( features = aFeatureUiModelList(), @@ -39,6 +40,7 @@ fun aDeveloperSettingsState( clearCacheAction = clearCacheAction, customElementCallBaseUrlState = customElementCallBaseUrlState, isSimpleSlidingSyncEnabled = isSimplifiedSlidingSyncEnabled, + hideImagesAndVideos = hideImagesAndVideos, eventSink = eventSink, ) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt index f2e427e3be..dc06036c43 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsView.kt @@ -40,9 +40,10 @@ fun DeveloperSettingsView( title = stringResource(id = CommonStrings.common_developer_options) ) { // Note: this is OK to hardcode strings in this debug screen. + SettingsCategory(state) PreferenceCategory( title = "Feature flags", - showTopDivider = false, + showTopDivider = true, ) { FeatureListContent(state) } @@ -92,6 +93,22 @@ fun DeveloperSettingsView( } } +@Composable +private fun SettingsCategory( + state: DeveloperSettingsState, +) { + PreferenceCategory(title = "Preferences", showTopDivider = false) { + PreferenceSwitch( + title = "Hide image & video previews", + subtitle = "When toggled image & video will not render in the timeline by default.", + isChecked = state.hideImagesAndVideos, + onCheckedChange = { + state.eventSink(DeveloperSettingsEvents.SetHideImagesAndVideos(it)) + } + ) + } +} + @Composable private fun ElementCallCategory( state: DeveloperSettingsState, diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt index 0b1ce2cfdb..128f4aa705 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt @@ -50,6 +50,7 @@ class DeveloperSettingsPresenterTest { assertThat(initialState.customElementCallBaseUrlState).isNotNull() assertThat(initialState.customElementCallBaseUrlState.baseUrl).isNull() assertThat(initialState.isSimpleSlidingSyncEnabled).isFalse() + assertThat(initialState.hideImagesAndVideos).isFalse() val loadedState = awaitItem() assertThat(loadedState.rageshakeState.isEnabled).isFalse() assertThat(loadedState.rageshakeState.isSupported).isTrue() @@ -179,6 +180,24 @@ class DeveloperSettingsPresenterTest { } } + @Test + fun `present - toggling hide image and video`() = runTest { + val preferences = InMemoryAppPreferencesStore() + val presenter = createDeveloperSettingsPresenter(preferencesStore = preferences) + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitLastSequentialItem() + assertThat(initialState.hideImagesAndVideos).isFalse() + initialState.eventSink(DeveloperSettingsEvents.SetHideImagesAndVideos(true)) + assertThat(awaitItem().hideImagesAndVideos).isTrue() + assertThat(preferences.doesHideImagesAndVideosFlow().first()).isTrue() + initialState.eventSink(DeveloperSettingsEvents.SetHideImagesAndVideos(false)) + assertThat(awaitItem().hideImagesAndVideos).isFalse() + assertThat(preferences.doesHideImagesAndVideosFlow().first()).isFalse() + } + } + private fun createDeveloperSettingsPresenter( featureFlagService: FakeFeatureFlagService = FakeFeatureFlagService(), cacheSizeUseCase: FakeComputeCacheSizeUseCase = FakeComputeCacheSizeUseCase(), diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsViewTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsViewTest.kt index 82e8df6993..f6319007d4 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsViewTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsViewTest.kt @@ -45,6 +45,7 @@ class DeveloperSettingsViewTest { } } + @Config(qualifiers = "h1500dp") @Test fun `clicking on element call url open the dialogs and submit emits the expected event`() { val eventsRecorder = EventsRecorder() @@ -113,6 +114,18 @@ class DeveloperSettingsViewTest { rule.onNodeWithText("Enable Simplified Sliding Sync").performClick() eventsRecorder.assertSingle(DeveloperSettingsEvents.SetSimplifiedSlidingSyncEnabled(true)) } + + @Test + fun `clicking on the hide images and videos switch emits the expected event`() { + val eventsRecorder = EventsRecorder() + rule.setDeveloperSettingsView( + state = aDeveloperSettingsState( + eventSink = eventsRecorder + ), + ) + rule.onNodeWithText("Hide image & video previews").performClick() + eventsRecorder.assertSingle(DeveloperSettingsEvents.SetHideImagesAndVideos(true)) + } } private fun AndroidComposeTestRule.setDeveloperSettingsView( diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnail.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnail.kt index bea0911544..0225a44750 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnail.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/AttachmentThumbnail.kt @@ -145,7 +145,7 @@ data class AttachmentThumbnailInfo( @Composable internal fun AttachmentThumbnailPreview(@PreviewParameter(AttachmentThumbnailInfoProvider::class) data: AttachmentThumbnailInfo) = ElementPreview { AttachmentThumbnail( - data, + info = data, modifier = Modifier .size(36.dp) .clip(RoundedCornerShape(4.dp)) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToMetadata.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToMetadata.kt index b7ba762ce6..1da14d3839 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToMetadata.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToMetadata.kt @@ -57,11 +57,11 @@ internal sealed interface InReplyToMetadata { * Metadata can be either a thumbnail with a text OR just a text. */ @Composable -internal fun InReplyToDetails.Ready.metadata(): InReplyToMetadata? = when (eventContent) { +internal fun InReplyToDetails.Ready.metadata(hideImage: Boolean): InReplyToMetadata? = when (eventContent) { is MessageContent -> when (val type = eventContent.type) { is ImageMessageType -> InReplyToMetadata.Thumbnail( AttachmentThumbnailInfo( - thumbnailSource = type.info?.thumbnailSource ?: type.source, + thumbnailSource = (type.info?.thumbnailSource ?: type.source).takeUnless { hideImage }, textContent = eventContent.body, type = AttachmentThumbnailType.Image, blurHash = type.info?.blurhash, @@ -69,7 +69,7 @@ internal fun InReplyToDetails.Ready.metadata(): InReplyToMetadata? = when (event ) is VideoMessageType -> InReplyToMetadata.Thumbnail( AttachmentThumbnailInfo( - thumbnailSource = type.info?.thumbnailSource, + thumbnailSource = type.info?.thumbnailSource?.takeUnless { hideImage }, textContent = eventContent.body, type = AttachmentThumbnailType.Video, blurHash = type.info?.blurhash, @@ -77,7 +77,7 @@ internal fun InReplyToDetails.Ready.metadata(): InReplyToMetadata? = when (event ) is FileMessageType -> InReplyToMetadata.Thumbnail( AttachmentThumbnailInfo( - thumbnailSource = type.info?.thumbnailSource, + thumbnailSource = type.info?.thumbnailSource?.takeUnless { hideImage }, textContent = eventContent.body, type = AttachmentThumbnailType.File, ) @@ -104,7 +104,7 @@ internal fun InReplyToDetails.Ready.metadata(): InReplyToMetadata? = when (event } is StickerContent -> InReplyToMetadata.Thumbnail( AttachmentThumbnailInfo( - thumbnailSource = eventContent.source, + thumbnailSource = eventContent.source.takeUnless { hideImage }, textContent = eventContent.body, type = AttachmentThumbnailType.Image, blurHash = eventContent.info.blurhash, diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToView.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToView.kt index 6fe11ec254..70a30c809a 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToView.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToView.kt @@ -48,6 +48,7 @@ import io.element.android.libraries.ui.strings.CommonStrings @Composable fun InReplyToView( inReplyTo: InReplyToDetails, + hideImage: Boolean, modifier: Modifier = Modifier, ) { when (inReplyTo) { @@ -55,7 +56,7 @@ fun InReplyToView( ReplyToReadyContent( senderId = inReplyTo.senderId, senderProfile = inReplyTo.senderProfile, - metadata = inReplyTo.metadata(), + metadata = inReplyTo.metadata(hideImage), modifier = modifier ) } @@ -191,5 +192,8 @@ private fun ReplyToContentText(metadata: InReplyToMetadata?) { @PreviewsDayNight @Composable internal fun InReplyToViewPreview(@PreviewParameter(provider = InReplyToDetailsProvider::class) inReplyTo: InReplyToDetails) = ElementPreview { - InReplyToView(inReplyTo) + InReplyToView( + inReplyTo = inReplyTo, + hideImage = false, + ) } diff --git a/libraries/matrixui/src/test/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToMetadataKtTest.kt b/libraries/matrixui/src/test/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToMetadataKtTest.kt index 26e7df9631..9e4318b3be 100644 --- a/libraries/matrixui/src/test/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToMetadataKtTest.kt +++ b/libraries/matrixui/src/test/kotlin/io/element/android/libraries/matrix/ui/messages/reply/InReplyToMetadataKtTest.kt @@ -61,7 +61,7 @@ class InReplyToMetadataKtTest { @Test fun `any message content`() = runTest { moleculeFlow(RecompositionMode.Immediate) { - anInReplyToDetailsReady(eventContent = aMessageContent()).metadata() + anInReplyToDetailsReady(eventContent = aMessageContent()).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isEqualTo(InReplyToMetadata.Text("textContent")) @@ -82,7 +82,7 @@ class InReplyToMetadataKtTest { info = anImageInfo(), ) ) - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isEqualTo( @@ -99,6 +99,36 @@ class InReplyToMetadataKtTest { } } + @Test + fun `an image message content, no thumbnail`() = runTest { + moleculeFlow(RecompositionMode.Immediate) { + anInReplyToDetailsReady( + eventContent = aMessageContent( + messageType = ImageMessageType( + body = "body", + formatted = null, + filename = null, + source = aMediaSource(), + info = anImageInfo(), + ) + ) + ).metadata(hideImage = true) + }.test { + awaitItem().let { + assertThat(it).isEqualTo( + InReplyToMetadata.Thumbnail( + attachmentThumbnailInfo = AttachmentThumbnailInfo( + thumbnailSource = null, + textContent = "body", + type = AttachmentThumbnailType.Image, + blurHash = A_BLUR_HASH, + ) + ) + ) + } + } + } + @Test fun `a sticker message content`() = runTest { moleculeFlow(RecompositionMode.Immediate) { @@ -108,7 +138,7 @@ class InReplyToMetadataKtTest { info = anImageInfo(), source = aMediaSource(url = "url") ) - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isEqualTo( @@ -125,6 +155,32 @@ class InReplyToMetadataKtTest { } } + @Test + fun `a sticker message content, no thumbnail`() = runTest { + moleculeFlow(RecompositionMode.Immediate) { + anInReplyToDetailsReady( + eventContent = StickerContent( + body = "body", + info = anImageInfo(), + source = aMediaSource(url = "url") + ) + ).metadata(hideImage = true) + }.test { + awaitItem().let { + assertThat(it).isEqualTo( + InReplyToMetadata.Thumbnail( + attachmentThumbnailInfo = AttachmentThumbnailInfo( + thumbnailSource = null, + textContent = "body", + type = AttachmentThumbnailType.Image, + blurHash = A_BLUR_HASH, + ) + ) + ) + } + } + } + @Test fun `a video message content`() = runTest { moleculeFlow(RecompositionMode.Immediate) { @@ -138,7 +194,7 @@ class InReplyToMetadataKtTest { info = aVideoInfo(), ) ) - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isEqualTo( @@ -155,6 +211,36 @@ class InReplyToMetadataKtTest { } } + @Test + fun `a video message content, no thumbnail`() = runTest { + moleculeFlow(RecompositionMode.Immediate) { + anInReplyToDetailsReady( + eventContent = aMessageContent( + messageType = VideoMessageType( + body = "body", + formatted = null, + filename = null, + source = aMediaSource(), + info = aVideoInfo(), + ) + ) + ).metadata(hideImage = true) + }.test { + awaitItem().let { + assertThat(it).isEqualTo( + InReplyToMetadata.Thumbnail( + attachmentThumbnailInfo = AttachmentThumbnailInfo( + thumbnailSource = null, + textContent = "body", + type = AttachmentThumbnailType.Video, + blurHash = A_BLUR_HASH, + ) + ) + ) + } + } + } + @Test fun `a file message content`() = runTest { moleculeFlow(RecompositionMode.Immediate) { @@ -171,7 +257,7 @@ class InReplyToMetadataKtTest { ), ) ) - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isEqualTo( @@ -188,6 +274,39 @@ class InReplyToMetadataKtTest { } } + @Test + fun `a file message content, no thumbnail`() = runTest { + moleculeFlow(RecompositionMode.Immediate) { + anInReplyToDetailsReady( + eventContent = aMessageContent( + messageType = FileMessageType( + body = "body", + source = aMediaSource(), + info = FileInfo( + mimetype = null, + size = null, + thumbnailInfo = null, + thumbnailSource = aMediaSource(), + ), + ) + ) + ).metadata(hideImage = true) + }.test { + awaitItem().let { + assertThat(it).isEqualTo( + InReplyToMetadata.Thumbnail( + attachmentThumbnailInfo = AttachmentThumbnailInfo( + thumbnailSource = null, + textContent = "body", + type = AttachmentThumbnailType.File, + blurHash = null, + ) + ) + ) + } + } + } + @Test fun `a audio message content`() = runTest { moleculeFlow(RecompositionMode.Immediate) { @@ -203,7 +322,7 @@ class InReplyToMetadataKtTest { ), ) ) - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isEqualTo( @@ -231,7 +350,7 @@ class InReplyToMetadataKtTest { description = null, ) ) - ).metadata() + ).metadata(hideImage = false) } }.test { awaitItem().let { @@ -262,7 +381,7 @@ class InReplyToMetadataKtTest { details = null, ) ) - ).metadata() + ).metadata(hideImage = false) } }.test { awaitItem().let { @@ -285,7 +404,7 @@ class InReplyToMetadataKtTest { moleculeFlow(RecompositionMode.Immediate) { anInReplyToDetailsReady( eventContent = aPollContent() - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isEqualTo( @@ -307,7 +426,7 @@ class InReplyToMetadataKtTest { moleculeFlow(RecompositionMode.Immediate) { anInReplyToDetailsReady( eventContent = RedactedContent - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isEqualTo(InReplyToMetadata.Redacted) @@ -320,7 +439,7 @@ class InReplyToMetadataKtTest { moleculeFlow(RecompositionMode.Immediate) { anInReplyToDetailsReady( eventContent = UnableToDecryptContent(UnableToDecryptContent.Data.Unknown) - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isEqualTo(InReplyToMetadata.UnableToDecrypt) @@ -333,7 +452,7 @@ class InReplyToMetadataKtTest { moleculeFlow(RecompositionMode.Immediate) { anInReplyToDetailsReady( eventContent = FailedToParseMessageLikeContent("", "") - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isNull() @@ -346,7 +465,7 @@ class InReplyToMetadataKtTest { moleculeFlow(RecompositionMode.Immediate) { anInReplyToDetailsReady( eventContent = FailedToParseStateContent("", "", "") - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isNull() @@ -359,7 +478,7 @@ class InReplyToMetadataKtTest { moleculeFlow(RecompositionMode.Immediate) { anInReplyToDetailsReady( eventContent = ProfileChangeContent("", "", "", "") - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isNull() @@ -372,7 +491,7 @@ class InReplyToMetadataKtTest { moleculeFlow(RecompositionMode.Immediate) { anInReplyToDetailsReady( eventContent = RoomMembershipContent(A_USER_ID, null, null) - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isNull() @@ -385,7 +504,7 @@ class InReplyToMetadataKtTest { moleculeFlow(RecompositionMode.Immediate) { anInReplyToDetailsReady( eventContent = StateContent("", OtherState.RoomJoinRules) - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isNull() @@ -398,7 +517,7 @@ class InReplyToMetadataKtTest { moleculeFlow(RecompositionMode.Immediate) { anInReplyToDetailsReady( eventContent = UnknownContent - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isNull() @@ -411,7 +530,7 @@ class InReplyToMetadataKtTest { moleculeFlow(RecompositionMode.Immediate) { anInReplyToDetailsReady( eventContent = null - ).metadata() + ).metadata(hideImage = false) }.test { awaitItem().let { assertThat(it).isNull() diff --git a/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/AppPreferencesStore.kt b/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/AppPreferencesStore.kt index f05b56614a..ecdcca780b 100644 --- a/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/AppPreferencesStore.kt +++ b/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/AppPreferencesStore.kt @@ -22,5 +22,8 @@ interface AppPreferencesStore { suspend fun setSimplifiedSlidingSyncEnabled(enabled: Boolean) fun isSimplifiedSlidingSyncEnabledFlow(): Flow + suspend fun setHideImagesAndVideos(value: Boolean) + fun doesHideImagesAndVideosFlow(): Flow + suspend fun reset() } diff --git a/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultAppPreferencesStore.kt b/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultAppPreferencesStore.kt index ab985e798d..d9cbc6cc03 100644 --- a/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultAppPreferencesStore.kt +++ b/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultAppPreferencesStore.kt @@ -30,6 +30,7 @@ private val developerModeKey = booleanPreferencesKey("developerMode") private val customElementCallBaseUrlKey = stringPreferencesKey("elementCallBaseUrl") private val themeKey = stringPreferencesKey("theme") private val simplifiedSlidingSyncKey = booleanPreferencesKey("useSimplifiedSlidingSync") +private val hideImagesAndVideosKey = booleanPreferencesKey("hideImagesAndVideos") @ContributesBinding(AppScope::class) class DefaultAppPreferencesStore @Inject constructor( @@ -91,6 +92,18 @@ class DefaultAppPreferencesStore @Inject constructor( } } + override suspend fun setHideImagesAndVideos(value: Boolean) { + store.edit { prefs -> + prefs[hideImagesAndVideosKey] = value + } + } + + override fun doesHideImagesAndVideosFlow(): Flow { + return store.data.map { prefs -> + prefs[hideImagesAndVideosKey] ?: false + } + } + override suspend fun reset() { store.edit { it.clear() } } diff --git a/libraries/preferences/test/src/main/kotlin/io/element/android/libraries/preferences/test/InMemoryAppPreferencesStore.kt b/libraries/preferences/test/src/main/kotlin/io/element/android/libraries/preferences/test/InMemoryAppPreferencesStore.kt index c4591c9355..36ad0f9363 100644 --- a/libraries/preferences/test/src/main/kotlin/io/element/android/libraries/preferences/test/InMemoryAppPreferencesStore.kt +++ b/libraries/preferences/test/src/main/kotlin/io/element/android/libraries/preferences/test/InMemoryAppPreferencesStore.kt @@ -13,11 +13,13 @@ import kotlinx.coroutines.flow.MutableStateFlow class InMemoryAppPreferencesStore( isDeveloperModeEnabled: Boolean = false, + hideImagesAndVideos: Boolean = false, customElementCallBaseUrl: String? = null, theme: String? = null, simplifiedSlidingSyncEnabled: Boolean = false ) : AppPreferencesStore { private val isDeveloperModeEnabled = MutableStateFlow(isDeveloperModeEnabled) + private val hideImagesAndVideos = MutableStateFlow(hideImagesAndVideos) private val customElementCallBaseUrl = MutableStateFlow(customElementCallBaseUrl) private val theme = MutableStateFlow(theme) private val simplifiedSlidingSyncEnabled = MutableStateFlow(simplifiedSlidingSyncEnabled) @@ -54,6 +56,14 @@ class InMemoryAppPreferencesStore( return simplifiedSlidingSyncEnabled } + override suspend fun setHideImagesAndVideos(value: Boolean) { + hideImagesAndVideos.value = value + } + + override fun doesHideImagesAndVideosFlow(): Flow { + return hideImagesAndVideos + } + override suspend fun reset() { // No op } diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt index a8d22330d3..f9988adfba 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/ComposerModeView.kt @@ -48,6 +48,7 @@ internal fun ComposerModeView( ReplyToModeView( modifier = Modifier.padding(8.dp), replyToDetails = composerMode.replyToDetails, + hideImage = composerMode.hideImage, onResetComposerMode = onResetComposerMode, ) } @@ -103,6 +104,7 @@ private fun EditingModeView( @Composable private fun ReplyToModeView( replyToDetails: InReplyToDetails, + hideImage: Boolean, onResetComposerMode: () -> Unit, modifier: Modifier = Modifier, ) { @@ -112,7 +114,11 @@ private fun ReplyToModeView( .background(MaterialTheme.colorScheme.surface) .padding(4.dp) ) { - InReplyToView(inReplyTo = replyToDetails, modifier = Modifier.weight(1f)) + InReplyToView( + inReplyTo = replyToDetails, + hideImage = hideImage, + modifier = Modifier.weight(1f), + ) Icon( imageVector = CompoundIcons.Close(), contentDescription = stringResource(CommonStrings.action_close), diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt index a71461e338..1f2e041ac5 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt @@ -118,8 +118,8 @@ fun TextComposer( } val layoutModifier = modifier - .fillMaxSize() - .height(IntrinsicSize.Min) + .fillMaxSize() + .height(IntrinsicSize.Min) val composerOptionsButton: @Composable () -> Unit = remember { @Composable { @@ -316,8 +316,8 @@ private fun StandardLayout( if (voiceMessageState is VoiceMessageState.Preview || voiceMessageState is VoiceMessageState.Recording) { Box( modifier = Modifier - .padding(bottom = 5.dp, top = 5.dp, end = 3.dp, start = 3.dp) - .size(48.dp), + .padding(bottom = 5.dp, top = 5.dp, end = 3.dp, start = 3.dp) + .size(48.dp), contentAlignment = Alignment.Center, ) { voiceDeleteButton() @@ -327,8 +327,8 @@ private fun StandardLayout( } Box( modifier = Modifier - .padding(bottom = 8.dp, top = 8.dp) - .weight(1f) + .padding(bottom = 8.dp, top = 8.dp) + .weight(1f) ) { voiceRecording() } @@ -341,16 +341,16 @@ private fun StandardLayout( } Box( modifier = Modifier - .padding(bottom = 8.dp, top = 8.dp) - .weight(1f) + .padding(bottom = 8.dp, top = 8.dp) + .weight(1f) ) { textInput() } } Box( - Modifier - .padding(bottom = 5.dp, top = 5.dp, end = 6.dp, start = 6.dp) - .size(48.dp), + Modifier + .padding(bottom = 5.dp, top = 5.dp, end = 6.dp, start = 6.dp) + .size(48.dp), contentAlignment = Alignment.Center, ) { endButton() @@ -372,8 +372,8 @@ private fun TextFormattingLayout( ) { Box( modifier = Modifier - .weight(1f) - .padding(horizontal = 12.dp) + .weight(1f) + .padding(horizontal = 12.dp) ) { textInput() } @@ -417,21 +417,24 @@ private fun TextInputBox( Column( modifier = Modifier - .clip(roundedCorners) - .border(0.5.dp, borderColor, roundedCorners) - .background(color = bgColor) - .requiredHeightIn(min = 42.dp) - .fillMaxSize(), + .clip(roundedCorners) + .border(0.5.dp, borderColor, roundedCorners) + .background(color = bgColor) + .requiredHeightIn(min = 42.dp) + .fillMaxSize(), ) { if (composerMode is MessageComposerMode.Special) { - ComposerModeView(composerMode = composerMode, onResetComposerMode = onResetComposerMode) + ComposerModeView( + composerMode = composerMode, + onResetComposerMode = onResetComposerMode, + ) } val defaultTypography = ElementTheme.typography.fontBodyLgRegular Box( modifier = Modifier - .padding(top = 4.dp, bottom = 4.dp, start = 12.dp, end = 42.dp) - // Apply test tag only once, otherwise 2 nodes will have it (both the normal and subcomposing one) and tests will fail - .then(if (!subcomposing) Modifier.testTag(TestTags.textEditor) else Modifier), + .padding(top = 4.dp, bottom = 4.dp, start = 12.dp, end = 42.dp) + // Apply test tag only once, otherwise 2 nodes will have it (both the normal and subcomposing one) and tests will fail + .then(if (!subcomposing) Modifier.testTag(TestTags.textEditor) else Modifier), contentAlignment = Alignment.CenterStart, ) { // Placeholder @@ -477,8 +480,8 @@ private fun TextInput( // This prevents it gaining focus and mutating the state. registerStateUpdates = !subcomposing, modifier = Modifier - .padding(top = 6.dp, bottom = 6.dp) - .fillMaxWidth(), + .padding(top = 6.dp, bottom = 6.dp) + .fillMaxWidth(), style = ElementRichTextEditorStyle.composerStyle(hasFocus = state.hasFocus), resolveMentionDisplay = resolveMentionDisplay, resolveRoomMentionDisplay = resolveRoomMentionDisplay, @@ -603,6 +606,7 @@ internal fun TextComposerReplyPreview(@PreviewParameter(InReplyToDetailsProvider voiceMessageState = VoiceMessageState.Idle, composerMode = MessageComposerMode.Reply( replyToDetails = inReplyToDetails, + hideImage = false, ), enableVoiceMessages = true, ) diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/model/MessageComposerMode.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/model/MessageComposerMode.kt index 69ff2eeb48..fafa65e64f 100644 --- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/model/MessageComposerMode.kt +++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/model/MessageComposerMode.kt @@ -27,7 +27,8 @@ sealed interface MessageComposerMode { ) : Special data class Reply( - val replyToDetails: InReplyToDetails + val replyToDetails: InReplyToDetails, + val hideImage: Boolean, ) : Special { val eventId: EventId = replyToDetails.eventId() } From fd142c16d9bad2cdcdf1dbded6c9face93dd0a37 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 2 Oct 2024 21:05:43 +0200 Subject: [PATCH 080/151] Improve extension to fix a copy paste issue. --- .../DefaultNotifiableEventResolver.kt | 29 ++++++++----------- 1 file changed, 12 insertions(+), 17 deletions(-) diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt index 283b28ab31..cfbac8de2e 100644 --- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt +++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt @@ -103,7 +103,7 @@ class DefaultNotifiableEventResolver @Inject constructor( timestamp = this.timestamp, senderDisambiguatedDisplayName = senderDisambiguatedDisplayName, body = messageBody, - imageUriString = fetchImageIfPresent(client)?.toString(), + imageUriString = content.fetchImageIfPresent(client)?.toString(), roomName = roomDisplayName, roomIsDm = isDm, roomAvatarPath = roomAvatarUrl, @@ -148,7 +148,6 @@ class DefaultNotifiableEventResolver @Inject constructor( timestamp = this.timestamp, senderDisambiguatedDisplayName = getDisambiguatedDisplayName(content.senderId), body = stringProvider.getString(CommonStrings.common_call_invite), - imageUriString = fetchImageIfPresent(client)?.toString(), roomName = roomDisplayName, roomIsDm = isDm, roomAvatarPath = roomAvatarUrl, @@ -288,22 +287,18 @@ class DefaultNotifiableEventResolver @Inject constructor( } } - private suspend fun NotificationData.fetchImageIfPresent(client: MatrixClient): Uri? { - val fileResult = when (val content = this.content) { - is NotificationContent.MessageLike.RoomMessage -> { - when (val messageType = content.messageType) { - is ImageMessageType -> notificationMediaRepoFactory.create(client) - .getMediaFile( - mediaSource = messageType.source, - mimeType = messageType.info?.mimetype, - body = messageType.body, - ) - is VideoMessageType -> null // Use the thumbnail here? - else -> null - } - } + private suspend fun NotificationContent.MessageLike.RoomMessage.fetchImageIfPresent(client: MatrixClient): Uri? { + val fileResult = when (val messageType = messageType) { + is ImageMessageType -> notificationMediaRepoFactory.create(client) + .getMediaFile( + mediaSource = messageType.source, + mimeType = messageType.info?.mimetype, + body = messageType.body, + ) + is VideoMessageType -> null // Use the thumbnail here? else -> null - } ?: return null + } + ?: return null return fileResult .onFailure { From f544f31761240be20095c6fbb10f4554f8829a75 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 2 Oct 2024 21:10:06 +0200 Subject: [PATCH 081/151] Do not render images in notification if the setting to hide image is enabled. --- .../impl/notifications/DefaultNotifiableEventResolver.kt | 6 ++++++ .../notifications/DefaultNotifiableEventResolverTest.kt | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt index cfbac8de2e..08e95fcfcf 100644 --- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt +++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolver.kt @@ -37,6 +37,7 @@ import io.element.android.libraries.matrix.api.timeline.item.event.TextMessageTy import io.element.android.libraries.matrix.api.timeline.item.event.VideoMessageType import io.element.android.libraries.matrix.api.timeline.item.event.VoiceMessageType import io.element.android.libraries.matrix.ui.messages.toPlainText +import io.element.android.libraries.preferences.api.store.AppPreferencesStore import io.element.android.libraries.push.impl.R import io.element.android.libraries.push.impl.notifications.model.FallbackNotifiableEvent import io.element.android.libraries.push.impl.notifications.model.InviteNotifiableEvent @@ -45,6 +46,7 @@ import io.element.android.libraries.push.impl.notifications.model.ResolvedPushEv import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.services.toolbox.api.strings.StringProvider import io.element.android.services.toolbox.api.systemclock.SystemClock +import kotlinx.coroutines.flow.first import timber.log.Timber import javax.inject.Inject @@ -69,6 +71,7 @@ class DefaultNotifiableEventResolver @Inject constructor( @ApplicationContext private val context: Context, private val permalinkParser: PermalinkParser, private val callNotificationEventResolver: CallNotificationEventResolver, + private val appPreferencesStore: AppPreferencesStore, ) : NotifiableEventResolver { override suspend fun resolveEvent(sessionId: SessionId, roomId: RoomId, eventId: EventId): ResolvedPushEvent? { // Restore session @@ -288,6 +291,9 @@ class DefaultNotifiableEventResolver @Inject constructor( } private suspend fun NotificationContent.MessageLike.RoomMessage.fetchImageIfPresent(client: MatrixClient): Uri? { + if (appPreferencesStore.doesHideImagesAndVideosFlow().first()) { + return null + } val fileResult = when (val messageType = messageType) { is ImageMessageType -> notificationMediaRepoFactory.create(client) .getMediaFile( diff --git a/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolverTest.kt b/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolverTest.kt index de74d1d7a9..aae4d84d38 100644 --- a/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolverTest.kt +++ b/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultNotifiableEventResolverTest.kt @@ -42,6 +42,8 @@ import io.element.android.libraries.matrix.test.FakeMatrixClientProvider import io.element.android.libraries.matrix.test.notification.FakeNotificationService import io.element.android.libraries.matrix.test.notification.aNotificationData import io.element.android.libraries.matrix.test.permalink.FakePermalinkParser +import io.element.android.libraries.preferences.api.store.AppPreferencesStore +import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore import io.element.android.libraries.push.impl.notifications.fake.FakeNotificationMediaRepo import io.element.android.libraries.push.impl.notifications.fixtures.aNotifiableMessageEvent import io.element.android.libraries.push.impl.notifications.model.FallbackNotifiableEvent @@ -798,6 +800,7 @@ class DefaultNotifiableEventResolverTest { private fun createDefaultNotifiableEventResolver( notificationService: FakeNotificationService? = FakeNotificationService(), notificationResult: Result = Result.success(null), + appPreferencesStore: AppPreferencesStore = InMemoryAppPreferencesStore(), ): DefaultNotifiableEventResolver { val context = RuntimeEnvironment.getApplication() as Context notificationService?.givenGetNotificationResult(notificationResult) @@ -821,6 +824,7 @@ class DefaultNotifiableEventResolverTest { callNotificationEventResolver = DefaultCallNotificationEventResolver( stringProvider = AndroidStringProvider(context.resources) ), + appPreferencesStore = appPreferencesStore, ) } } From 0244b71795d323e9ce30960b8aa9e9419bdf6495 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 2 Oct 2024 23:24:29 +0200 Subject: [PATCH 082/151] Fix test compilation --- .../android/features/messages/impl/MessagesPresenterTest.kt | 6 ++++++ .../impl/messagecomposer/MessageComposerPresenterTest.kt | 5 ++++- .../impl/pinned/list/PinnedMessagesListPresenterTest.kt | 4 ++++ .../features/messages/impl/timeline/TimelineViewTest.kt | 4 ++++ .../composer/VoiceMessageComposerPresenterTest.kt | 5 +---- 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index 79792f4db1..60ffcd01d8 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -40,6 +40,7 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVideoContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter import io.element.android.features.messages.impl.typing.aTypingNotificationState import io.element.android.features.messages.impl.utils.FakeTextPillificationHelper import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPlayer @@ -93,6 +94,7 @@ import io.element.android.libraries.mediaviewer.test.FakeLocalMediaFactory import io.element.android.libraries.permissions.api.PermissionsPresenter import io.element.android.libraries.permissions.test.FakePermissionsPresenter import io.element.android.libraries.permissions.test.FakePermissionsPresenterFactory +import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore import io.element.android.libraries.textcomposer.mentions.MentionSpanProvider import io.element.android.libraries.textcomposer.model.MessageComposerMode @@ -1059,12 +1061,16 @@ class MessagesPresenterTest { val readReceiptBottomSheetPresenter = ReadReceiptBottomSheetPresenter() val customReactionPresenter = CustomReactionPresenter(emojibaseProvider = FakeEmojibaseProvider()) val reactionSummaryPresenter = ReactionSummaryPresenter(room = matrixRoom) + val timelineProtectionPresenter = TimelineProtectionPresenter( + appPreferencesStore = InMemoryAppPreferencesStore(), + ) return MessagesPresenter( room = matrixRoom, composerPresenter = messageComposerPresenter, voiceMessageComposerPresenter = voiceMessageComposerPresenter, timelinePresenterFactory = timelinePresenterFactory, + timelineProtectionPresenter = timelineProtectionPresenter, actionListPresenterFactory = FakeActionListPresenter.Factory, customReactionPresenter = customReactionPresenter, reactionSummaryPresenter = reactionSummaryPresenter, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenterTest.kt index 6ec4cdab6a..df0cc1bdc2 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenterTest.kt @@ -1521,4 +1521,7 @@ fun anEditMode( transactionId: TransactionId? = null, ) = MessageComposerMode.Edit(eventId, transactionId, message) -fun aReplyMode() = MessageComposerMode.Reply(replyToDetails = InReplyToDetails.Loading(AN_EVENT_ID)) +fun aReplyMode() = MessageComposerMode.Reply( + replyToDetails = InReplyToDetails.Loading(AN_EVENT_ID), + hideImage = false, +) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt index b7c3a09c5c..3ac9995ec7 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt @@ -14,6 +14,7 @@ import io.element.android.features.messages.impl.actionlist.model.TimelineItemAc import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactoryCreator import io.element.android.features.messages.impl.pinned.PinnedEventsTimelineProvider import io.element.android.features.messages.impl.timeline.model.TimelineItem +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter import io.element.android.features.networkmonitor.api.NetworkMonitor import io.element.android.features.networkmonitor.test.FakeNetworkMonitor import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher @@ -31,6 +32,7 @@ import io.element.android.libraries.matrix.test.room.aRoomInfo import io.element.android.libraries.matrix.test.timeline.FakeTimeline import io.element.android.libraries.matrix.test.timeline.aMessageContent import io.element.android.libraries.matrix.test.timeline.anEventTimelineItem +import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore import io.element.android.services.analytics.api.AnalyticsService import io.element.android.services.analytics.test.FakeAnalyticsService import io.element.android.tests.testutils.lambda.assert @@ -303,12 +305,14 @@ class PinnedMessagesListPresenterTest { initialState = mapOf(FeatureFlags.PinnedEvents.key to isFeatureEnabled) ) ) + val timelineProtectionPresenter = TimelineProtectionPresenter(InMemoryAppPreferencesStore()) timelineProvider.launchIn(backgroundScope) return PinnedMessagesListPresenter( navigator = navigator, room = room, timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(), timelineProvider = timelineProvider, + timelineProtectionPresenter = timelineProtectionPresenter, snackbarDispatcher = SnackbarDispatcher(), actionListPresenterFactory = FakeActionListPresenter.Factory, analyticsService = analyticsService, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt index 88f4edf003..315abd8302 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelineViewTest.kt @@ -17,6 +17,8 @@ import io.element.android.features.messages.impl.timeline.components.aCriticalSh import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemImageContent import io.element.android.features.messages.impl.timeline.model.virtual.TimelineItemLoadingIndicatorModel +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState +import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState import io.element.android.libraries.matrix.api.core.UniqueId import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.timeline.Timeline @@ -137,6 +139,7 @@ class TimelineViewTest { private fun AndroidComposeTestRule.setTimelineView( state: TimelineState, + timelineProtectionState: TimelineProtectionState = aTimelineProtectionState(), onUserDataClick: (UserId) -> Unit = EnsureNeverCalledWithParam(), onLinkClick: (String) -> Unit = EnsureNeverCalledWithParam(), onMessageClick: (TimelineItem.Event) -> Unit = EnsureNeverCalledWithParam(), @@ -152,6 +155,7 @@ private fun AndroidComposeTestRule.setTimel setSafeContent { TimelineView( state = state, + timelineProtectionState = timelineProtectionState, onUserDataClick = onUserDataClick, onLinkClick = onLinkClick, onMessageClick = onMessageClick, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/composer/VoiceMessageComposerPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/composer/VoiceMessageComposerPresenterTest.kt index 70117c6162..b13e2a4fb1 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/composer/VoiceMessageComposerPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/voicemessages/composer/VoiceMessageComposerPresenterTest.kt @@ -17,13 +17,12 @@ import app.cash.turbine.TurbineTestContext import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import im.vector.app.features.analytics.plan.Composer +import io.element.android.features.messages.impl.messagecomposer.aReplyMode import io.element.android.features.messages.impl.voicemessages.VoiceMessageException import io.element.android.features.messages.test.FakeMessageComposerContext import io.element.android.libraries.matrix.api.core.ProgressCallback -import io.element.android.libraries.matrix.test.AN_EVENT_ID import io.element.android.libraries.matrix.test.media.FakeMediaUploadHandler import io.element.android.libraries.matrix.test.room.FakeMatrixRoom -import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetails import io.element.android.libraries.mediaplayer.test.FakeMediaPlayer import io.element.android.libraries.mediaupload.api.MediaSender import io.element.android.libraries.mediaupload.test.FakeMediaPreProcessor @@ -708,8 +707,6 @@ class VoiceMessageComposerPresenterTest { ) } -private fun aReplyMode() = MessageComposerMode.Reply(replyToDetails = InReplyToDetails.Loading(AN_EVENT_ID)) - private fun aVoiceMessageComposerEvent( isReply: Boolean = false ) = Composer( From d2bd1b7cabdb016fe5576ff026015dffd454c245 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 3 Oct 2024 00:51:47 +0200 Subject: [PATCH 083/151] Fix test --- .../io/element/android/tests/konsist/KonsistPreviewTest.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt index 4f5c2d9c2a..1776b070d4 100644 --- a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt @@ -118,6 +118,8 @@ class KonsistPreviewTest { "TimelineItemEventRowWithReplyPreview", "TimelineItemGroupedEventsRowContentCollapsePreview", "TimelineItemGroupedEventsRowContentExpandedPreview", + "TimelineItemImageViewHideContentPreview", + "TimelineItemVideoViewHideContentPreview", "TimelineItemVoiceViewUnifiedPreview", "TimelineVideoWithCaptionRowPreview", "TimelineViewMessageShieldPreview", From 8ffdfff8396b12de0c0c7d28f5494a1d9b53144a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 3 Oct 2024 11:05:58 +0200 Subject: [PATCH 084/151] Add unit test on TimelineProtectionPresenter --- .../TimelineProtectionPresenterTest.kt | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenterTest.kt diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenterTest.kt new file mode 100644 index 0000000000..97b97ac3d5 --- /dev/null +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenterTest.kt @@ -0,0 +1,55 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.protection + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.preferences.api.store.AppPreferencesStore +import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore +import io.element.android.tests.testutils.WarmUpRule +import io.element.android.tests.testutils.test +import kotlinx.collections.immutable.persistentSetOf +import kotlinx.coroutines.test.runTest +import org.junit.Rule +import org.junit.Test + +class TimelineProtectionPresenterTest { + @get:Rule + val warmUpRule = WarmUpRule() + + @Test + fun `present - initial state`() = runTest { + val presenter = createPresenter() + presenter.test { + val initialState = awaitItem() + assertThat(initialState.protectionState).isEqualTo(ProtectionState.RenderAll) + } + } + + @Test + fun `present - protected`() = runTest { + val appPreferencesStore = InMemoryAppPreferencesStore(hideImagesAndVideos = true) + val presenter = createPresenter(appPreferencesStore) + presenter.test { + skipItems(1) + val initialState = awaitItem() + assertThat(initialState.protectionState).isEqualTo(ProtectionState.RenderOnly(persistentSetOf())) + // ShowContent with null should have no effect. + initialState.eventSink(TimelineProtectionEvent.ShowContent(eventId = null)) + initialState.eventSink(TimelineProtectionEvent.ShowContent(eventId = AN_EVENT_ID)) + val finalState = awaitItem() + assertThat(finalState.protectionState).isEqualTo(ProtectionState.RenderOnly(persistentSetOf(AN_EVENT_ID))) + } + } + + private fun createPresenter( + appPreferencesStore: AppPreferencesStore = InMemoryAppPreferencesStore(), + ) = TimelineProtectionPresenter( + appPreferencesStore = appPreferencesStore, + ) +} From 73bdf0e1ce60436097c5fa0cb40e8d1d6cce01d1 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 3 Oct 2024 11:31:01 +0200 Subject: [PATCH 085/151] Add unit test on ProtectedView and TimelineProtectionState --- .../timeline/protection/ProtectedViewTest.kt | 71 +++++++++++++++++++ .../protection/TimelineProtectionStateTest.kt | 44 ++++++++++++ 2 files changed, 115 insertions(+) create mode 100644 features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedViewTest.kt create mode 100644 features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedViewTest.kt new file mode 100644 index 0000000000..a1e876f328 --- /dev/null +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedViewTest.kt @@ -0,0 +1,71 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.protection + +import androidx.activity.ComponentActivity +import androidx.compose.foundation.layout.Box +import androidx.compose.runtime.Composable +import androidx.compose.ui.test.junit4.AndroidComposeTestRule +import androidx.compose.ui.test.junit4.createAndroidComposeRule +import androidx.compose.ui.test.onNodeWithText +import androidx.compose.ui.test.performClick +import androidx.test.ext.junit.runners.AndroidJUnit4 +import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.tests.testutils.ensureCalledOnce +import io.element.android.tests.testutils.lambda.lambdaError +import org.junit.Rule +import org.junit.Test +import org.junit.rules.TestRule +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class ProtectedViewTest { + @get:Rule val rule = createAndroidComposeRule() + + @Test + fun `when hideContent is false, the content is rendered`() { + rule.setProtectedView( + hideContent = false, + content = { + Text("Hello") + } + ) + rule.onNodeWithText("Hello").assertExists() + } + + @Test + fun `when hideContent is true, the content is not rendered, and user can reveal it`() { + ensureCalledOnce { + rule.setProtectedView( + hideContent = true, + onShowClick = it, + content = { + Text("Hello") + } + ) + rule.onNodeWithText("Hello").assertDoesNotExist() + rule.onNodeWithText("Show").performClick() + } + } +} + +private fun AndroidComposeTestRule.setProtectedView( + hideContent: Boolean = false, + onShowClick: () -> Unit = { lambdaError() }, + content: @Composable () -> Unit = {}, +) { + setContent { + Box { + ProtectedView( + hideContent = hideContent, + onShowClick = onShowClick, + content = content + ) + } + } +} diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt new file mode 100644 index 0000000000..0a05636df1 --- /dev/null +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt @@ -0,0 +1,44 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.timeline.protection + +import com.google.common.truth.Truth.assertThat +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.matrix.test.AN_EVENT_ID_2 +import kotlinx.collections.immutable.persistentSetOf +import org.junit.Test + +class TimelineProtectionStateTest { + @Test + fun `when protectionState is RenderAll, hideContent always return null`() { + val sut = aTimelineProtectionState( + protectionState = ProtectionState.RenderAll + ) + assertThat(sut.hideContent(null)).isFalse() + assertThat(sut.hideContent(AN_EVENT_ID)).isFalse() + } + + @Test + fun `when protectionState is RenderOnly with empty set, hideContent always return true`() { + val sut = aTimelineProtectionState( + protectionState = ProtectionState.RenderOnly(persistentSetOf()) + ) + assertThat(sut.hideContent(null)).isTrue() + assertThat(sut.hideContent(AN_EVENT_ID)).isTrue() + } + + @Test + fun `when protectionState is RenderOnly with an Event, hideContent always return true`() { + val sut = aTimelineProtectionState( + protectionState = ProtectionState.RenderOnly(persistentSetOf(AN_EVENT_ID)) + ) + assertThat(sut.hideContent(null)).isTrue() + assertThat(sut.hideContent(AN_EVENT_ID)).isFalse() + assertThat(sut.hideContent(AN_EVENT_ID_2)).isTrue() + } +} From a465b0c0807f54f3648e3fda9d11cd8bbf9a2cf4 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 3 Oct 2024 11:36:01 +0200 Subject: [PATCH 086/151] Remove dead code. --- .../android/features/messages/impl/timeline/TimelineView.kt | 5 ----- 1 file changed, 5 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt index 63a913284d..f0e976e368 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineView.kt @@ -67,7 +67,6 @@ import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.utils.animateScrollToItemCenter import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.UserId -import io.element.android.libraries.matrix.api.timeline.item.event.MessageShield import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.coroutines.launch @@ -117,10 +116,6 @@ fun TimelineView( state.eventSink(TimelineEvents.FocusOnEvent(eventId)) } - fun onShieldClick(shield: MessageShield) { - state.eventSink(TimelineEvents.ShowShieldDialog(shield)) - } - // Animate alpha when timeline is first displayed, to avoid flashes or glitching when viewing rooms AnimatedVisibility(visible = true, enter = fadeIn()) { Box(modifier) { From 5285696b0ab7b16a3555e5f11428f4181bc51f26 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 3 Oct 2024 12:14:17 +0200 Subject: [PATCH 087/151] Fix test name. --- .../impl/timeline/protection/TimelineProtectionStateTest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt index 0a05636df1..cc42b4fd9b 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt @@ -33,7 +33,7 @@ class TimelineProtectionStateTest { } @Test - fun `when protectionState is RenderOnly with an Event, hideContent always return true`() { + fun `when protectionState is RenderOnly with an Event, hideContent can return true or false`() { val sut = aTimelineProtectionState( protectionState = ProtectionState.RenderOnly(persistentSetOf(AN_EVENT_ID)) ) From 8b282f27e5a2efcd854b1609561e24a20c74ad39 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 3 Oct 2024 17:00:48 +0200 Subject: [PATCH 088/151] Hide images: iterate on design. --- .../impl/timeline/protection/ProtectedView.kt | 77 ++++++++++++++++--- .../timeline/protection/ProtectedViewTest.kt | 18 ++--- .../src/main/res/values/localazy.xml | 1 + 3 files changed, 77 insertions(+), 19 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt index d7e8d94963..0761a3fdfb 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt @@ -7,27 +7,86 @@ package io.element.android.features.messages.impl.timeline.protection -import androidx.compose.foundation.layout.BoxScope +import androidx.compose.foundation.background +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import io.element.android.libraries.designsystem.theme.components.Button +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.semantics.Role +import androidx.compose.ui.unit.dp +import io.element.android.compound.theme.ElementTheme +import io.element.android.libraries.designsystem.components.blurhash.blurHashBackground +import io.element.android.libraries.designsystem.preview.ElementPreview +import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.matrix.ui.components.A_BLUR_HASH +import io.element.android.libraries.ui.strings.CommonStrings @Composable -fun BoxScope.ProtectedView( +fun ProtectedView( hideContent: Boolean, onShowClick: () -> Unit, modifier: Modifier = Modifier, content: @Composable () -> Unit, ) { if (hideContent) { - // TODO Update design, wording for video? - Button( - modifier = modifier.align(Alignment.Center), - text = "Show", - onClick = onShowClick, - ) + Box( + modifier = modifier + .fillMaxSize() + .background(Color(0x99000000)), + contentAlignment = Alignment.Center, + ) { + ElementTheme(darkTheme = false) { + // Not using a button to be able to have correct size + Text( + modifier = Modifier + .clip(RoundedCornerShape(percent = 50)) + .clickable( + onClick = onShowClick, + role = Role.Button, + ) + .padding(4.dp) + .border( + width = 1.dp, + color = ElementTheme.colors.borderInteractiveSecondary, + shape = RoundedCornerShape(percent = 50), + ) + .padding( + horizontal = 16.dp, + vertical = 4.dp, + ), + text = stringResource(CommonStrings.action_show), + color = ElementTheme.colors.textOnSolidPrimary, + style = ElementTheme.typography.fontBodyLgMedium, + ) + } + } } else { content() } } + +@PreviewsDayNight +@Composable +internal fun PreviewProtectedView() = ElementPreview { + Box( + modifier = Modifier + .size(160.dp) + .blurHashBackground(A_BLUR_HASH) + ) { + ProtectedView( + hideContent = true, + onShowClick = {}, + content = {}, + ) + } +} diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedViewTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedViewTest.kt index a1e876f328..5d82b292bf 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedViewTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedViewTest.kt @@ -8,14 +8,14 @@ package io.element.android.features.messages.impl.timeline.protection import androidx.activity.ComponentActivity -import androidx.compose.foundation.layout.Box import androidx.compose.runtime.Composable import androidx.compose.ui.test.junit4.AndroidComposeTestRule import androidx.compose.ui.test.junit4.createAndroidComposeRule import androidx.compose.ui.test.onNodeWithText -import androidx.compose.ui.test.performClick import androidx.test.ext.junit.runners.AndroidJUnit4 import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.ui.strings.CommonStrings +import io.element.android.tests.testutils.clickOn import io.element.android.tests.testutils.ensureCalledOnce import io.element.android.tests.testutils.lambda.lambdaError import org.junit.Rule @@ -49,7 +49,7 @@ class ProtectedViewTest { } ) rule.onNodeWithText("Hello").assertDoesNotExist() - rule.onNodeWithText("Show").performClick() + rule.clickOn(CommonStrings.action_show) } } } @@ -60,12 +60,10 @@ private fun AndroidComposeTestRule.setProte content: @Composable () -> Unit = {}, ) { setContent { - Box { - ProtectedView( - hideContent = hideContent, - onShowClick = onShowClick, - content = content - ) - } + ProtectedView( + hideContent = hideContent, + onShowClick = onShowClick, + content = content + ) } } diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index 11e1ab922a..3fb2adc584 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -104,6 +104,7 @@ "Send message" "Share" "Share link" + "Show" "Sign in again" "Sign out" "Sign out anyway" From 70c6bede971cf5f62210241b2911ce03e3478c8a Mon Sep 17 00:00:00 2001 From: ElementBot Date: Thu, 3 Oct 2024 15:25:35 +0000 Subject: [PATCH 089/151] Update screenshots --- ...onents.event_TimelineItemImageViewHideContent_Day_0_en.png | 3 +++ ...ents.event_TimelineItemImageViewHideContent_Night_0_en.png | 3 +++ ...meline.components.event_TimelineItemImageView_Day_3_en.png | 3 +++ ...line.components.event_TimelineItemImageView_Night_3_en.png | 3 +++ ...line.components.event_TimelineItemStickerView_Day_0_en.png | 4 ++-- ...line.components.event_TimelineItemStickerView_Day_1_en.png | 4 ++-- ...line.components.event_TimelineItemStickerView_Day_2_en.png | 4 ++-- ...line.components.event_TimelineItemStickerView_Day_3_en.png | 3 +++ ...ne.components.event_TimelineItemStickerView_Night_0_en.png | 4 ++-- ...ne.components.event_TimelineItemStickerView_Night_1_en.png | 4 ++-- ...ne.components.event_TimelineItemStickerView_Night_2_en.png | 4 ++-- ...ne.components.event_TimelineItemStickerView_Night_3_en.png | 3 +++ ...onents.event_TimelineItemVideoViewHideContent_Day_0_en.png | 3 +++ ...ents.event_TimelineItemVideoViewHideContent_Night_0_en.png | 3 +++ ...meline.components.event_TimelineItemVideoView_Day_3_en.png | 3 +++ ...line.components.event_TimelineItemVideoView_Night_3_en.png | 3 +++ ...ssages.impl.timeline.protection_ProtectedView_Day_0_en.png | 3 +++ ...ages.impl.timeline.protection_ProtectedView_Night_0_en.png | 3 +++ ...ferences.impl.developer_DeveloperSettingsView_Day_0_en.png | 4 ++-- ...ferences.impl.developer_DeveloperSettingsView_Day_1_en.png | 4 ++-- ...ferences.impl.developer_DeveloperSettingsView_Day_2_en.png | 4 ++-- ...rences.impl.developer_DeveloperSettingsView_Night_0_en.png | 4 ++-- ...rences.impl.developer_DeveloperSettingsView_Night_1_en.png | 4 ++-- ...rences.impl.developer_DeveloperSettingsView_Night_2_en.png | 4 ++-- 24 files changed, 60 insertions(+), 24 deletions(-) create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Night_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageView_Day_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageView_Night_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Night_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.protection_ProtectedView_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.protection_ProtectedView_Night_0_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Day_0_en.png new file mode 100644 index 0000000000..0103ed2548 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78ea6cbfcf12e405eca8b953b3d847e73f80121ad47beb6346563a2e9b5d567b +size 56342 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Night_0_en.png new file mode 100644 index 0000000000..9e571c9b94 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:047da66e7f7e78478b1d8442028224073e3d31493b5facf926472fc526532be1 +size 56473 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageView_Day_3_en.png new file mode 100644 index 0000000000..1b6fb4bab8 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageView_Day_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96a867cb12498cbdc97957bee07855dfaa13602baddaf933aff2b666ef4c7650 +size 3642 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageView_Night_3_en.png new file mode 100644 index 0000000000..d6fd8eeb70 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageView_Night_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bb36ccd718f3fec5b04f1bc812dc7718b5ea7fa4619c8b031466297a8d016fd +size 3659 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_0_en.png index 78579bbd4a..40ad608500 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dac7e47f0e994457ed3db3add1a982f6dbecbd24533b4dca25b6b58b8a25a39d -size 36847 +oid sha256:bee6962a35cc2da956be0488f446c9a3d8831cec97f30e0828440068f764a0d1 +size 34241 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_1_en.png index f79503d780..f1d9752b9e 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d2615fb7e5541a393546f647e2f0534dcab5cc807eabec5d900ffbc571493932 -size 50069 +oid sha256:f08bf0cad0c94da75a0efb97dc92bc3e3c36cde4d833a6a26f9b0d63887785bf +size 47453 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_2_en.png index d9ee17d120..4238d4bab8 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:60f34ea24588048379282997eba41bc269a63a2d48d95fd9f83053adf22adc30 -size 62067 +oid sha256:0d5253e52390f9dcdd46db4f8d98d26be7cc8d05176d707a8a8c10adf4e7307b +size 57064 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_3_en.png new file mode 100644 index 0000000000..1b6fb4bab8 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96a867cb12498cbdc97957bee07855dfaa13602baddaf933aff2b666ef4c7650 +size 3642 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_0_en.png index d96328629f..1db3339236 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6abd680ddf4abfeeb06968624a2d6f7468031d4774f39fccf6e6bf767d957142 -size 36814 +oid sha256:d37431be2add3d26b6fd41a94a4c2970d3303de8d39154f1b36f33ec4ae6bf44 +size 34260 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_1_en.png index 593fb030c1..c6c6efe376 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ab8cf4eeb0aedb2061b7a7b2c762d3c0113a378872cfbb44d456c5c765790b5 -size 49975 +oid sha256:1a7cdbdd2fac32dcf3c08dcd2abdc8ec96c7b5d56bdfafb5b8594e84ad5da884 +size 47375 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_2_en.png index 0e4582b9ed..94bac0a161 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:784d117799cee721b3efdf2eb8826642843e44ea893f2f5f2148d29b251a9537 -size 61573 +oid sha256:f0f597867f02b8c31fc094f02b39bea68a00b553cb999e3231f4d046e09da9a0 +size 56893 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_3_en.png new file mode 100644 index 0000000000..d6fd8eeb70 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bb36ccd718f3fec5b04f1bc812dc7718b5ea7fa4619c8b031466297a8d016fd +size 3659 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Day_0_en.png new file mode 100644 index 0000000000..0103ed2548 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:78ea6cbfcf12e405eca8b953b3d847e73f80121ad47beb6346563a2e9b5d567b +size 56342 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Night_0_en.png new file mode 100644 index 0000000000..9e571c9b94 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:047da66e7f7e78478b1d8442028224073e3d31493b5facf926472fc526532be1 +size 56473 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_3_en.png new file mode 100644 index 0000000000..a1719dd0a5 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:351b2b559fbe17a1de36c51e63171230b6807702c6b56233ba584ca65ff5eff9 +size 5015 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_3_en.png new file mode 100644 index 0000000000..03bc461c8c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:13e417d71098d8c863e72753263dfa27f7b398ed5ecb6461f7dde7081fd622fa +size 4801 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.protection_ProtectedView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.protection_ProtectedView_Day_0_en.png new file mode 100644 index 0000000000..6dd8676eee --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.protection_ProtectedView_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:db067468af10a72fbaa437a00937afddba100f5345317b9c23b03c8920d5cffa +size 33401 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.protection_ProtectedView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.protection_ProtectedView_Night_0_en.png new file mode 100644 index 0000000000..3c4052880c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.protection_ProtectedView_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c0fc9f20bae5c54d807f5917844669bb8909514483d2ad29b348ef18f8f986a6 +size 33356 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_0_en.png index d46d57762d..c02cae3baf 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb9971d6aa7f0734f9a30f83b25a03519f97789618219f0c79efa87d4430ca0f -size 58918 +oid sha256:0dda72bce08ceff2d577feabb88d097dc0af0de2bd6b24261adf39bed92a5157 +size 57652 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_1_en.png index d46d57762d..c02cae3baf 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb9971d6aa7f0734f9a30f83b25a03519f97789618219f0c79efa87d4430ca0f -size 58918 +oid sha256:0dda72bce08ceff2d577feabb88d097dc0af0de2bd6b24261adf39bed92a5157 +size 57652 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_2_en.png index 5119090213..15296e31b6 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f44fc0dc3cd92839a7b176b086be75b082a238b9c8cd197f7273b33e7f01c591 -size 57495 +oid sha256:1ed1eeca50499ba467db8d2b17d334becb68cc9ea7418286eee8e19aeab3f9cb +size 56240 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_0_en.png index 2294fd4c8a..78295963cb 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:93a6d6723bc89b9660a440848461c1568004d312599d7d2d2b94299d6aa47c0a -size 57037 +oid sha256:ccc5bf3169fbbd19626c775c88e295b48192f5a54b5640c99dfeca813e8e7ca5 +size 55838 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_1_en.png index 2294fd4c8a..78295963cb 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:93a6d6723bc89b9660a440848461c1568004d312599d7d2d2b94299d6aa47c0a -size 57037 +oid sha256:ccc5bf3169fbbd19626c775c88e295b48192f5a54b5640c99dfeca813e8e7ca5 +size 55838 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_2_en.png index 1e6522216a..d32653f9fb 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.developer_DeveloperSettingsView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd7e58a29f370733af1e35531f428d5d2a732c70b9156d66ba590c9c5203f5d6 -size 55689 +oid sha256:266125ef6b0812194472e6efb5c832210523e0bc1538408f872ef5c48fc3906d +size 54434 From a3e24578344956a5b1f027532aa4d300effc474d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 3 Oct 2024 18:54:19 +0200 Subject: [PATCH 090/151] SuppressWarnings ModifierClickableOrder --- .../features/messages/impl/timeline/protection/ProtectedView.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt index 0761a3fdfb..f0fbaa8eb1 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt @@ -31,6 +31,7 @@ import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.ui.components.A_BLUR_HASH import io.element.android.libraries.ui.strings.CommonStrings +@SuppressWarnings("ModifierClickableOrder") @Composable fun ProtectedView( hideContent: Boolean, From fafd5d4871c36fc81512d5f9362c3d54892e6079 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 4 Oct 2024 12:24:50 +0200 Subject: [PATCH 091/151] Let `invokeOnCurrentTimeline` lambda param return Unit so that we can remove `run` block. --- .../impl/messagecomposer/MessageComposerPresenter.kt | 12 +++++------- .../messages/impl/timeline/TimelineController.kt | 2 +- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt index 6b80605401..8529732b06 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerPresenter.kt @@ -592,13 +592,11 @@ class MessageComposerPresenter @Inject constructor( ) timelineController.invokeOnCurrentTimeline { val replyToDetails = loadReplyDetails(draftType.eventId).map(permalinkParser) - run { - messageComposerContext.composerMode = MessageComposerMode.Reply( - replyToDetails = replyToDetails, - // I guess it's fine to always render the image when restoring a draft - hideImage = false - ) - } + messageComposerContext.composerMode = MessageComposerMode.Reply( + replyToDetails = replyToDetails, + // I guess it's fine to always render the image when restoring a draft + hideImage = false + ) } } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineController.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineController.kt index d83e526694..c55750dac5 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineController.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelineController.kt @@ -57,7 +57,7 @@ class TimelineController @Inject constructor( return detachedTimeline.map { !it.isPresent } } - suspend fun invokeOnCurrentTimeline(block: suspend (Timeline.() -> Any)) { + suspend fun invokeOnCurrentTimeline(block: suspend (Timeline.() -> Unit)) { currentTimelineFlow.value.run { block(this) } From b889e8681c2ecea4d697809ddfb638887221fd95 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 4 Oct 2024 13:57:59 +0200 Subject: [PATCH 092/151] Rename `hideContent` to `hideMediaContent` --- .../messages/impl/MessagesPresenter.kt | 2 +- .../pinned/list/PinnedMessagesListView.kt | 2 +- .../components/TimelineItemEventRow.kt | 4 ++-- .../TimelineItemGroupedEventsRow.kt | 4 ++-- .../timeline/components/TimelineItemRow.kt | 4 ++-- .../components/TimelineItemStateEventRow.kt | 2 +- .../event/TimelineItemEventContentView.kt | 8 ++++---- .../components/event/TimelineItemImageView.kt | 10 +++++----- .../event/TimelineItemStickerView.kt | 6 +++--- .../components/event/TimelineItemVideoView.kt | 10 +++++----- .../protection/TimelineProtectionPresenter.kt | 6 +++--- .../protection/TimelineProtectionState.kt | 2 +- .../protection/TimelineProtectionStateTest.kt | 20 +++++++++---------- .../tests/konsist/KonsistPreviewTest.kt | 4 ++-- 14 files changed, 42 insertions(+), 42 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt index 274e94617d..68383e5829 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt @@ -402,7 +402,7 @@ class MessagesPresenter @AssistedInject constructor( val replyToDetails = loadReplyDetails(targetEvent.eventId).map(permalinkParser) val composerMode = MessageComposerMode.Reply( replyToDetails = replyToDetails, - hideImage = timelineProtectionState.hideContent(targetEvent.eventId), + hideImage = timelineProtectionState.hideMediaContent(targetEvent.eventId), ) composerState.eventSink( MessageComposerEvents.SetMode(composerMode) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt index fc561d57e9..3c7f76e507 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListView.kt @@ -256,7 +256,7 @@ private fun TimelineItemEventContentViewWrapper( } else { TimelineItemEventContentView( content = event.content, - hideContent = timelineProtectionState.hideContent(event.eventId), + hideMediaContent = timelineProtectionState.hideMediaContent(event.eventId), onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onLinkClick = onLinkClick, eventSink = { }, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt index bc710aeb92..67342203bd 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRow.kt @@ -129,7 +129,7 @@ fun TimelineItemEventRow( eventContentView: @Composable (Modifier, (ContentAvoidingLayoutData) -> Unit) -> Unit = { contentModifier, onContentLayoutChange -> TimelineItemEventContentView( content = event.content, - hideContent = timelineProtectionState.hideContent(event.eventId), + hideMediaContent = timelineProtectionState.hideMediaContent(event.eventId), onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onLinkClick = onLinkClick, eventSink = eventSink, @@ -572,7 +572,7 @@ private fun MessageEventBubbleContent( .clickable(onClick = inReplyToClick) InReplyToView( inReplyTo = inReplyTo, - hideImage = timelineProtectionState.hideContent(inReplyTo.eventId()), + hideImage = timelineProtectionState.hideMediaContent(inReplyTo.eventId()), modifier = inReplyToModifier, ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt index eec5adcb4e..d280efa62c 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemGroupedEventsRow.kt @@ -56,7 +56,7 @@ fun TimelineItemGroupedEventsRow( { event, contentModifier, onContentLayoutChange -> TimelineItemEventContentView( content = event.content, - hideContent = timelineProtectionState.hideContent(event.eventId), + hideMediaContent = timelineProtectionState.hideMediaContent(event.eventId), onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onLinkClick = onLinkClick, eventSink = eventSink, @@ -120,7 +120,7 @@ private fun TimelineItemGroupedEventsRowContent( { event, contentModifier, onContentLayoutChange -> TimelineItemEventContentView( content = event.content, - hideContent = timelineProtectionState.hideContent(event.eventId), + hideMediaContent = timelineProtectionState.hideMediaContent(event.eventId), onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onLinkClick = onLinkClick, eventSink = eventSink, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt index 35199837cc..c7c1cb5350 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemRow.kt @@ -59,7 +59,7 @@ internal fun TimelineItemRow( { event, contentModifier, onContentLayoutChange -> TimelineItemEventContentView( content = event.content, - hideContent = timelineProtectionState.hideContent(event.eventId), + hideMediaContent = timelineProtectionState.hideMediaContent(event.eventId), onShowClick = { timelineProtectionState.eventSink(TimelineProtectionEvent.ShowContent(event.eventId)) }, onLinkClick = onLinkClick, eventSink = eventSink, @@ -118,7 +118,7 @@ internal fun TimelineItemRow( timelineProtectionState = timelineProtectionState, isLastOutgoingMessage = isLastOutgoingMessage, isHighlighted = timelineItem.isEvent(focusedEventId), - onClick = if (timelineProtectionState.hideContent(timelineItem.eventId) && timelineItem.mustBeProtected()) { + onClick = if (timelineProtectionState.hideMediaContent(timelineItem.eventId) && timelineItem.mustBeProtected()) { {} } else { { onClick(timelineItem) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt index 2e3812a09d..f023a63c35 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemStateEventRow.kt @@ -71,7 +71,7 @@ fun TimelineItemStateEventRow( TimelineItemEventContentView( content = event.content, onLinkClick = {}, - hideContent = false, + hideMediaContent = false, onShowClick = {}, eventSink = eventSink, modifier = Modifier.defaultTimelineContentPadding() diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEventContentView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEventContentView.kt index c855714d14..b24a5ca0be 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEventContentView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEventContentView.kt @@ -35,7 +35,7 @@ import io.element.android.libraries.architecture.Presenter @Composable fun TimelineItemEventContentView( content: TimelineItemEventContent, - hideContent: Boolean, + hideMediaContent: Boolean, onShowClick: () -> Unit, onLinkClick: (url: String) -> Unit, eventSink: (TimelineEvents.EventFromTimelineItem) -> Unit, @@ -71,20 +71,20 @@ fun TimelineItemEventContentView( ) is TimelineItemImageContent -> TimelineItemImageView( content = content, - hideContent = hideContent, + hideMediaContent = hideMediaContent, onShowClick = onShowClick, onContentLayoutChange = onContentLayoutChange, modifier = modifier, ) is TimelineItemStickerContent -> TimelineItemStickerView( content = content, - hideContent = hideContent, + hideMediaContent = hideMediaContent, onShowClick = onShowClick, modifier = modifier, ) is TimelineItemVideoContent -> TimelineItemVideoView( content = content, - hideContent = hideContent, + hideMediaContent = hideMediaContent, onShowClick = onShowClick, onContentLayoutChange = onContentLayoutChange, modifier = modifier diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt index e7cacede9e..85b2b7f678 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemImageView.kt @@ -59,7 +59,7 @@ import io.element.android.wysiwyg.compose.EditorStyledText @Composable fun TimelineItemImageView( content: TimelineItemImageContent, - hideContent: Boolean, + hideMediaContent: Boolean, onShowClick: () -> Unit, onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit, modifier: Modifier = Modifier, @@ -80,7 +80,7 @@ fun TimelineItemImageView( aspectRatio = content.aspectRatio, ) { ProtectedView( - hideContent = hideContent, + hideContent = hideMediaContent, onShowClick = onShowClick, ) { var isLoaded by remember { mutableStateOf(false) } @@ -133,7 +133,7 @@ fun TimelineItemImageView( internal fun TimelineItemImageViewPreview(@PreviewParameter(TimelineItemImageContentProvider::class) content: TimelineItemImageContent) = ElementPreview { TimelineItemImageView( content = content, - hideContent = false, + hideMediaContent = false, onShowClick = {}, onContentLayoutChange = {}, ) @@ -141,10 +141,10 @@ internal fun TimelineItemImageViewPreview(@PreviewParameter(TimelineItemImageCon @PreviewsDayNight @Composable -internal fun TimelineItemImageViewHideContentPreview() = ElementPreview { +internal fun TimelineItemImageViewHideMediaContentPreview() = ElementPreview { TimelineItemImageView( content = aTimelineItemImageContent(), - hideContent = true, + hideMediaContent = true, onShowClick = {}, onContentLayoutChange = {}, ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt index d41b985d86..cef5acd1dd 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemStickerView.kt @@ -39,7 +39,7 @@ private const val STICKER_SIZE_IN_DP = 128 @Composable fun TimelineItemStickerView( content: TimelineItemStickerContent, - hideContent: Boolean, + hideMediaContent: Boolean, onShowClick: () -> Unit, modifier: Modifier = Modifier, ) { @@ -54,7 +54,7 @@ fun TimelineItemStickerView( maxHeight = STICKER_SIZE_IN_DP, ) { ProtectedView( - hideContent = hideContent, + hideContent = hideMediaContent, onShowClick = onShowClick, ) { var isLoaded by remember { mutableStateOf(false) } @@ -84,7 +84,7 @@ fun TimelineItemStickerView( internal fun TimelineItemStickerViewPreview(@PreviewParameter(TimelineItemStickerContentProvider::class) content: TimelineItemStickerContent) = ElementPreview { TimelineItemStickerView( content = content, - hideContent = false, + hideMediaContent = false, onShowClick = {}, ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt index 9c28172c2e..7815e02610 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemVideoView.kt @@ -65,7 +65,7 @@ import io.element.android.wysiwyg.compose.EditorStyledText @Composable fun TimelineItemVideoView( content: TimelineItemVideoContent, - hideContent: Boolean, + hideMediaContent: Boolean, onShowClick: () -> Unit, onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit, modifier: Modifier = Modifier, @@ -87,7 +87,7 @@ fun TimelineItemVideoView( contentAlignment = Alignment.Center, ) { ProtectedView( - hideContent = hideContent, + hideContent = hideMediaContent, onShowClick = onShowClick, ) { var isLoaded by remember { mutableStateOf(false) } @@ -151,7 +151,7 @@ fun TimelineItemVideoView( internal fun TimelineItemVideoViewPreview(@PreviewParameter(TimelineItemVideoContentProvider::class) content: TimelineItemVideoContent) = ElementPreview { TimelineItemVideoView( content = content, - hideContent = false, + hideMediaContent = false, onShowClick = {}, onContentLayoutChange = {}, ) @@ -159,10 +159,10 @@ internal fun TimelineItemVideoViewPreview(@PreviewParameter(TimelineItemVideoCon @PreviewsDayNight @Composable -internal fun TimelineItemVideoViewHideContentPreview() = ElementPreview { +internal fun TimelineItemVideoViewHideMediaContentPreview() = ElementPreview { TimelineItemVideoView( content = aTimelineItemVideoContent(), - hideContent = true, + hideMediaContent = true, onShowClick = {}, onContentLayoutChange = {}, ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenter.kt index 46ac375aa4..5d83347e67 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionPresenter.kt @@ -25,11 +25,11 @@ class TimelineProtectionPresenter @Inject constructor( ) : Presenter { @Composable override fun present(): TimelineProtectionState { - val hideContent by appPreferencesStore.doesHideImagesAndVideosFlow().collectAsState(initial = false) + val hideMediaContent by appPreferencesStore.doesHideImagesAndVideosFlow().collectAsState(initial = false) var allowedEvents by remember { mutableStateOf>(setOf()) } - val protectionState by remember(hideContent) { + val protectionState by remember(hideMediaContent) { derivedStateOf { - if (hideContent) { + if (hideMediaContent) { ProtectionState.RenderOnly(eventIds = allowedEvents.toImmutableSet()) } else { ProtectionState.RenderAll diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionState.kt index 66ebb279f5..af1f26127c 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionState.kt @@ -15,7 +15,7 @@ data class TimelineProtectionState( val protectionState: ProtectionState, val eventSink: (TimelineProtectionEvent) -> Unit, ) { - fun hideContent(eventId: EventId?) = when (protectionState) { + fun hideMediaContent(eventId: EventId?) = when (protectionState) { is ProtectionState.RenderAll -> false is ProtectionState.RenderOnly -> eventId !in protectionState.eventIds } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt index cc42b4fd9b..81187eb6d4 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/protection/TimelineProtectionStateTest.kt @@ -15,30 +15,30 @@ import org.junit.Test class TimelineProtectionStateTest { @Test - fun `when protectionState is RenderAll, hideContent always return null`() { + fun `when protectionState is RenderAll, hideMediaContent always return null`() { val sut = aTimelineProtectionState( protectionState = ProtectionState.RenderAll ) - assertThat(sut.hideContent(null)).isFalse() - assertThat(sut.hideContent(AN_EVENT_ID)).isFalse() + assertThat(sut.hideMediaContent(null)).isFalse() + assertThat(sut.hideMediaContent(AN_EVENT_ID)).isFalse() } @Test - fun `when protectionState is RenderOnly with empty set, hideContent always return true`() { + fun `when protectionState is RenderOnly with empty set, hideMediaContent always return true`() { val sut = aTimelineProtectionState( protectionState = ProtectionState.RenderOnly(persistentSetOf()) ) - assertThat(sut.hideContent(null)).isTrue() - assertThat(sut.hideContent(AN_EVENT_ID)).isTrue() + assertThat(sut.hideMediaContent(null)).isTrue() + assertThat(sut.hideMediaContent(AN_EVENT_ID)).isTrue() } @Test - fun `when protectionState is RenderOnly with an Event, hideContent can return true or false`() { + fun `when protectionState is RenderOnly with an Event, hideMediaContent can return true or false`() { val sut = aTimelineProtectionState( protectionState = ProtectionState.RenderOnly(persistentSetOf(AN_EVENT_ID)) ) - assertThat(sut.hideContent(null)).isTrue() - assertThat(sut.hideContent(AN_EVENT_ID)).isFalse() - assertThat(sut.hideContent(AN_EVENT_ID_2)).isTrue() + assertThat(sut.hideMediaContent(null)).isTrue() + assertThat(sut.hideMediaContent(AN_EVENT_ID)).isFalse() + assertThat(sut.hideMediaContent(AN_EVENT_ID_2)).isTrue() } } diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt index 1776b070d4..ac3474e7f9 100644 --- a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt @@ -118,8 +118,8 @@ class KonsistPreviewTest { "TimelineItemEventRowWithReplyPreview", "TimelineItemGroupedEventsRowContentCollapsePreview", "TimelineItemGroupedEventsRowContentExpandedPreview", - "TimelineItemImageViewHideContentPreview", - "TimelineItemVideoViewHideContentPreview", + "TimelineItemImageViewHideMediaContentPreview", + "TimelineItemVideoViewHideMediaContentPreview", "TimelineItemVoiceViewUnifiedPreview", "TimelineVideoWithCaptionRowPreview", "TimelineViewMessageShieldPreview", From a72c406c86af4b5d3f08bb9d8f66658a37ef1100 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 4 Oct 2024 14:07:14 +0200 Subject: [PATCH 093/151] Fix preview name. --- .../features/messages/impl/timeline/protection/ProtectedView.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt index f0fbaa8eb1..6a9db31682 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt @@ -78,7 +78,7 @@ fun ProtectedView( @PreviewsDayNight @Composable -internal fun PreviewProtectedView() = ElementPreview { +internal fun ProtectedViewPreview() = ElementPreview { Box( modifier = Modifier .size(160.dp) From 1fad4d43bec709643da437e61fbdd1fac22c36dc Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 4 Oct 2024 15:52:41 +0200 Subject: [PATCH 094/151] Do not inject the TimelineProtectionPresenter --- .../android/features/messages/impl/MessagesPresenter.kt | 3 +-- .../android/features/messages/impl/di/MessagesModule.kt | 5 +++++ .../impl/pinned/list/PinnedMessagesListPresenter.kt | 3 +-- .../features/messages/impl/MessagesPresenterTest.kt | 9 ++------- .../impl/pinned/list/PinnedMessagesListPresenterTest.kt | 6 ++---- 5 files changed, 11 insertions(+), 15 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt index 68383e5829..388780d384 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt @@ -46,7 +46,6 @@ import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.TimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStateContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextBasedContent -import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPresenter import io.element.android.features.networkmonitor.api.NetworkMonitor @@ -92,7 +91,7 @@ class MessagesPresenter @AssistedInject constructor( private val composerPresenter: MessageComposerPresenter, private val voiceMessageComposerPresenter: VoiceMessageComposerPresenter, timelinePresenterFactory: TimelinePresenter.Factory, - private val timelineProtectionPresenter: TimelineProtectionPresenter, + private val timelineProtectionPresenter: Presenter, private val actionListPresenterFactory: ActionListPresenter.Factory, private val customReactionPresenter: CustomReactionPresenter, private val reactionSummaryPresenter: ReactionSummaryPresenter, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt index a6cbd68cf6..1a5aa1c7d1 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt @@ -14,6 +14,8 @@ import io.element.android.features.messages.impl.crypto.sendfailure.resolve.Reso import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerPresenter import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerState +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter +import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState import io.element.android.features.messages.impl.typing.TypingNotificationPresenter import io.element.android.features.messages.impl.typing.TypingNotificationState import io.element.android.libraries.architecture.Presenter @@ -30,4 +32,7 @@ interface MessagesModule { @Binds fun bindTypingNotificationPresenter(presenter: TypingNotificationPresenter): Presenter + + @Binds + fun bindTimelineProtectionPresenter(presenter: TimelineProtectionPresenter): Presenter } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt index 7452e7b01a..4ccef0f23d 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenter.kt @@ -30,7 +30,6 @@ import io.element.android.features.messages.impl.timeline.TimelineRoomInfo import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactory import io.element.android.features.messages.impl.timeline.factories.TimelineItemsFactoryConfig import io.element.android.features.messages.impl.timeline.model.TimelineItem -import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState import io.element.android.features.messages.impl.typing.TypingNotificationState import io.element.android.libraries.architecture.AsyncData @@ -62,7 +61,7 @@ class PinnedMessagesListPresenter @AssistedInject constructor( private val room: MatrixRoom, timelineItemsFactoryCreator: TimelineItemsFactory.Creator, private val timelineProvider: PinnedEventsTimelineProvider, - private val timelineProtectionPresenter: TimelineProtectionPresenter, + private val timelineProtectionPresenter: Presenter, private val snackbarDispatcher: SnackbarDispatcher, actionListPresenterFactory: ActionListPresenter.Factory, private val appCoroutineScope: CoroutineScope, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index 60ffcd01d8..209d719b82 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -40,7 +40,7 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt import io.element.android.features.messages.impl.timeline.model.event.TimelineItemVideoContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent -import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter +import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState import io.element.android.features.messages.impl.typing.aTypingNotificationState import io.element.android.features.messages.impl.utils.FakeTextPillificationHelper import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPlayer @@ -94,7 +94,6 @@ import io.element.android.libraries.mediaviewer.test.FakeLocalMediaFactory import io.element.android.libraries.permissions.api.PermissionsPresenter import io.element.android.libraries.permissions.test.FakePermissionsPresenter import io.element.android.libraries.permissions.test.FakePermissionsPresenterFactory -import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore import io.element.android.libraries.textcomposer.mentions.MentionSpanProvider import io.element.android.libraries.textcomposer.model.MessageComposerMode @@ -1061,16 +1060,12 @@ class MessagesPresenterTest { val readReceiptBottomSheetPresenter = ReadReceiptBottomSheetPresenter() val customReactionPresenter = CustomReactionPresenter(emojibaseProvider = FakeEmojibaseProvider()) val reactionSummaryPresenter = ReactionSummaryPresenter(room = matrixRoom) - val timelineProtectionPresenter = TimelineProtectionPresenter( - appPreferencesStore = InMemoryAppPreferencesStore(), - ) - return MessagesPresenter( room = matrixRoom, composerPresenter = messageComposerPresenter, voiceMessageComposerPresenter = voiceMessageComposerPresenter, timelinePresenterFactory = timelinePresenterFactory, - timelineProtectionPresenter = timelineProtectionPresenter, + timelineProtectionPresenter = { aTimelineProtectionState() }, actionListPresenterFactory = FakeActionListPresenter.Factory, customReactionPresenter = customReactionPresenter, reactionSummaryPresenter = reactionSummaryPresenter, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt index 3ac9995ec7..b8715568d1 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt @@ -14,7 +14,7 @@ import io.element.android.features.messages.impl.actionlist.model.TimelineItemAc import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactoryCreator import io.element.android.features.messages.impl.pinned.PinnedEventsTimelineProvider import io.element.android.features.messages.impl.timeline.model.TimelineItem -import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter +import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState import io.element.android.features.networkmonitor.api.NetworkMonitor import io.element.android.features.networkmonitor.test.FakeNetworkMonitor import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher @@ -32,7 +32,6 @@ import io.element.android.libraries.matrix.test.room.aRoomInfo import io.element.android.libraries.matrix.test.timeline.FakeTimeline import io.element.android.libraries.matrix.test.timeline.aMessageContent import io.element.android.libraries.matrix.test.timeline.anEventTimelineItem -import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore import io.element.android.services.analytics.api.AnalyticsService import io.element.android.services.analytics.test.FakeAnalyticsService import io.element.android.tests.testutils.lambda.assert @@ -305,14 +304,13 @@ class PinnedMessagesListPresenterTest { initialState = mapOf(FeatureFlags.PinnedEvents.key to isFeatureEnabled) ) ) - val timelineProtectionPresenter = TimelineProtectionPresenter(InMemoryAppPreferencesStore()) timelineProvider.launchIn(backgroundScope) return PinnedMessagesListPresenter( navigator = navigator, room = room, timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(), timelineProvider = timelineProvider, - timelineProtectionPresenter = timelineProtectionPresenter, + timelineProtectionPresenter = { aTimelineProtectionState() }, snackbarDispatcher = SnackbarDispatcher(), actionListPresenterFactory = FakeActionListPresenter.Factory, analyticsService = analyticsService, From 041f1b4a06fcee6cf66a586a43a4ffd456ec6f36 Mon Sep 17 00:00:00 2001 From: Valere Date: Tue, 1 Oct 2024 09:31:56 +0200 Subject: [PATCH 095/151] crypto: Use OnlySigned isolation flag to setup decryption trust req. --- .../libraries/matrix/impl/RustMatrixClientFactory.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt index 27d33d5bbf..c33ccdb543 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt @@ -32,6 +32,7 @@ import org.matrix.rustcomponents.sdk.SlidingSyncVersionBuilder import org.matrix.rustcomponents.sdk.use import timber.log.Timber import uniffi.matrix_sdk_crypto.CollectStrategy +import uniffi.matrix_sdk_crypto.TrustRequirement import java.io.File import javax.inject.Inject @@ -108,6 +109,13 @@ class RustMatrixClientFactory @Inject constructor( CollectStrategy.DeviceBasedStrategy(onlyAllowTrustedDevices = false, errorOnVerifiedUserProblem = true) } ) + .roomDecryptionTrustRequirement( + trustRequirement = if (featureFlagService.isFeatureEnabled(FeatureFlags.OnlySignedDeviceIsolationMode)) { + TrustRequirement.CROSS_SIGNED_OR_LEGACY + } else { + TrustRequirement.UNTRUSTED + } + ) .run { // Apply sliding sync version settings when (slidingSyncType) { From 3259539cc376615d095597c971f0c5d0cce8a5c0 Mon Sep 17 00:00:00 2001 From: Valere Date: Tue, 1 Oct 2024 14:31:57 +0200 Subject: [PATCH 096/151] quick fix: Isolation mode feature flag name udpate --- .../element/android/libraries/featureflag/api/FeatureFlags.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt index e1507044ae..3f2e1b389b 100644 --- a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt +++ b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt @@ -125,7 +125,7 @@ enum class FeatureFlags( ), OnlySignedDeviceIsolationMode( key = "feature.onlySignedDeviceIsolationMode", - title = "Exclude not secure devices when sending/receiving messages", + title = "Exclude insecure devices when sending/receiving messages", description = "This setting controls how end-to-end encryption (E2E) keys are shared." + " Enabling it will prevent the inclusion of devices that have not been explicitly verified by their owners." + " You'll have to stop and re-open the app manually for that setting to take effect.", From 0018cce7c1ea073916137d65f783390d7351525b Mon Sep 17 00:00:00 2001 From: ElementBot Date: Fri, 4 Oct 2024 15:12:13 +0000 Subject: [PATCH 097/151] Update screenshots --- ...ogin.impl.accountprovider_AccountProviderView_Day_2_en.png | 4 ++-- ...ogin.impl.accountprovider_AccountProviderView_Day_3_en.png | 4 ++-- ...ogin.impl.accountprovider_AccountProviderView_Day_4_en.png | 3 --- ...in.impl.accountprovider_AccountProviderView_Night_2_en.png | 4 ++-- ...in.impl.accountprovider_AccountProviderView_Night_3_en.png | 4 ++-- ...in.impl.accountprovider_AccountProviderView_Night_4_en.png | 3 --- ...s.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png | 3 --- ...s.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png | 3 --- ...s.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png | 3 --- ...messages.impl.typing_MessagesViewWithTyping_Night_0_en.png | 3 --- ...messages.impl.typing_MessagesViewWithTyping_Night_1_en.png | 3 --- ...messages.impl.typing_MessagesViewWithTyping_Night_2_en.png | 3 --- 12 files changed, 8 insertions(+), 32 deletions(-) delete mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_4_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_4_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png index 6f7b6bf561..ea0ab6bd30 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5395f34b153a3c453c95970f326e701e7e5619b53b9bf38dd6a9cff107e28407 -size 8460 +oid sha256:5fb195657c1ac0379839bba6acc0935f6b1b946714ba252d5797fd4bc0c514db +size 6753 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png index ea0ab6bd30..cccd463c66 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5fb195657c1ac0379839bba6acc0935f6b1b946714ba252d5797fd4bc0c514db -size 6753 +oid sha256:6d742af6422e7f5ce0070831e921180006a5b48d52c042fdc52030435597f242 +size 5835 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_4_en.png deleted file mode 100644 index cccd463c66..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Day_4_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6d742af6422e7f5ce0070831e921180006a5b48d52c042fdc52030435597f242 -size 5835 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png index 6d10a07782..20f4afd272 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:daed25bb59f0cca8d4bdb5139a177904a407b7d42f9e2d7053fd6f7362c141bf -size 8372 +oid sha256:ec5654de38a98ee4b078aa3dfa093a686cb89a2f200eb69f59e78041eb8b2f60 +size 6743 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png index 20f4afd272..6e685f122d 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec5654de38a98ee4b078aa3dfa093a686cb89a2f200eb69f59e78041eb8b2f60 -size 6743 +oid sha256:b4731443df36855c8785072a8085fc9968ec231ff46ff24012b0ae72cd084e46 +size 5867 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_4_en.png deleted file mode 100644 index 6e685f122d..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.accountprovider_AccountProviderView_Night_4_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b4731443df36855c8785072a8085fc9968ec231ff46ff24012b0ae72cd084e46 -size 5867 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png deleted file mode 100644 index b24db82a01..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_0_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a3362ec1abcd1847d44fabdd31537666fe08e0999037064237d4b8cc2af653c4 -size 56202 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png deleted file mode 100644 index 0c35f04e3a..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_1_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:40b55ace0d2dc9409bbc4f455632697743b0675b6a76892952baae7fabcfc2d7 -size 57043 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png deleted file mode 100644 index 0b868e8904..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Day_2_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4ba8c98bc110958f2503cc3373bc1e383edfbeb89bbda4e240456ecfa9b8db93 -size 53089 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png deleted file mode 100644 index 1219d812cf..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_0_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:663e3766f80fcd1bfa0a8c983f365887dd3738a0114c5b3bb1d70abf352c5eb3 -size 56654 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png deleted file mode 100644 index a686834219..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_1_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ca3590ef781d41cce91811f796409436beedaa9d62c1f6b325c03300f36f4c6 -size 57480 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png deleted file mode 100644 index af7e08335d..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.typing_MessagesViewWithTyping_Night_2_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:387b6a484615c291cf015e2da41ea9c4d70bcfd81f01468aefb6c5a9ad43c0f1 -size 53599 From 1f7b05a58d1f0961ffd062ebe8c29ae4bf5f78a2 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Fri, 4 Oct 2024 15:15:15 +0000 Subject: [PATCH 098/151] Update screenshots --- ...ents.event_TimelineItemImageViewHideMediaContent_Day_0_en.png} | 0 ...ts.event_TimelineItemImageViewHideMediaContent_Night_0_en.png} | 0 ...ents.event_TimelineItemVideoViewHideMediaContent_Day_0_en.png} | 0 ...ts.event_TimelineItemVideoViewHideMediaContent_Night_0_en.png} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename tests/uitests/src/test/snapshots/images/{features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Day_0_en.png => features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Day_0_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Night_0_en.png => features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Night_0_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Day_0_en.png => features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Day_0_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Night_0_en.png => features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Night_0_en.png} (100%) diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Day_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Day_0_en.png rename to tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Day_0_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Night_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideContent_Night_0_en.png rename to tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Night_0_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Day_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Day_0_en.png rename to tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Day_0_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Night_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideContent_Night_0_en.png rename to tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Night_0_en.png From 1e4be645b8553721f6523af1a5f626770da99491 Mon Sep 17 00:00:00 2001 From: Joe Groocock Date: Sat, 5 Oct 2024 15:52:04 +0000 Subject: [PATCH 099/151] Fix black-on-black status bars with hidden media In dark mode, the ElementTheme composable incorrectly applied a dark colour to the status bars, which was nearly invisible on top of the black background of the app. Signed-off-by: Joe Groocock --- .../features/messages/impl/timeline/protection/ProtectedView.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt index 6a9db31682..995bef1861 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt @@ -46,7 +46,7 @@ fun ProtectedView( .background(Color(0x99000000)), contentAlignment = Alignment.Center, ) { - ElementTheme(darkTheme = false) { + ElementTheme(darkTheme = false, applySystemBarsUpdate = false) { // Not using a button to be able to have correct size Text( modifier = Modifier From 0b67dfdc3dcf574822d7a84461b8dd25eeb9e9ca Mon Sep 17 00:00:00 2001 From: Joe Groocock Date: Sat, 5 Oct 2024 15:54:06 +0000 Subject: [PATCH 100/151] Use CircleShape instead of 50% RoundedCornerShape This is a builtin alias for the same thing. Signed-off-by: Joe Groocock --- .../messages/impl/timeline/protection/ProtectedView.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt index 995bef1861..0387572388 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/protection/ProtectedView.kt @@ -14,6 +14,7 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment @@ -59,7 +60,7 @@ fun ProtectedView( .border( width = 1.dp, color = ElementTheme.colors.borderInteractiveSecondary, - shape = RoundedCornerShape(percent = 50), + shape = CircleShape, ) .padding( horizontal = 16.dp, From e25ba65170f2547d2db07218561cda1bc4e26284 Mon Sep 17 00:00:00 2001 From: bmarty <3940906+bmarty@users.noreply.github.com> Date: Mon, 7 Oct 2024 00:28:33 +0000 Subject: [PATCH 101/151] Sync Strings from Localazy --- app/src/main/res/xml/locales_config.xml | 1 + .../src/main/res/values-fa/translations.xml | 4 + .../src/main/res/values-it/translations.xml | 5 + .../src/main/res/values-pl/translations.xml | 5 + .../src/main/res/values-pt/translations.xml | 5 + .../src/main/res/values-fa/translations.xml | 5 + .../src/main/res/values-fa/translations.xml | 7 + .../src/main/res/values-fa/translations.xml | 7 + .../src/main/res/values-fa/translations.xml | 13 + .../src/main/res/values-fa/translations.xml | 9 + .../src/main/res/values-it/translations.xml | 14 + .../src/main/res/values-pl/translations.xml | 14 + .../src/main/res/values-pt/translations.xml | 14 + .../src/main/res/values-fa/translations.xml | 8 + .../src/main/res/values-fa/translations.xml | 9 + .../src/main/res/values-fa/translations.xml | 11 + .../src/main/res/values-fa/translations.xml | 26 + .../src/main/res/values-cs/translations.xml | 2 +- .../src/main/res/values-de/translations.xml | 2 +- .../src/main/res/values-et/translations.xml | 2 +- .../src/main/res/values-fa/translations.xml | 74 + .../src/main/res/values-it/translations.xml | 1 + .../src/main/res/values-ka/translations.xml | 2 +- .../src/main/res/values-nl/translations.xml | 2 +- .../src/main/res/values-pl/translations.xml | 1 + .../src/main/res/values-pt/translations.xml | 1 + .../src/main/res/values-ru/translations.xml | 4 +- .../src/main/res/values-be/translations.xml | 2 +- .../src/main/res/values-es/translations.xml | 2 +- .../src/main/res/values-et/translations.xml | 2 +- .../src/main/res/values-fa/translations.xml | 14 + .../main/res/values-pt-rBR/translations.xml | 1 + .../src/main/res/values-ru/translations.xml | 2 +- .../src/main/res/values-sk/translations.xml | 2 +- .../src/main/res/values-uz/translations.xml | 1 + .../src/main/res/values-fa/translations.xml | 37 + .../src/main/res/values-fa/translations.xml | 9 + .../src/main/res/values-bg/translations.xml | 1 - .../src/main/res/values-el/translations.xml | 2 +- .../src/main/res/values-es/translations.xml | 2 +- .../src/main/res/values-et/translations.xml | 2 +- .../src/main/res/values-fa/translations.xml | 19 + .../src/main/res/values-ka/translations.xml | 1 - .../src/main/res/values-pl/translations.xml | 2 +- .../main/res/values-pt-rBR/translations.xml | 1 + .../src/main/res/values-sk/translations.xml | 2 +- .../src/main/res/values-uk/translations.xml | 2 +- .../src/main/res/values-zh/translations.xml | 2 +- .../src/main/res/values-et/translations.xml | 2 +- .../src/main/res/values-fa/translations.xml | 52 + .../src/main/res/values-fr/translations.xml | 2 +- .../src/main/res/values-fa/translations.xml | 6 + .../src/main/res/values-fa/translations.xml | 13 + .../src/main/res/values-es/translations.xml | 2 +- .../src/main/res/values-et/translations.xml | 2 +- .../src/main/res/values-fa/translations.xml | 97 ++ .../src/main/res/values-fr/translations.xml | 4 +- .../src/main/res/values-hu/translations.xml | 4 +- .../src/main/res/values-in/translations.xml | 2 +- .../src/main/res/values-pt/translations.xml | 2 +- .../src/main/res/values-ro/translations.xml | 2 +- .../src/main/res/values-ru/translations.xml | 2 +- .../src/main/res/values-uk/translations.xml | 2 +- .../src/main/res/values-fa/translations.xml | 5 + .../src/main/res/values-de/translations.xml | 1 + .../src/main/res/values-fa/translations.xml | 38 + .../src/main/res/values-it/translations.xml | 6 + .../src/main/res/values-pl/translations.xml | 6 + .../src/main/res/values-pt/translations.xml | 6 + .../src/main/res/values-be/translations.xml | 2 +- .../src/main/res/values-bg/translations.xml | 3 +- .../src/main/res/values-cs/translations.xml | 6 +- .../src/main/res/values-de/translations.xml | 12 +- .../src/main/res/values-es/translations.xml | 3 +- .../src/main/res/values-et/translations.xml | 2 +- .../src/main/res/values-fa/translations.xml | 55 + .../src/main/res/values-fr/translations.xml | 8 +- .../src/main/res/values-hu/translations.xml | 6 +- .../src/main/res/values-in/translations.xml | 3 +- .../src/main/res/values-it/translations.xml | 6 +- .../src/main/res/values-ka/translations.xml | 4 +- .../src/main/res/values-nl/translations.xml | 1 + .../src/main/res/values-pl/translations.xml | 4 +- .../main/res/values-pt-rBR/translations.xml | 1 + .../src/main/res/values-pt/translations.xml | 4 +- .../src/main/res/values-ro/translations.xml | 3 +- .../src/main/res/values-ru/translations.xml | 6 +- .../src/main/res/values-sk/translations.xml | 6 +- .../src/main/res/values-uk/translations.xml | 2 +- .../src/main/res/values-uz/translations.xml | 3 +- .../main/res/values-zh-rTW/translations.xml | 2 +- .../src/main/res/values-zh/translations.xml | 4 +- .../impl/src/main/res/values/localazy.xml | 2 +- .../src/main/res/values-fa/translations.xml | 6 + .../src/main/res/values-fa/translations.xml | 8 + .../src/main/res/values-fa/translations.xml | 27 + .../src/main/res/values-fa/translations.xml | 69 + .../src/main/res/values-fa/translations.xml | 4 + .../src/main/res/values-fa/translations.xml | 4 + .../src/main/res/values-fa/translations.xml | 4 + .../src/main/res/values-el/translations.xml | 2 + .../src/main/res/values-es/translations.xml | 1 - .../src/main/res/values-et/translations.xml | 2 +- .../src/main/res/values-fa/translations.xml | 38 + .../src/main/res/values-it/translations.xml | 3 + .../src/main/res/values-ka/translations.xml | 1 - .../src/main/res/values-nl/translations.xml | 1 - .../src/main/res/values-pl/translations.xml | 3 + .../main/res/values-pt-rBR/translations.xml | 2 +- .../src/main/res/values-pt/translations.xml | 3 + .../src/main/res/values-ro/translations.xml | 2 +- .../src/main/res/values-sk/translations.xml | 2 +- .../src/main/res/values-uz/translations.xml | 1 - .../src/main/res/values-fa/translations.xml | 25 + .../src/main/res/values-fa/translations.xml | 9 + .../src/main/res/values-de/translations.xml | 1 + .../src/main/res/values-el/translations.xml | 4 + .../src/main/res/values-et/translations.xml | 3 + .../src/main/res/values-fa/translations.xml | 286 ++++ .../src/main/res/values-fr/translations.xml | 1 + .../src/main/res/values-hu/translations.xml | 4 + .../src/main/res/values-it/translations.xml | 24 + .../src/main/res/values-pl/translations.xml | 35 + .../src/main/res/values-pt/translations.xml | 35 + .../src/main/res/values-sk/translations.xml | 3 + .../src/main/res/values/localazy.xml | 2 + plugins/src/main/kotlin/extension/locales.kt | 1 + ...mpl.unlock_PinUnlockViewInApp_Day_7_de.png | 3 + ...een.impl.unlock_PinUnlockView_Day_7_de.png | 3 + ...er_ConfirmAccountProviderView_Day_0_de.png | 4 +- ...er_ConfirmAccountProviderView_Day_1_de.png | 4 +- ...er_ConfirmAccountProviderView_Day_2_de.png | 4 +- ...typing_MessagesViewWithTyping_Day_0_de.png | 3 - ...typing_MessagesViewWithTyping_Day_1_de.png | 3 - ...typing_MessagesViewWithTyping_Day_2_de.png | 3 - ...veloper_DeveloperSettingsView_Day_0_de.png | 4 +- ...veloper_DeveloperSettingsView_Day_1_de.png | 4 +- ...veloper_DeveloperSettingsView_Day_2_de.png | 4 +- ...onents_SetUpRecoveryKeyBanner_Day_0_de.png | 4 +- ...s.roomlist.impl_RoomListView_Day_10_de.png | 4 +- ...ureBackupEnterRecoveryKeyView_Day_0_de.png | 4 +- ...ureBackupEnterRecoveryKeyView_Day_1_de.png | 4 +- ...ureBackupEnterRecoveryKeyView_Day_2_de.png | 4 +- ...ureBackupEnterRecoveryKeyView_Day_3_de.png | 4 +- ...ord_ResetIdentityPasswordView_Day_0_de.png | 4 +- ...ord_ResetIdentityPasswordView_Day_1_de.png | 4 +- ...ord_ResetIdentityPasswordView_Day_2_de.png | 4 +- ...ord_ResetIdentityPasswordView_Day_3_de.png | 4 +- ...et.root_ResetIdentityRootView_Day_0_de.png | 3 + ...et.root_ResetIdentityRootView_Day_1_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_0_de.png | 4 +- ...pl.root_SecureBackupRootView_Day_10_de.png | 3 + ...pl.root_SecureBackupRootView_Day_11_de.png | 3 + ...pl.root_SecureBackupRootView_Day_12_de.png | 3 + ...pl.root_SecureBackupRootView_Day_13_de.png | 3 + ...mpl.root_SecureBackupRootView_Day_1_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_2_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_3_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_4_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_5_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_6_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_7_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_8_de.png | 4 +- ...mpl.root_SecureBackupRootView_Day_9_de.png | 3 + screenshots/html/data.js | 1224 +++++++++-------- ...et.root_ResetIdentityRootView_Day_0_en.png | 4 +- ...et.root_ResetIdentityRootView_Day_1_en.png | 4 +- ....root_ResetIdentityRootView_Night_0_en.png | 4 +- ....root_ResetIdentityRootView_Night_1_en.png | 4 +- 169 files changed, 1999 insertions(+), 754 deletions(-) create mode 100644 appnav/src/main/res/values-fa/translations.xml create mode 100644 appnav/src/main/res/values-it/translations.xml create mode 100644 appnav/src/main/res/values-pl/translations.xml create mode 100644 appnav/src/main/res/values-pt/translations.xml create mode 100644 features/analytics/api/src/main/res/values-fa/translations.xml create mode 100644 features/analytics/impl/src/main/res/values-fa/translations.xml create mode 100644 features/call/impl/src/main/res/values-fa/translations.xml create mode 100644 features/createroom/impl/src/main/res/values-fa/translations.xml create mode 100644 features/deactivation/impl/src/main/res/values-fa/translations.xml create mode 100644 features/deactivation/impl/src/main/res/values-it/translations.xml create mode 100644 features/deactivation/impl/src/main/res/values-pl/translations.xml create mode 100644 features/deactivation/impl/src/main/res/values-pt/translations.xml create mode 100644 features/ftue/impl/src/main/res/values-fa/translations.xml create mode 100644 features/invite/impl/src/main/res/values-fa/translations.xml create mode 100644 features/joinroom/impl/src/main/res/values-fa/translations.xml create mode 100644 features/lockscreen/impl/src/main/res/values-fa/translations.xml create mode 100644 features/login/impl/src/main/res/values-fa/translations.xml create mode 100644 features/logout/impl/src/main/res/values-fa/translations.xml create mode 100644 features/messages/impl/src/main/res/values-fa/translations.xml create mode 100644 features/onboarding/impl/src/main/res/values-fa/translations.xml create mode 100644 features/poll/impl/src/main/res/values-fa/translations.xml create mode 100644 features/preferences/impl/src/main/res/values-fa/translations.xml create mode 100644 features/rageshake/api/src/main/res/values-fa/translations.xml create mode 100644 features/rageshake/impl/src/main/res/values-fa/translations.xml create mode 100644 features/roomdetails/impl/src/main/res/values-fa/translations.xml create mode 100644 features/roomdirectory/impl/src/main/res/values-fa/translations.xml create mode 100644 features/roomlist/impl/src/main/res/values-fa/translations.xml create mode 100644 features/securebackup/impl/src/main/res/values-fa/translations.xml create mode 100644 features/signedout/impl/src/main/res/values-fa/translations.xml create mode 100644 features/userprofile/shared/src/main/res/values-fa/translations.xml create mode 100644 features/verifysession/impl/src/main/res/values-fa/translations.xml create mode 100644 libraries/eventformatter/impl/src/main/res/values-fa/translations.xml create mode 100644 libraries/matrixui/src/main/res/values-fa/translations.xml create mode 100644 libraries/permissions/api/src/main/res/values-fa/translations.xml create mode 100644 libraries/permissions/impl/src/main/res/values-fa/translations.xml create mode 100644 libraries/push/impl/src/main/res/values-fa/translations.xml create mode 100644 libraries/textcomposer/impl/src/main/res/values-fa/translations.xml create mode 100644 libraries/troubleshoot/impl/src/main/res/values-fa/translations.xml create mode 100644 libraries/ui-strings/src/main/res/values-fa/translations.xml create mode 100644 screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_de.png create mode 100644 screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_7_de.png delete mode 100644 screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_0_de.png delete mode 100644 screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_1_de.png delete mode 100644 screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_2_de.png create mode 100644 screenshots/de/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_de.png create mode 100644 screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_10_de.png create mode 100644 screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_11_de.png create mode 100644 screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_12_de.png create mode 100644 screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_13_de.png create mode 100644 screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_9_de.png diff --git a/app/src/main/res/xml/locales_config.xml b/app/src/main/res/xml/locales_config.xml index ad67e6746a..196aaa2d3d 100644 --- a/app/src/main/res/xml/locales_config.xml +++ b/app/src/main/res/xml/locales_config.xml @@ -8,6 +8,7 @@ + diff --git a/appnav/src/main/res/values-fa/translations.xml b/appnav/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..3bb3bca291 --- /dev/null +++ b/appnav/src/main/res/values-fa/translations.xml @@ -0,0 +1,4 @@ + + + "خروج و ارتقا" + diff --git a/appnav/src/main/res/values-it/translations.xml b/appnav/src/main/res/values-it/translations.xml new file mode 100644 index 0000000000..d93dc1e688 --- /dev/null +++ b/appnav/src/main/res/values-it/translations.xml @@ -0,0 +1,5 @@ + + + "Esci e aggiorna" + "Il tuo homeserver non supporta più il vecchio protocollo. Esci e rientra per continuare a usare l\'app." + diff --git a/appnav/src/main/res/values-pl/translations.xml b/appnav/src/main/res/values-pl/translations.xml new file mode 100644 index 0000000000..0df56520b1 --- /dev/null +++ b/appnav/src/main/res/values-pl/translations.xml @@ -0,0 +1,5 @@ + + + "Wyloguj się i zaktualizuj" + "Twój serwer domowy już nie wspiera starego protokołu. Zaloguj się ponownie, aby kontynuować korzystanie z aplikacji." + diff --git a/appnav/src/main/res/values-pt/translations.xml b/appnav/src/main/res/values-pt/translations.xml new file mode 100644 index 0000000000..8b29a17ecf --- /dev/null +++ b/appnav/src/main/res/values-pt/translations.xml @@ -0,0 +1,5 @@ + + + "Sair & Atualizar" + "Seu homeserver não suporta mais o protocolo antigo. Termine sessão e volte a iniciar sessão para continuar a utilizar a aplicação." + diff --git a/features/analytics/api/src/main/res/values-fa/translations.xml b/features/analytics/api/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..8b672f0f00 --- /dev/null +++ b/features/analytics/api/src/main/res/values-fa/translations.xml @@ -0,0 +1,5 @@ + + + "این‌جا" + "هم رسانی داده‌های تحلیلی" + diff --git a/features/analytics/impl/src/main/res/values-fa/translations.xml b/features/analytics/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..713e2636d1 --- /dev/null +++ b/features/analytics/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,7 @@ + + + "این‌جا" + "می‌توانید در هر زمان خاموشش کنید" + "داده‌هایتان را با سوم‌شخص‌ها هم‌نمی‌رسانیم" + "کمک به بهبود %1$s" + diff --git a/features/call/impl/src/main/res/values-fa/translations.xml b/features/call/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..c58ebfd5c6 --- /dev/null +++ b/features/call/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,7 @@ + + + "تماس خروجی" + "زدن برای بازگشت به تماس" + "تماس در جریان ☎️" + "تماس المنتی ورودی" + diff --git a/features/createroom/impl/src/main/res/values-fa/translations.xml b/features/createroom/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..467fae5327 --- /dev/null +++ b/features/createroom/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,13 @@ + + + "اتاق جدید" + "دعوت افراد" + "هنگام ایجاد اتاق خطایی رخ داد" + "پیام‌های این اتاق رمز شده‌اند. رمزنگاری نمی‌تواند از این پس تغییر کند." + "اتاق خصوصی (فقط دعوت)" + "پیام‌ها رمزنگاری نشده و هرکسی می‌تواند بخواندشان. می‌توانید بعداً رمزنگاری را به کار بیندازید." + "اتاق عمومی (هرکسی)" + "نام اتاق" + "ایجاد اتاق" + "موضوع (اختیاری)" + diff --git a/features/deactivation/impl/src/main/res/values-fa/translations.xml b/features/deactivation/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..5c4eb00d62 --- /dev/null +++ b/features/deactivation/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,9 @@ + + + "حذف همهٔ پیام‌هایم" + "بازگشت‌ناپذیر" + "از کار انداختن دایمی" + "برداشتنتان از همهٔ اتاق‌های گپ." + "حذف اطّلاعات حسابتان از کارساز هویت." + "غیرفعّال‌سازی حساب" + diff --git a/features/deactivation/impl/src/main/res/values-it/translations.xml b/features/deactivation/impl/src/main/res/values-it/translations.xml new file mode 100644 index 0000000000..7cd484d0e4 --- /dev/null +++ b/features/deactivation/impl/src/main/res/values-it/translations.xml @@ -0,0 +1,14 @@ + + + "Conferma di voler disattivare il tuo account. Questa azione è irreversibile." + "Elimina tutti i miei messaggi" + "Attenzione: gli utenti futuri potrebbero vedere conversazioni incomplete." + "La disattivazione del tuo account è %1$s , quindi:" + "irreversibile" + "%1$s il tuo account (non puoi riaccedere e il tuo ID non può essere riutilizzato)." + "Disattiva permanentemente" + "Ti rimuove da tutte le stanze di chat." + "Elimina le informazioni del tuo account dal nostro server di identità." + "I tuoi messaggi saranno ancora visibili agli utenti registrati, ma non saranno disponibili per gli utenti nuovi o non registrati se decidi di eliminarli." + "Disattivazione dell\'account" + diff --git a/features/deactivation/impl/src/main/res/values-pl/translations.xml b/features/deactivation/impl/src/main/res/values-pl/translations.xml new file mode 100644 index 0000000000..bddb6a9037 --- /dev/null +++ b/features/deactivation/impl/src/main/res/values-pl/translations.xml @@ -0,0 +1,14 @@ + + + "Potwierdź dezaktywacje konta. Tej akcji nie można cofnąć." + "Usuń wszystkie moje wiadomości" + "Ostrzeżenie: Przyszli użytkownicy mogą zobaczyć niekompletne rozmowy." + "Dezaktywacja konta jest %1$s, zostanie:" + "nieodwracalna" + "%1$s twoje konto (nie będziesz mógł się zalogować, a twoje ID przepadnie)." + "Permanentnie wyłączy" + "Usunie Ciebie ze wszystkich pokoi rozmów." + "Usunięte wszystkie dane konta z naszego serwera tożsamości." + "Twoje wiadomości wciąż będą widoczne dla zarejestrowanych użytkowników, ale nie będą dostępne dla nowych lub niezarejestrowanych użytkowników, jeśli je usuniesz." + "Dezaktywuj konto" + diff --git a/features/deactivation/impl/src/main/res/values-pt/translations.xml b/features/deactivation/impl/src/main/res/values-pt/translations.xml new file mode 100644 index 0000000000..1a9a694e3a --- /dev/null +++ b/features/deactivation/impl/src/main/res/values-pt/translations.xml @@ -0,0 +1,14 @@ + + + "Confirme que pretende desativar a sua conta. Esta ação não pode ser desfeita." + "Eliminar todas as minhas mensagens" + "Aviso: futuros usuários podem ver conversas incompletas." + "A desativação da sua conta é %1$s, irá:" + "irreversível" + "%1$s sua conta (não pode voltar a iniciar sessão e o seu ID não pode ser reutilizado)." + "Desativar permanentemente" + "Removê-lo de todas as salas de chat." + "Exclua as informações da sua conta do nosso servidor de identidade." + "Suas mensagens ainda estarão visíveis para usuários registrados, mas não estarão disponíveis para usuários novos ou não registrados se você optar por excluí-las." + "Desativar conta" + diff --git a/features/ftue/impl/src/main/res/values-fa/translations.xml b/features/ftue/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..43d968b7c5 --- /dev/null +++ b/features/ftue/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,8 @@ + + + "می‌توانید بعداً تنظیماتتان را تغییر دهید." + "اجازه به آگاهی‌ها و از دست ندادن پیام‌ها" + "بزن بریم!" + "چیزهایی که باید بدانید:" + "به %1$s خوش آمدید!" + diff --git a/features/invite/impl/src/main/res/values-fa/translations.xml b/features/invite/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..8102a3be57 --- /dev/null +++ b/features/invite/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,9 @@ + + + "مطمئنید که می‌خواهید دعوت پیوستن به %1$s را رد کنید؟" + "رد دعوت" + "مطمئنید که می‌خواهید این گپ خصوصی با %1$s را رد کنید؟" + "رد گپ" + "بدون دعوت" + "%1$s (%2$s) دعوتتان کرد" + diff --git a/features/joinroom/impl/src/main/res/values-fa/translations.xml b/features/joinroom/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..85151ddf64 --- /dev/null +++ b/features/joinroom/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,11 @@ + + + "پیوستن به اتاق" + "در زدن برای پیوستن" + "%1$s هنوز از فضاها پشتیبانی نمی‌کند. می‌توانید روی وب به فضاها دسترسی داشته باشید." + "فضاها هنوز پشتیبانی نمی‌شوند" + "زدن روی این دکمه برای آگاه شدن مدیر اتاق. پس از تأیید می‌توانید به گفت‌وگو بپیوندید." + "برای دیدن تاریخچهٔ پیام باید عضو این اتاق باشید." + "می‌خواهید به اتاق بپیوندید؟" + "پیش‌نمایش موجود نیست" + diff --git a/features/lockscreen/impl/src/main/res/values-fa/translations.xml b/features/lockscreen/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..f9a1e0d1ed --- /dev/null +++ b/features/lockscreen/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,26 @@ + + + "هویت‌سنجی زیستی" + "قفل‌گشایی زیست‌سنجی" + "قفل‌گشایی با زیست‌سنجی" + "فراموشی پین؟" + "تغییر کد پین" + "احازه به قفل گشایی زیست‌سنجی" + "برداشتن پین" + "مطمئنید که می‌خواهید پین را بردارید؟" + "برداشتن پین؟" + "اجازه به %1$s" + "ترجیح می‌دهم از پین استفاده کنم" + "زمیانتان را ذخیره کرده و از %1$s برای قفل‌گشایی هربارهٔ کاره استفاده کنید" + "گزینش پین" + "تأیید پین" + "به دلیل امنیتی نمی‌توانید این پین را برگزینید" + "گزینشی پینی متفاوت" + "لطفاً یک پین را دو بار وارد کنید" + "پین‌ها مطابق نیستند" + "برای ادامه باید دوباره وارد شده و پینی جدید ایجاد کنید" + "دارید خارج می‌شوید" + "استفاده از زیست‌سنجی" + "استفاده از پین" + "خارج شدن…" + diff --git a/features/login/impl/src/main/res/values-cs/translations.xml b/features/login/impl/src/main/res/values-cs/translations.xml index 43bbcb4008..424b7a8389 100644 --- a/features/login/impl/src/main/res/values-cs/translations.xml +++ b/features/login/impl/src/main/res/values-cs/translations.xml @@ -1,6 +1,6 @@ - "Změna poskytovatele účtu" + "Změnit poskytovatele účtu" "Adresa domovského serveru" "Zadejte hledaný výraz nebo adresu domény." "Vyhledejte společnost, komunitu nebo soukromý server." diff --git a/features/login/impl/src/main/res/values-de/translations.xml b/features/login/impl/src/main/res/values-de/translations.xml index 0ead5a8147..10ed45beee 100644 --- a/features/login/impl/src/main/res/values-de/translations.xml +++ b/features/login/impl/src/main/res/values-de/translations.xml @@ -1,6 +1,6 @@ - "Kontoanbieter ändern" + "Kontoanbieter wechseln" "Homeserver-Adresse" "Gib einen Suchbegriff oder eine Domainadresse ein." "Suche nach einem Unternehmen, einer Community oder einem privaten Server." diff --git a/features/login/impl/src/main/res/values-et/translations.xml b/features/login/impl/src/main/res/values-et/translations.xml index 7154c91016..eacc5968aa 100644 --- a/features/login/impl/src/main/res/values-et/translations.xml +++ b/features/login/impl/src/main/res/values-et/translations.xml @@ -73,7 +73,7 @@ Proovi käsitsi sisselogimist või skaneeri QR-koodi mõne muu seadmega.""Ootame sinu teise seadme järgi" "Sinu teenusepakkuja võib sisselogimisel eeldada selle verifitseerimiskoodi kasutamist." "Sinu verifitseerimiskood" - "Muuda teenusepakujat" + "Muuda teenusepakkujat" "Privaatne server Elemendi töötajate jaoks." "Matrix on avatud võrk turvalise ja hajutatud suhtluse jaoks." "See on koht, kus sinu vestlused elavad – just nagu kasutaksid oma e-kirjade säilitamiseks e-postiteenuse pakkujat." diff --git a/features/login/impl/src/main/res/values-fa/translations.xml b/features/login/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..29ec79b9fd --- /dev/null +++ b/features/login/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,74 @@ + + + "تغییر فراهم کنندهٔ حساب" + "نشانی کارساز خانگی" + "ورود عبارت جست‌وجو یا نشانی دامنه." + "جست‌وجو برای شرکت، اجتماع یا کارسازی خصوصی." + "یافتن فراهم کنندهٔ حساب" + "جایی که گفت‌وگوهایتان خواهند زیست — درست مثل استفاده‌تان از فراهم کنندهٔ رایانامه‌ای برای نگه داشتن رایانامه‌هایتان." + "دارید وارد %s می‌شوید" + "جایی که گفت‌وگوهایتان خواهند زیست — درست مثل استفاده‌تان از فراهم کنندهٔ رایانامه‌ای برای نگه داشتن رایانامه‌هایتان." + "دارید حسابی روی %s می‌سازید" + "ماتریکس‌دات‌اورگ کارسازی بزرگ و آزاد روی شبکهٔ ماتریکس عمومی برای ارتباطات نامتمرکز و امن است که به دست بنیاد ماتریکس‌دات‌اورگ اداره می‌شود." + "دیگر" + "استفاده از فراهم کنندهٔ حسابی دیگر چون کارساز خصوصی خوتان یا حسابی کاری." + "تغییر فراهم کنندهٔ حساب" + "این کارساز در حال حاضر از هم‌گام سازی اسلایدی پشتیبانی نمی‌کند." + "نشانی کارساز خانگی" + "تنها می‌توانید به کارسازهای موجودی که از هم‌گام سازی اسلاید پشتیبانی می‌کنند وصل شود. مدیر کارساز خانگیتان باید پیکربندیش کند. %1$s" + "نشانی کارسازتان چیست؟" + "کارسازتان را برگزینید" + "ایجاد حساب" + "این حساب از کار افتاده است." + "نام کاربری یا گذرواژه نامعتبر است" + "این یک شناسه کاربری معتبر نیست. قالب صحیح: ‪«@user:homeserver.or" + "جزییاتتان را وارد کنید" + "ماتریکس شبکه‌ای بار برای ارتباطات نامتمرکز و امن است." + "خوش برگشتید!" + "ورود به %1$s" + "برقرار کدن اتّصالی امن" + "نتوانست اتّصالی امن به افزارهٔ جدید بسازد. افزاره‌های موجودتان هنوز امنند و نیازی نیست نگرانشان باشید." + "اکنون چه؟" + "ورود دستی در صورت کار نکردنش" + "اتّصال ناامن" + "از شما خواسته خواهد شد که دو رقم نشان داده روی این افزاره را وارد کنید." + "شمارهٔ زیر را روی افزارهٔ دیگرتان وارد کنید" + "به افزارهٔ دیگرتان وارد شده و دوباره تلاش کنید یا از افزارهٔ دیگری که از پیش وارد شده استفاده کنید." + "افزارهٔ دیگر وارد نشده" + "ورود روی افزارهٔ دیگر لغو شد." + "درخواست ورد لغو شد" + "ورود به دست افزارهٔ دیگر رد شد." + "ورود رد شد" + "ورود منقضی شد. لطفاً دوباره تلاش کنید." + "ورود در زمان معیّن کامل نشد" + "افزارهٔ دیگرتان از ورود به %s با کد پاس پشتیبانی نمی‌کند. + +آزمودن ورود دستی یا پویش کد پاس با افزاره‌ای دیگر." + "کد پاس پشتیبانی نمی‌شود" + "فراهم کنندهٔ حسابتان از %1$s پشتیبانی نمی‌کند." + "%1$s پشتیبانی نمی‌شود" + "آمادهٔ پویش" + "گشودن %1$s در افزارهٔ میزکار" + "زدن روی چهرکتان" + "گزینش %1$s" + "«پیوند افزارهٔ جدید»" + "پویش کد پاس با این افزاره" + "گشودن %1$s روی افزاره‌ای دیگر برای گرفتن کد پاس" + "استفاده از کد پاس نشان داده روی افزارهٔ دیگر." + "تلاش دوباره" + "کد پاس اشتباه" + "رفتن به تنظیمات دوربین" + "برای ادامه باید اجازهٔ استفادهٔ %1$s از دوربین افزاره‌تان را بدهید." + "اجازهٔ دسترسی دوربین برای پویش کد پاس" + "پویش کد پاس" + "آغاز از نو" + "خطایی غیرمنتظره رخ داد. لطفاً دوباره تلاش کنید." + "منتظر افزارهٔ دیگرتان" + "ممکن است فراهم کنندهٔ حسابتان کد زیر را برای تأیید ورود بخواهد." + "کد تأییدتان" + "تغییر فراهم کنندهٔ حساب" + "ماتریکس شبکه‌ای بار برای ارتباطات نامتمرکز و امن است." + "جایی که گفت‌وگوهایتان خواهند زیست — درست مثل استفاده‌تان از فراهم کنندهٔ رایانامه‌ای برای نگه داشتن رایانامه‌هایتان." + "دارید به %1$s وارد می‌شوید" + "دارید روی %1$s حساب می‌سازید" + diff --git a/features/login/impl/src/main/res/values-it/translations.xml b/features/login/impl/src/main/res/values-it/translations.xml index eaa5313b03..2b8071fd0b 100644 --- a/features/login/impl/src/main/res/values-it/translations.xml +++ b/features/login/impl/src/main/res/values-it/translations.xml @@ -21,6 +21,7 @@ "Puoi connetterti solo a un server esistente che supporta la sliding sync. L\'amministratore del tuo homeserver dovrà configurarla. %1$s" "Qual è l\'indirizzo del tuo server?" "Seleziona il tuo server" + "Crea account" "Questo account è stato disattivato." "Nome utente e/o password errati" "Questo non è un identità utente valida. il formato atteso é: \'@user:homeserver.org\'" diff --git a/features/login/impl/src/main/res/values-ka/translations.xml b/features/login/impl/src/main/res/values-ka/translations.xml index 6fc49e7b41..6c0ce2adab 100644 --- a/features/login/impl/src/main/res/values-ka/translations.xml +++ b/features/login/impl/src/main/res/values-ka/translations.xml @@ -1,6 +1,6 @@ - "ანგარიშის მიმწოდებლის შეცვლა" + "შეცვალეთ ანგარიშის მომწოდებელი" "სახლის სერვერის მისამართი" "შეიყვანეთ საძიებო სიტყვა ან დომენის მისამართი." "მოძებნეთ კომპანია, საზოგადოება ან კერძო სერვერი." diff --git a/features/login/impl/src/main/res/values-nl/translations.xml b/features/login/impl/src/main/res/values-nl/translations.xml index 627f5b873e..04507b04c8 100644 --- a/features/login/impl/src/main/res/values-nl/translations.xml +++ b/features/login/impl/src/main/res/values-nl/translations.xml @@ -65,7 +65,7 @@ "Aan het wachten op je andere apparaat" "Je accountprovider kan om de volgende code vragen om de aanmelding te verifiëren." "Je verificatiecode" - "Accountprovider wijzigen" + "Wijzig accountprovider" "Een privéserver voor medewerkers van Element." "Matrix is een open netwerk voor veilige, gedecentraliseerde communicatie." "Dit is waar je gesprekken zullen worden bewaard — net zoals je een e-mailprovider zou gebruiken om je e-mails te bewaren." diff --git a/features/login/impl/src/main/res/values-pl/translations.xml b/features/login/impl/src/main/res/values-pl/translations.xml index 6990121a43..93a9f82c1b 100644 --- a/features/login/impl/src/main/res/values-pl/translations.xml +++ b/features/login/impl/src/main/res/values-pl/translations.xml @@ -21,6 +21,7 @@ "Możesz połączyć się tylko z serwerem, który obsługuje technologię Sliding Sync. Administrator serwera domowego będzie musiał ją skonfigurować. %1$s" "Jaki jest adres Twojego serwera?" "Wybierz swój serwer" + "Utwórz konto" "To konto zostało dezaktywowane." "Nieprawidłowa nazwa użytkownika i/lub hasło" "To nie jest prawidłowy identyfikator użytkownika. Oczekiwany format: \'@user:homeserver.org\'" diff --git a/features/login/impl/src/main/res/values-pt/translations.xml b/features/login/impl/src/main/res/values-pt/translations.xml index f03b48c5dd..101117c588 100644 --- a/features/login/impl/src/main/res/values-pt/translations.xml +++ b/features/login/impl/src/main/res/values-pt/translations.xml @@ -21,6 +21,7 @@ "Só te podes ligar a um servidor existente que suporte a sincronização deslizante (sliding sync). O administrador do teu servidor terá de a configurar. %1$s" "Qual é o endereço do teu servidor?" "Seleciona o teu servidor" + "Criar conta" "Esta conta foi desativada." "Nome de utilizador ou senha incorretos" "Identificador de utilizador inválido. Formato esperado: ‘@utilizador:servidor.org’" diff --git a/features/login/impl/src/main/res/values-ru/translations.xml b/features/login/impl/src/main/res/values-ru/translations.xml index 40f3f9b5df..dad21faf5f 100644 --- a/features/login/impl/src/main/res/values-ru/translations.xml +++ b/features/login/impl/src/main/res/values-ru/translations.xml @@ -1,6 +1,6 @@ - "Переключить аккаунт" + "Сменить поставщика учетной записи" "Адрес домашнего сервера" "Введите поисковый запрос или адрес домена." "Поиск компании, сообщества или частного сервера." @@ -73,7 +73,7 @@ "В ожидании другого устройства" "Поставщик учетной записи может запросить следующий код для подтверждения входа." "Ваш код подтверждения" - "Сменить учетную запись" + "Сменить поставщика учетной записи" "Частный сервер для сотрудников Element." "Matrix — это открытая сеть для безопасной децентрализованной связи." "Здесь будут храниться ваши разговоры - точно так же, как вы используете почтового провайдера для хранения своих писем." diff --git a/features/logout/impl/src/main/res/values-be/translations.xml b/features/logout/impl/src/main/res/values-be/translations.xml index 62425e93f6..bc005e2bd2 100644 --- a/features/logout/impl/src/main/res/values-be/translations.xml +++ b/features/logout/impl/src/main/res/values-be/translations.xml @@ -7,7 +7,7 @@ "Вы збіраецеся выйсці з апошняга сеанса. Калі вы выйдзеце з сістэмы зараз, вы страціце доступ да зашыфраваных паведамленняў." "Вы адключылі рэзервовае капіраванне" "Вашы ключы ўсё яшчэ захоўваліся, калі вы выйшлі з сеткі. Паўторна падключыцеся, каб можна было стварыць рэзервовую копію вашых ключоў перад выхадам." - "Рэзервовае капіраванне ключоў усё яшчэ працягваецца" + "Вашы ключы ўсё яшчэ ствараюцца" "Калі ласка, дачакайцеся завяршэння працэсу, перш чым выходзіць з сістэмы." "Вашы ключы ўсё яшчэ ствараюцца" "Выйсці" diff --git a/features/logout/impl/src/main/res/values-es/translations.xml b/features/logout/impl/src/main/res/values-es/translations.xml index 96d3c2b8b0..94d0ec56a8 100644 --- a/features/logout/impl/src/main/res/values-es/translations.xml +++ b/features/logout/impl/src/main/res/values-es/translations.xml @@ -7,7 +7,7 @@ "Estás a punto de cerrar tu última sesión. Si cierras sesión ahora, perderás el acceso a tus mensajes cifrados." "Has desactivado la copia de seguridad" "Se estaba haciendo una copia de seguridad de tus claves cuando te desconectaste. Vuelve a conectarte para que se haga una copia de seguridad de tus claves antes de desconectarte." - "Se está guardando una copia de seguridad de tus claves" + "Se sigue guardando una copia de seguridad de tus claves" "Espera a que se complete antes de cerrar sesión." "Se sigue guardando una copia de seguridad de tus claves" "Cerrar sesión" diff --git a/features/logout/impl/src/main/res/values-et/translations.xml b/features/logout/impl/src/main/res/values-et/translations.xml index 4bdf169576..5cfe6da202 100644 --- a/features/logout/impl/src/main/res/values-et/translations.xml +++ b/features/logout/impl/src/main/res/values-et/translations.xml @@ -14,5 +14,5 @@ "Sa oled logimas välja oma viimasest sessioonist. Kui teed seda nüüd, siis kaotad ligipääsu oma krüptitud sõnumitele." "Andmete taastamine on seadistamata" "Sa oled logimas välja oma viimasest sessioonist. Kui teed seda nüüd, siis ilmselt kaotad ligipääsu oma krüptitud sõnumitele." - "Kas sa oled oma taastevõtme salvestanud?" + "Kas sa oled oma taastevõtme talletanud?" diff --git a/features/logout/impl/src/main/res/values-fa/translations.xml b/features/logout/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..46cfa54539 --- /dev/null +++ b/features/logout/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,14 @@ + + + "مطمئنید که می‌خواهید از حسابتان خارج شوید؟" + "خروج" + "خروج" + "خارج شدن…" + "پشتیبان را خاموش کرده‌اید" + "کلیدهایتان هنوز در حال پشتیبان گیریند" + "لطفاً پیش از خروج منتظر پایانش شوید." + "کلیدهایتان هنوز در حال پشتیبان گیریند" + "خروج" + "بازگردانی برپا نشده" + "کلید بازیابیتان را ذخیره کرده‌اید؟" + diff --git a/features/logout/impl/src/main/res/values-pt-rBR/translations.xml b/features/logout/impl/src/main/res/values-pt-rBR/translations.xml index 7d77b477ad..d5787232bf 100644 --- a/features/logout/impl/src/main/res/values-pt-rBR/translations.xml +++ b/features/logout/impl/src/main/res/values-pt-rBR/translations.xml @@ -5,6 +5,7 @@ "Sair" "Saindo…" "Você desativou o backup" + "O backup das suas chaves ainda está em andamento" "O backup das suas chaves ainda está em andamento" "Sair" "A recuperação não está configurada" diff --git a/features/logout/impl/src/main/res/values-ru/translations.xml b/features/logout/impl/src/main/res/values-ru/translations.xml index adf0408a52..9cd07e22a9 100644 --- a/features/logout/impl/src/main/res/values-ru/translations.xml +++ b/features/logout/impl/src/main/res/values-ru/translations.xml @@ -14,5 +14,5 @@ "Вы собираетесь выйти из последнего сеанса. Если вы выйдете из системы сейчас, вы потеряете доступ к зашифрованным сообщениям." "Восстановление не настроено" "Вы собираетесь выйти из последнего сеанса. Если вы выйдете из системы сейчас, вы можете потерять доступ к зашифрованным сообщениям." - "Вы сохранили свой ключ восстановления?" + "Вы сохранили ключ восстановления?" diff --git a/features/logout/impl/src/main/res/values-sk/translations.xml b/features/logout/impl/src/main/res/values-sk/translations.xml index 39301437fb..69ca196383 100644 --- a/features/logout/impl/src/main/res/values-sk/translations.xml +++ b/features/logout/impl/src/main/res/values-sk/translations.xml @@ -14,5 +14,5 @@ "Chystáte sa odhlásiť z vašej poslednej relácie. Ak sa teraz odhlásite, stratíte prístup k svojim šifrovaným správam." "Obnovenie nie je nastavené" "Chystáte sa odhlásiť z vašej poslednej relácie. Ak sa teraz odhlásite, môžete stratiť prístup k svojim šifrovaným správam." - "Uložili ste si kľúč na obnovenie?" + "Uložili ste kľúč na obnovenie?" diff --git a/features/logout/impl/src/main/res/values-uz/translations.xml b/features/logout/impl/src/main/res/values-uz/translations.xml index 24da45d63b..4862d47399 100644 --- a/features/logout/impl/src/main/res/values-uz/translations.xml +++ b/features/logout/impl/src/main/res/values-uz/translations.xml @@ -5,4 +5,5 @@ "Tizimdan chiqish" "Chiqish…" "Tizimdan chiqish" + "Zaxira kalitingizni saqladingizmi?" diff --git a/features/messages/impl/src/main/res/values-fa/translations.xml b/features/messages/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..b539950608 --- /dev/null +++ b/features/messages/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,37 @@ + + + "فعّالیت‌ها" + "پرچم‌ها" + "غذا و نوشیدنی" + "حیوانات و طبعیت" + "اشیا" + "شکلک‌ها و افراد" + "سفر و مکان‌ها" + "نمادها" + "انسداد کاربر" + "دلیل گزارش این محتوا" + "دوربین" + "عکس گرفتن" + "ضبط ویدیو" + "پیوست" + "کتابخانهٔ عکس و ویدیو" + "مکان" + "نظرسنجی" + "قالب‌بندی متن" + "می‌خواهید دوباره دعوتش کنید؟" + "در این گپ تنهایید" + "آگاهی به تمام اتاق" + "هرکسی" + "فرستادن دوباره" + "فرستادن پیامتان شکست خورد" + "افزودن شکلک" + "آغاز %1$s است." + "این، آغاز گفت‌وگوست." + "نمایش کم‌تر" + "پیام رونوشت شد" + "اجازهٔ فرستادن به این اتاق را ندارید" + "نمایش کم‌تر" + "نمایش بیش‌تر" + "جدید" + "%1$s و %2$s" + diff --git a/features/onboarding/impl/src/main/res/values-fa/translations.xml b/features/onboarding/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..e4fb34e565 --- /dev/null +++ b/features/onboarding/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,9 @@ + + + "ورود دستی" + "ورود با کد QR" + "ایجاد حساب" + "به سریع‌ترین %1$s خوش آمدید. بازطرّاحی شده برای سرعت و سادگی." + "به %1$s خوش آمدید. بازطرّاحی شده برای سرعت و سادگی." + "در المنتتان باشید" + diff --git a/features/poll/impl/src/main/res/values-bg/translations.xml b/features/poll/impl/src/main/res/values-bg/translations.xml index 0b0eb5cd62..d582841e70 100644 --- a/features/poll/impl/src/main/res/values-bg/translations.xml +++ b/features/poll/impl/src/main/res/values-bg/translations.xml @@ -4,7 +4,6 @@ "Показване на резултатите само след приключване на анкетата" "Скриване на гласовете" "Опция %1$d" - "Промените ви не са запазени. Сигурни ли сте, че искате да се върнете назад?" "Въпрос или тема" "За какво се отнася анкетата?" "Създаване на анкета" diff --git a/features/poll/impl/src/main/res/values-el/translations.xml b/features/poll/impl/src/main/res/values-el/translations.xml index ef833135ee..e13ba7746a 100644 --- a/features/poll/impl/src/main/res/values-el/translations.xml +++ b/features/poll/impl/src/main/res/values-el/translations.xml @@ -4,7 +4,7 @@ "Εμφάνιση αποτελεσμάτων μόνο μετά τη λήξη της ψηφοφορίας" "Απόκρυψη ψήφων" "Επιλογή %1$d" - "Οι αλλαγές σου δεν έχουν αποθηκευτεί. Σίγουρα θέλεις να πας πίσω;" + "Οι αλλαγές σου δεν έχουν αποθηκευτεί. Σίγουρα θες να πας πίσω;" "Ερώτηση ή θέμα" "Τί αφορά η δημοσκόπηση;" "Δημιουργία Δημοσκόπησης" diff --git a/features/poll/impl/src/main/res/values-es/translations.xml b/features/poll/impl/src/main/res/values-es/translations.xml index 2789740859..adc90e59bf 100644 --- a/features/poll/impl/src/main/res/values-es/translations.xml +++ b/features/poll/impl/src/main/res/values-es/translations.xml @@ -4,7 +4,7 @@ "Mostrar los resultados solo después de que finalice la encuesta" "Ocultar votos" "Opción %1$d" - "Los cambios no se han guardado. ¿Estás seguro de que quieres volver?" + "Tus cambios no se han guardado. ¿Estás seguro de que quieres volver atrás?" "Pregunta o tema" "¿De qué trata la encuesta?" "Crear una Encuesta" diff --git a/features/poll/impl/src/main/res/values-et/translations.xml b/features/poll/impl/src/main/res/values-et/translations.xml index 2bb49f5160..4257685e75 100644 --- a/features/poll/impl/src/main/res/values-et/translations.xml +++ b/features/poll/impl/src/main/res/values-et/translations.xml @@ -4,7 +4,7 @@ "Näita tulemusi alles pärast küsitluse lõppu" "Peida hääled" "Valik %1$d" - "Sinu muudatused jäävad salvestamata. Kas oled kindel, et soovid tagasi minna?" + "Sinu tehtud muudatused pole veel salvestatud. Kas sa oled kindel, et soovid minna tagasi?" "Küsimus või teema" "Mis on küsitluse teema?" "Loo küsitlus" diff --git a/features/poll/impl/src/main/res/values-fa/translations.xml b/features/poll/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..eeedc6c7a0 --- /dev/null +++ b/features/poll/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,19 @@ + + + "افزودن گزینه" + "نمایش نتیجه‌ها تنها پس از پایان نظرسنجی" + "نهفتن رأی‌ها" + "گزینهٔ %1$d" + "تغییراتتان ذخیره نشده‌اند. مطمئنید که می‌خواهید برگردید؟" + "پرسش یا موضوع" + "این نظرسنجی دربارهٔ چیست؟" + "ایجاد نظرسنجی" + "مطمئنید که می‌خواهید این نظرسنجی را حذف کنید؟" + "حذف نظرسنجی" + "ویرایش نظرسنجی" + "نتوانست هیچ نظرسنجی در جریانی بیابد." + "نتوانست هیچ نظرسنجی گذشته‌ای بیابد." + "در جریان" + "گذشته" + "نظرسنجی‌ها" + diff --git a/features/poll/impl/src/main/res/values-ka/translations.xml b/features/poll/impl/src/main/res/values-ka/translations.xml index 0cdbc950b8..05d046a246 100644 --- a/features/poll/impl/src/main/res/values-ka/translations.xml +++ b/features/poll/impl/src/main/res/values-ka/translations.xml @@ -4,7 +4,6 @@ "შედეგების ჩვენება მხოლოდ გამოკითხვის დასრულების შემდეგ" "ხმების დამალვა" "ვარიანტი %1$d" - "თქვენი ცვლილებები არ არის შენახული. დარწმუნებული ხართ, რომ გსურთ დაბრუნება?" "კითხვა ან თემა" "რას ეხება გამოკითხვა?" "გამოკითხვის შექმნა" diff --git a/features/poll/impl/src/main/res/values-pl/translations.xml b/features/poll/impl/src/main/res/values-pl/translations.xml index c6797b370e..aae84c4e40 100644 --- a/features/poll/impl/src/main/res/values-pl/translations.xml +++ b/features/poll/impl/src/main/res/values-pl/translations.xml @@ -4,7 +4,7 @@ "Pokaż wyniki dopiero po zakończeniu ankiety" "Ukryj głosy" "Opcja %1$d" - "Twoje zmiany nie zostały zapisane. Czy na pewno chcesz wrócić?" + "Zmiany nie zostały zapisane. Czy na pewno chcesz wrócić?" "Pytanie lub temat" "Czego dotyczy ankieta?" "Utwórz ankietę" diff --git a/features/poll/impl/src/main/res/values-pt-rBR/translations.xml b/features/poll/impl/src/main/res/values-pt-rBR/translations.xml index 90720720cd..3be7be89b9 100644 --- a/features/poll/impl/src/main/res/values-pt-rBR/translations.xml +++ b/features/poll/impl/src/main/res/values-pt-rBR/translations.xml @@ -4,6 +4,7 @@ "Mostrar resultados somente após o término da enquete" "Ocultar votos" "Opção %1$d" + "Suas alterações não foram salvas. Tem certeza de que você quer voltar?" "Pergunta ou tópico" "Sobre o que é a enquete?" "Criar enquete" diff --git a/features/poll/impl/src/main/res/values-sk/translations.xml b/features/poll/impl/src/main/res/values-sk/translations.xml index cbc6b8582c..57f2ff1fb7 100644 --- a/features/poll/impl/src/main/res/values-sk/translations.xml +++ b/features/poll/impl/src/main/res/values-sk/translations.xml @@ -4,7 +4,7 @@ "Zobraziť výsledky až po skončení ankety" "Anonymná anketa" "Možnosť %1$d" - "Vaše zmeny neboli uložené. Určite sa chcete vrátiť späť?" + "Vaše zmeny neboli uložené. Naozaj sa chcete vrátiť?" "Otázka alebo téma" "O čom je anketa?" "Vytvoriť anketu" diff --git a/features/poll/impl/src/main/res/values-uk/translations.xml b/features/poll/impl/src/main/res/values-uk/translations.xml index 9d0a0cfa7a..508bfb0e9a 100644 --- a/features/poll/impl/src/main/res/values-uk/translations.xml +++ b/features/poll/impl/src/main/res/values-uk/translations.xml @@ -4,7 +4,7 @@ "Показувати результати тільки після закінчення опитування" "Приховати голоси" "Варіант %1$d" - "Ваші зміни не збережені. Ви впевнені, що хочете повернутися?" + "Внесені зміни не збережено. Ви впевнені, що хочете повернутися?" "Питання або тема" "Про що йдеться в опитуванні?" "Створити опитування" diff --git a/features/poll/impl/src/main/res/values-zh/translations.xml b/features/poll/impl/src/main/res/values-zh/translations.xml index a951a5ebb6..efaa01ed2f 100644 --- a/features/poll/impl/src/main/res/values-zh/translations.xml +++ b/features/poll/impl/src/main/res/values-zh/translations.xml @@ -4,7 +4,7 @@ "仅在投票结束后显示结果" "隐藏投票" "选项 %1$d" - "您的更改尚未保存。确定要返回吗?" + "更改尚未保存,确定要返回吗?" "问题或话题" "投票的内容是什么?" "创建投票" diff --git a/features/preferences/impl/src/main/res/values-et/translations.xml b/features/preferences/impl/src/main/res/values-et/translations.xml index 72554de476..d257cb143a 100644 --- a/features/preferences/impl/src/main/res/values-et/translations.xml +++ b/features/preferences/impl/src/main/res/values-et/translations.xml @@ -44,7 +44,7 @@ Kui sa jätkad muutmist, siis võivad muutuda ka need peidetud eelistused.""Rühmavestlused" "Kutsed" "Sinu koduserver ei toeta seda funktsionaalsust krüptitud jututubades ja seega ei pruugi kõik teavitused sinuni jõuda." - "Mainimised" + "Mainimiste alusel" "Kõik" "Mainimiste alusel" "Teavita mind" diff --git a/features/preferences/impl/src/main/res/values-fa/translations.xml b/features/preferences/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..f0cf54cea0 --- /dev/null +++ b/features/preferences/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,52 @@ + + + "بهبود تجریهٔ تماستان" + "گزینش چگونگی دریافت آگاهی" + "حالت توسعه‌دهنده" + "نشانی پایهٔ تماس المنتی سفارشی" + "تنظمی نشانی پایه‌‌ای سفارشی برای تماس المنتی." + "فراهم کنندهٔ آگاهی‌های ارسالی" + "از کار انداختن ویرایشگر متن غنی یا نوشتن دستی مارک‌دون." + "رسید‌های خواندن" + "هم‌رسانی حضور" + "هیچ کاربر مسدودی ندارید" + "رفع انسداد" + "قادر خواهید بود دوباره همهٔ پیام‌هایش را ببینید." + "رفع انسداد کاربر" + "رفع کردن انسداد…" + "نام نمایشی" + "نام نمایشیتان" + "خطایی ناشناخته رخ داد و اطّلاعات نتوانستند تغییر کنند." + "ناتوان در به‌روز کردن نمایه" + "ویرایش نمایه" + "به‌روز کردن نمایه…" + "تنظیمات اضافی" + "تماس‌های صوتی و تصویری" + "نامتطابقت در پیکربندی" + "تنظمیات آگاهی را ساده کرده‌ایم تا یافتن انتخاب‌ها را ساده‌تر کنیم. برهی تنظمیات سفارسی که در گذشته گزیده‌اید این‌جا نشان داده نمی‌شوند؛ ولی همچنن فعّالند. + +با ادامه داد ممکن است برخی تنظیماتتان تغییر کنند." + "گپ‌های مستقیم" + "تنظیمات سفارشی برای هر گپ" + "هنگام به‌روز کردن تنظیمات آگاهی خطایی رخ داد." + "همهٔ پیام‌ها" + "فقط اشاره‌ها و کلیدواژگان" + "آگاهی در گپ‌های مستقیم برای" + "آگاهی در گپ‌های گروهی برای" + "به کار انداختن آگاهی‌ها روی این افزاره" + "پیکربندی درست نشد. لطفاً دوباره تلاش کنید." + "گپ‌های گروهی" + "دعوت‌ها" + "کارساز خانگیتان از این گزینه در اتاق‌های رمز شده پشتیبانی نمی‌کند. ممکن است در برخی اتاق‌ها آگاه نشوید." + "اشاره‌ها" + "همه" + "اشاره‌ها" + "آگاه کردنم برای" + "آگاه کردنم برای ‪@room" + "برای گرفتن آگاهی‌ها لطفاً%1$sتان را تغییر دهید." + "تنظیمات سامانه" + "آگاهی‌های سامانه‌ای خاموش شدند" + "آگاهی‌ها" + "رفع‌اشکال" + "رفع‌اشکال آگاهی‌ها" + diff --git a/features/preferences/impl/src/main/res/values-fr/translations.xml b/features/preferences/impl/src/main/res/values-fr/translations.xml index 2c50c3c83c..4fa09c3b6f 100644 --- a/features/preferences/impl/src/main/res/values-fr/translations.xml +++ b/features/preferences/impl/src/main/res/values-fr/translations.xml @@ -54,5 +54,5 @@ Si vous continuez, il est possible que certains de vos paramètres soient modifi "Les notifications du système sont désactivées" "Notifications" "Dépannage" - "Résoudre les problèmes liés aux notifications" + "Dépanner les notifications" diff --git a/features/rageshake/api/src/main/res/values-fa/translations.xml b/features/rageshake/api/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..2c9e513ff8 --- /dev/null +++ b/features/rageshake/api/src/main/res/values-fa/translations.xml @@ -0,0 +1,6 @@ + + + "به نظر می‌رسد دارید گوشی خود را به دلیل کار نکردن تکان می‌دهید! آیا می‌خواهید یک اشکال در برنامه گزارش نمایید؟" + "تکان دادن" + "آستانهٔ تشخیص" + diff --git a/features/rageshake/impl/src/main/res/values-fa/translations.xml b/features/rageshake/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..c037a38792 --- /dev/null +++ b/features/rageshake/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,13 @@ + + + "پیوست نماگرفت" + "اگر پرسش دیگری دارید، می‌توانید با من در تماس باشید." + "تماس با من" + "ویرایش نماگرفت" + "شرح مشکل…" + "ترجیحاً توضیحات را به زبان انگلیسی بنویسید." + "ارسال رخدادنگارهای خطا" + "اجازه به گزارش‌ها" + "ارسال تصویر صفحه" + "دیدن گزارش‌ها" + diff --git a/features/roomdetails/impl/src/main/res/values-es/translations.xml b/features/roomdetails/impl/src/main/res/values-es/translations.xml index 17a0249f09..de509e7e81 100644 --- a/features/roomdetails/impl/src/main/res/values-es/translations.xml +++ b/features/roomdetails/impl/src/main/res/values-es/translations.xml @@ -63,7 +63,7 @@ "Eliminar y prohibir a un miembro" "Remover de la sala" - "Eliminar y prohibir miembro" + "Eliminar y prohibir a un miembro" "Solo eliminar miembro" "¿Eliminar al miembro y prohibirle unirse en el futuro?" "Anular la prohibición" diff --git a/features/roomdetails/impl/src/main/res/values-et/translations.xml b/features/roomdetails/impl/src/main/res/values-et/translations.xml index f7b473720f..a8c197ce7d 100644 --- a/features/roomdetails/impl/src/main/res/values-et/translations.xml +++ b/features/roomdetails/impl/src/main/res/values-et/translations.xml @@ -70,7 +70,7 @@ "Eemalda ja sea suhtluskeeld" "Eemalda kasutaja jututoast" - "Eemalda kasutaja jututoast ja sea talle suhtluskeeld" + "Eemalda ja sea suhtluskeeld" "Ainult eemalda kasutaja" "Kas eemaldama kasutaja ja seame talle tulevikuks suhtluskeelu?" "Eemalda suhtluskeeld" diff --git a/features/roomdetails/impl/src/main/res/values-fa/translations.xml b/features/roomdetails/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..ca25c83461 --- /dev/null +++ b/features/roomdetails/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,97 @@ + + + "هنگام به‌روز کردن تنظیمات آگاهی خطایی رخ داد." + "کارساز خانگیتان از این گزینه در اتاق‌های رمز شده پشتیبانی نمی‌کند. ممکن است در برخی اتاق‌ها آگاه نشوید." + "نظرسنجی‌ها" + "فقط مدیران" + "تحریم افراد" + "برداشتن پیام‌ها" + "هرکسی" + "دعوت افراد" + "نظارت اعضا" + "پیام‌ها و محتوا" + "مدیرن و ناظران" + "برداشتن افراد" + "تغییر چهرک اتاق" + "جزییات اتاق" + "تغییر نام اتاق" + "دگرگونی موضوع اتاق" + "فرستادن پیام‌ها" + "ویرایش مدیران" + "قادر نخواهید بود این کنش را بازکردانید. داردید کاربر را به سطح قدرت خودتان ارتقا می‌دهید." + "افزودن مدیر؟" + "تنزل بده" + "شما نمی‌توانید این تغییر را بازگردانید زیرا در حال تنزل نقش خود در اتاق هستید، اگر آخرین کاربر ممتاز در اتاق باشید، امکان دستیابی مجدد به دسترسی‌های سطح بالای اتاق غیرممکن است." + "تنزل نقش شما در اتاق؟" + "%1$s (منتظر)" + "(منتظر)" + "مدیران به صورت خودکار اجازه‌های نظارتی را دارند" + "ویرایش ناظران" + "مدیران" + "ناظم‌ها" + "اعضا" + "تغییراتی ذخیره نشده دارید." + "ذخیرهٔ تغییرات؟" + "افزودن موضوع" + "از پیش عضو است" + "از پیش دعوت شده" + "رمز شده" + "رمزنگارش نشده" + "اتاق عمومی" + "ویرایش اتاق" + "خطایی ناشناخته رخ داد و اطّلاعات قابل تغییر نبودند." + "ناتوان در به‌روز رسانی اتاق" + "رمزنگاری پیام به کار افتاد" + "دعوت افراد" + "ترک گفت‌وگو" + "ترک اتاق" + "سفارشی" + "پیش‌گزیده" + "آگاهی‌ها" + "نقش‌ها و اجازه‌ها" + "نام اتاق" + "امنیت" + "هم‌رسانی اتاق" + "اطّلاعات اتاق" + "موضوع" + "به‌روز کردن اتاق…" + "تحریم" + "تحریم کردن %1$s" + "برداشت و تحریم عضو" + "برداشتن از اتاق" + "برداشت و تحریم عضو" + "تنها برداشتن عضو" + "رفع انسداد" + "تحریم نکردن کاربر" + "دیدن نمایه" + "محروم" + "اعضا" + "منتظر" + "برداشتن %1$s…" + "مدیر" + "ناظمر" + "اعضای اتاق" + "رفع تحریم %1$s" + "اجازه به تنظیمت شخصی" + "آگاهی من در این گپ برای" + "می‌توانید در %1$sتان تغییرش دهید." + "تنظیمات جهانی" + "تنظیمات پیش‌گزیده" + "برداشتن تنظیمات سفارشی" + "همهٔ پیام‌ها" + "فقط اشاره‌ها و کلیدواژگان" + "آگاهی من در این اتاق برای" + "مدیران" + "تغییر نقشم" + "تنزّل به عضو" + "تنزّل به ناظم" + "نظارت اعضا" + "پیام‌ها و محتوا" + "ناظم‌ها" + "اجازه‌ها" + "بازنشانی اجازه‌ها" + "بازنشانی اجازه‌ها؟" + "نقش‌ها" + "جزییات اتاق" + "نقش‌ها و اجازه‌ها" + diff --git a/features/roomdetails/impl/src/main/res/values-fr/translations.xml b/features/roomdetails/impl/src/main/res/values-fr/translations.xml index b9f3eed338..5766d1e0f1 100644 --- a/features/roomdetails/impl/src/main/res/values-fr/translations.xml +++ b/features/roomdetails/impl/src/main/res/values-fr/translations.xml @@ -31,7 +31,7 @@ "Modérateurs" "Membres" "Vous avez des modifications non-enregistrées." - "Enregistrer les modifications?" + "Enregistrer les changements?" "Ajouter un sujet" "Déjà membre" "Déjà invité(e)" @@ -70,7 +70,7 @@ "Retirer et bannir ce membre" "Retirer le membre du salon" - "Retirer et bannir le membre" + "Retirer et bannir ce membre" "Retirer le membre uniquement" "Retirer le membre et interdire l’adhésion à l’avenir ?" "Débannir" diff --git a/features/roomdetails/impl/src/main/res/values-hu/translations.xml b/features/roomdetails/impl/src/main/res/values-hu/translations.xml index db9013b6cc..bacbf66536 100644 --- a/features/roomdetails/impl/src/main/res/values-hu/translations.xml +++ b/features/roomdetails/impl/src/main/res/values-hu/translations.xml @@ -31,7 +31,7 @@ "Moderátorok" "Tagok" "Mentetlen módosításai vannak." - "Menti a változtatásokat?" + "Menti a módosításokat?" "Téma hozzáadása" "Már tag" "Már meghívták" @@ -70,7 +70,7 @@ "Eltávolítás és a tag kitiltása" "Eltávolítás a szobából" - "Tag eltávolítása és kitiltása" + "Eltávolítás és a tag kitiltása" "Csak a tag eltávolítása" "Eltávolítja a tagot, és megtiltja a jövőbeni csatlakozást?" "Tiltás feloldása" diff --git a/features/roomdetails/impl/src/main/res/values-in/translations.xml b/features/roomdetails/impl/src/main/res/values-in/translations.xml index a14fe01e5c..cd3ba93146 100644 --- a/features/roomdetails/impl/src/main/res/values-in/translations.xml +++ b/features/roomdetails/impl/src/main/res/values-in/translations.xml @@ -51,7 +51,7 @@ "Tinggalkan ruangan" "Khusus" "Bawaan" - "Pemberitahuan" + "Notifikasi" "Peran dan perizinan" "Nama ruangan" "Keamanan" diff --git a/features/roomdetails/impl/src/main/res/values-pt/translations.xml b/features/roomdetails/impl/src/main/res/values-pt/translations.xml index dedc033298..f7b3adf14f 100644 --- a/features/roomdetails/impl/src/main/res/values-pt/translations.xml +++ b/features/roomdetails/impl/src/main/res/values-pt/translations.xml @@ -70,7 +70,7 @@ "Remover e banir participante" "Remover da sala" - "Remover e banir" + "Remover e banir participante" "Remover apenas" "Remover participante e proibir de se juntar no futuro?" "Anular banimento" diff --git a/features/roomdetails/impl/src/main/res/values-ro/translations.xml b/features/roomdetails/impl/src/main/res/values-ro/translations.xml index 05cd542f3b..01f641cd83 100644 --- a/features/roomdetails/impl/src/main/res/values-ro/translations.xml +++ b/features/roomdetails/impl/src/main/res/values-ro/translations.xml @@ -70,7 +70,7 @@ "Eliminați și interziceți membrul" "Înlăturați membrul" - "Înlăturați și interziceți membrul" + "Eliminați și interziceți membrul" "Doar înlăturare" "Înlăturați membrul și interziceți-i să se alăture în viitor?" "Anulare excludere" diff --git a/features/roomdetails/impl/src/main/res/values-ru/translations.xml b/features/roomdetails/impl/src/main/res/values-ru/translations.xml index d439cff033..f9f9a2d06b 100644 --- a/features/roomdetails/impl/src/main/res/values-ru/translations.xml +++ b/features/roomdetails/impl/src/main/res/values-ru/translations.xml @@ -71,7 +71,7 @@ "Удалить и заблокировать участника" "Удалить участника из комнаты" - "Удалить и запретить участника" + "Удалить и заблокировать участника" "Только удалить участника" "Удалить участника и запретить присоединяться в будущем?" "Разблокировать" diff --git a/features/roomdetails/impl/src/main/res/values-uk/translations.xml b/features/roomdetails/impl/src/main/res/values-uk/translations.xml index 87251699c1..92d68b0fc7 100644 --- a/features/roomdetails/impl/src/main/res/values-uk/translations.xml +++ b/features/roomdetails/impl/src/main/res/values-uk/translations.xml @@ -71,7 +71,7 @@ "Вилучити й заблокувати учасника" "Вилучити з кімнати" - "Видалити та заблокувати учасника" + "Вилучити й заблокувати учасника" "Лише видалити учасника" "Видалити учасника та заборонити приєднання в майбутньому?" "Розблокувати" diff --git a/features/roomdirectory/impl/src/main/res/values-fa/translations.xml b/features/roomdirectory/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..10a66d474a --- /dev/null +++ b/features/roomdirectory/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,5 @@ + + + "شکست در بار کردن" + "فهرست اتاق‌ها" + diff --git a/features/roomlist/impl/src/main/res/values-de/translations.xml b/features/roomlist/impl/src/main/res/values-de/translations.xml index 372e918e09..ccb20fc3e8 100644 --- a/features/roomlist/impl/src/main/res/values-de/translations.xml +++ b/features/roomlist/impl/src/main/res/values-de/translations.xml @@ -4,6 +4,7 @@ "Dein Server unterstützt jetzt ein neues, schnelleres Protokoll. Melde dich ab und melde dich wieder an, um zu aktualisieren. Wenn du das jetzt tust, vermeidest du eine erzwungene Abmeldung, wenn das alte Protokoll später entfernt wird." "Dein Homeserver unterstützt das alte Protokoll nicht mehr. Bitte logge dich aus und melde dich wieder an, um die App weiter zu nutzen." "Aktualisierung verfügbar" + "Erstelle einen neuen Wiederherstellungsschlüssel, mit dem du deinen verschlüsselten Nachrichtenverlauf wiederherstellen kannst, wenn du dich an einem neuen Gerät anmeldest." "Wiederherstellung einrichten" "Dein Chat-Backup ist derzeit nicht synchronisiert. Du musst deinen Wiederherstellungsschlüssel bestätigen, um Zugriff auf dein Chat-Backup zu erhalten." "Wiederherstellungsschlüssel bestätigen." diff --git a/features/roomlist/impl/src/main/res/values-fa/translations.xml b/features/roomlist/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..be6024f012 --- /dev/null +++ b/features/roomlist/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,38 @@ + + + "خروج و ارتقا" + "ارتقا موجود است" + "برپایی بازیابی" + "ورود کلید بازیابیتان" + "بهبود تجریهٔ تماستان" + "مطمئنید که می‌خواهید دعوت پیوستن به %1$s را رد کنید؟" + "رد دعوت" + "مطمئنید که می‌خواهید این گپ خصوصی با %1$s را رد کنید؟" + "رد گپ" + "بدون دعوت" + "%1$s (%2$s) دعوتتان کرد" + "فرایندی یک باره است. ممنون از شکیباییتان." + "برپایی حسابتان." + "ایجاد اتاق یا گفت‌وگویی جدید" + "آغاز با پیام دادن به کسی." + "هنوز گپی وجود ندارد." + "علاقه‌مندی‌ها" + "هنوز هیچ گپ مورد علاقه‌ای ندارید" + "دعوت‌ها" + "هیچ دعوت منتظری ندارید." + "اولویت کم" + "می توانید پالایه‌ها را برای دیدن دیگر گپ‌هایتان بردارید" + "هیچ گپی برای این گزینش ندارید" + "افراد" + "هنوز هیچ پیام مستقیمی ندارید" + "اتاق‌ها" + "هنوز در هیچ اتاقی نیستید" + "نخوانده‌ها" + "تبریک! +هیچ پیام نخوانده‌ای ندارید!" + "گپ‌ها" + "علامت‌گذاری به عنوان خوانده شده" + "نشان به ناخوانده" + "مرور همهٔ اتاق‌ها" + "تأیید کنید که خودتانید" + diff --git a/features/roomlist/impl/src/main/res/values-it/translations.xml b/features/roomlist/impl/src/main/res/values-it/translations.xml index ef28ca0625..16fffb77c4 100644 --- a/features/roomlist/impl/src/main/res/values-it/translations.xml +++ b/features/roomlist/impl/src/main/res/values-it/translations.xml @@ -1,5 +1,11 @@ + "Esci e aggiorna" + "Il tuo server ora supporta un nuovo protocollo più veloce. Esci e rientra per effettuare l\'aggiornamento. Se lo fai ora, eviterai una disconnessione forzata quando il vecchio protocollo verrà rimosso in seguito." + "Il tuo homeserver non supporta più il vecchio protocollo. Esci e rientra per continuare a usare l\'app." + "Aggiornamento disponibile" + "Genera una nuova chiave di recupero che può essere usata per ripristinare la cronologia dei messaggi crittografati nel caso in cui tu perda l\'accesso ai tuoi dispositivi." + "Configura il ripristino" "Il backup della chat non è attualmente sincronizzato. Devi confermare la chiave di recupero per mantenere l\'accesso al backup della chat." "Inserisci la chiave di recupero" "Per non perdere mai una chiamata importante, modifica le impostazioni per consentire le notifiche a schermo intero quando il telefono è bloccato." diff --git a/features/roomlist/impl/src/main/res/values-pl/translations.xml b/features/roomlist/impl/src/main/res/values-pl/translations.xml index 96d91a568f..d3c87eb81f 100644 --- a/features/roomlist/impl/src/main/res/values-pl/translations.xml +++ b/features/roomlist/impl/src/main/res/values-pl/translations.xml @@ -1,5 +1,11 @@ + "Wyloguj się i zaktualizuj" + "Twój serwer obsługuje teraz nowy, szybszy protokół. Wyloguj się i zaloguj ponownie, aby uaktualnić teraz. Zrobienie tego teraz pomoże uniknąć wymuszonego wylogowania, gdy stary protokół zostanie później usunięty." + "Twój serwer domowy już nie wspiera starego protokołu. Zaloguj się ponownie, aby kontynuować korzystanie z aplikacji." + "Dostępna aktualizacja" + "Wygeneruj nowy klucz przywracania, którego można użyć do przywrócenia historii wiadomości szyfrowanych w przypadku utraty dostępu do swoich urządzeń." + "Skonfiguruj przywracanie" "Twoja kopia zapasowa czatu jest obecnie niezsynchronizowana. Aby zachować dostęp do kopii zapasowej czatu, musisz potwierdzić klucz odzyskiwania." "Wprowadź swój klucz przywracania" "Upewnij się, że nie pominiesz żadnego połączenia. Zmień swoje ustawienia i zezwól na powiadomienia na blokadzie ekranu." diff --git a/features/roomlist/impl/src/main/res/values-pt/translations.xml b/features/roomlist/impl/src/main/res/values-pt/translations.xml index b3f6376456..f73a6bd681 100644 --- a/features/roomlist/impl/src/main/res/values-pt/translations.xml +++ b/features/roomlist/impl/src/main/res/values-pt/translations.xml @@ -1,5 +1,11 @@ + "Sair & Atualizar" + "O teu servidor suporta agora um protocolo novo e mais rápido. Termina a sessão e volta a iniciar sessão para atualizar agora. Se o fizeres agora, evitarás um fim de sessão forçado quando o protocolo antigo for removido mais tarde." + "Seu homeserver não suporta mais o protocolo antigo. Termine sessão e volte a iniciar sessão para continuar a utilizar a aplicação." + "Atualização disponível" + "Gere uma nova chave de recuperação que pode ser usada para restaurar seu histórico de mensagens criptografadas caso você perca o acesso aos seus dispositivos." + "Configurar a recuperação" "A tua cópia de segurança das conversas está atualmente dessincronizada. Tens de inserir a tua chave de recuperação para manteres o acesso à cópia." "Insere a tua chave de recuperação" "Para garantir que nunca perdes uma chamada importante, altera as configurações para permitir notificações em ecrã inteiro quando o telemóvel está bloqueado." diff --git a/features/securebackup/impl/src/main/res/values-be/translations.xml b/features/securebackup/impl/src/main/res/values-be/translations.xml index 965068fe05..8af42b8da5 100644 --- a/features/securebackup/impl/src/main/res/values-be/translations.xml +++ b/features/securebackup/impl/src/main/res/values-be/translations.xml @@ -60,7 +60,7 @@ "Гэты працэс незваротны." "Вы ўпэўнены, што хочаце скінуць шыфраванне?" "Адбылася невядомая памылка. Калі ласка, праверце правільнасць пароля вашага ўліковага запісу і паўтарыце спробу." - "Увод…" + "Увесці…" "Пацвердзіце, што вы хочаце скінуць шыфраванне" "Каб працягнуць, увядзіце пароль уліковага запісу" diff --git a/features/securebackup/impl/src/main/res/values-bg/translations.xml b/features/securebackup/impl/src/main/res/values-bg/translations.xml index 1b9eca4c09..37973150c5 100644 --- a/features/securebackup/impl/src/main/res/values-bg/translations.xml +++ b/features/securebackup/impl/src/main/res/values-bg/translations.xml @@ -5,7 +5,7 @@ "Резервното копие гарантира, че няма да загубите хронологията на съобщенията си. %1$s." "Резервно копие" "Промяна на ключа за възстановяване" - "Потвърждаване на ключа за възстановяване" + "Въвеждане на ключ за възстановяване" "Резервното копие на чатовете ви в момента не е синхронизирано." "Изключване" "Генериране на нов ключ за възстановяване" @@ -18,4 +18,5 @@ "Потвърдете ключа си за възстановяване" "Копиран ключ за възстановяване" "Запазване на ключа за възстановяване" + "Въведете…" diff --git a/features/securebackup/impl/src/main/res/values-cs/translations.xml b/features/securebackup/impl/src/main/res/values-cs/translations.xml index ba113f9c89..dfadf70a42 100644 --- a/features/securebackup/impl/src/main/res/values-cs/translations.xml +++ b/features/securebackup/impl/src/main/res/values-cs/translations.xml @@ -5,7 +5,7 @@ "Zálohování zajistí, že neztratíte historii zpráv. %1$s." "Záloha" "Změnit klíč pro obnovení" - "Potvrďte klíč pro obnovení" + "Zadejte klíč pro obnovení" "Vaše záloha chatu není aktuálně synchronizována." "Nastavení obnovy" "Získejte přístup ke svým zašifrovaným zprávám, pokud ztratíte všechna zařízení nebo jste všude odhlášeni z %1$s." @@ -42,7 +42,7 @@ "Zadejte…" "Ztratili jste klíč pro obnovení?" "Klíč pro obnovení potvrzen" - "Zadejte klíč pro obnovení" + "Potvrďte klíč pro obnovení" "Klíč pro obnovení zkopírován" "Generování…" "Uložit klíč pro obnovení" @@ -60,7 +60,7 @@ "Tento proces je nevratný." "Opravdu chcete obnovit šifrování?" "Došlo k neznámé chybě. Zkontrolujte, zda je heslo k účtu správné a zkuste to znovu." - "Zadat…" + "Zadejte…" "Potvrďte, že chcete obnovit šifrování." "Pro pokračování zadejte heslo k účtu" diff --git a/features/securebackup/impl/src/main/res/values-de/translations.xml b/features/securebackup/impl/src/main/res/values-de/translations.xml index 3b95814763..5a184d4d14 100644 --- a/features/securebackup/impl/src/main/res/values-de/translations.xml +++ b/features/securebackup/impl/src/main/res/values-de/translations.xml @@ -5,7 +5,7 @@ "Das Backup stellt sicher, dass du deinen Nachrichtenverlauf nicht verlierst. %1$s." "Backup" "Wiederherstellungsschlüssel ändern" - "Wiederherstellungsschlüssel bestätigen" + "Wiederherstellungsschlüssel eingeben" "Dein Chat-Backup ist derzeit nicht synchronisiert." "Wiederherstellung einrichten" "Erhalte Zugriff auf deine verschlüsselten Nachrichten, wenn du alle deine Geräte verlierst oder von %1$s überall abgemeldet bist." @@ -30,6 +30,9 @@ " mit einem anderen Gerät" "Zurücksetzen fortsetzen" + "Deine Kontodaten, Kontakte, Einstellungen und die Liste der Chats bleiben erhalten" + "Du verlierst alle deine bisherigen Nachrichten sofern sie nicht auf einem anderen Gerät vorliegen" + "Du musst alle deine bestehenden Geräte und Kontakte erneut verifizieren." "Ausschalten" "Du verlierst deine verschlüsselten Nachrichten, wenn du auf allen Geräten abgemeldet bist." "Bist du sicher, dass du das Backup deaktivieren willst?" @@ -54,7 +57,7 @@ "Eingeben…" "Hast du deinen Wiederherstellungschlüssel vergessen?" "Wiederherstellungsschlüssel bestätigt" - "Bitte Wiederherstellungsschlüssel eingeben" + "Wiederherstellungsschlüssel bestätigen." "Wiederherstellungsschlüssel kopiert" "Generieren…" "Wiederherstellungsschlüssel speichern" @@ -68,6 +71,11 @@ "Stelle sicher, dass du deinen Wiederherstellungsschlüssel an einem sicheren Ort aufbewahren kannst" "Einrichtung der Wiederherstellung erfolgreich" "Wiederherstellung einrichten" + "Ja, zurücksetzen" + "Das Zurücksetzen kann nicht rückgängig gemacht werden." + "Bist du sicher, dass du deine Identität zurücksetzen möchtest?" "Es ist ein unbekannter Fehler aufgetreten. Bitte überprüfe das Passwort deines Kontos und versuche es erneut." "Eingeben…" + "Bestätige, dass du deine Identität zurücksetzen möchtest." + "Gib dein Passwort ein, um fortzufahren" diff --git a/features/securebackup/impl/src/main/res/values-es/translations.xml b/features/securebackup/impl/src/main/res/values-es/translations.xml index 9dfc061a43..4f449d68c0 100644 --- a/features/securebackup/impl/src/main/res/values-es/translations.xml +++ b/features/securebackup/impl/src/main/res/values-es/translations.xml @@ -5,7 +5,7 @@ "La copia de seguridad garantiza que no pierdas tu historial de mensajes. %1$s." "Copia de seguridad" "Cambiar la clave de recuperación" - "Confirmar clave de recuperación" + "Introduzca la clave de recuperación" "La copia de seguridad de tus chats no está sincronizada ahora mismo." "Configurar la clave de recuperación" "Accede a tus mensajes cifrados si pierdes todos tus dispositivos o cierras sesión de %1$s en cualquier lugar." @@ -41,4 +41,5 @@ "Asegúrate de que puedes guardar tu clave de recuperación en algún lugar seguro" "Configuración de recuperación terminada" "Configurar la recuperación" + "Ingresar…" diff --git a/features/securebackup/impl/src/main/res/values-et/translations.xml b/features/securebackup/impl/src/main/res/values-et/translations.xml index b618432839..ae9268879f 100644 --- a/features/securebackup/impl/src/main/res/values-et/translations.xml +++ b/features/securebackup/impl/src/main/res/values-et/translations.xml @@ -5,7 +5,7 @@ "Varundamine tagab, et sinu sõnumite ajalugu on alati loetav. %1$s." "Varundus" "Muuda taastevõtit" - "Sisesta oma taastevõti" + "Sisesta taastevõti" "Sinu vestluste krüptograafia varukoopia pole hetkel enam sünkroonis." "Seadista krüptovõtmete varundus" "Säilita ligipääs oma krüptitud sõnumitele ka siis, kui sa kaotad kõik oma seadmed ja/või logid kõikjal välja rakendusest %1$s." diff --git a/features/securebackup/impl/src/main/res/values-fa/translations.xml b/features/securebackup/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..b891d5e510 --- /dev/null +++ b/features/securebackup/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,55 @@ + + + "خاموش کردن پشتیبان" + "روشن کردن پشتیبان" + "پشتیبان‌ها اطمینان می‌دهند که تاریخچهٔ پیام‌هایتان را از دست نمی‌دهید. %1$s." + "پشتیبان گیری" + "تغییر کلید بازیابی" + "ورود کلید بازیابی" + "پشتیبان گپتان از هم‌گام بودن در آمده." + "برپایی بازیابی" + "گشودن %1$s در افزارهٔ میزکار" + "ورود دوباره به حسابتان" + "گزینش %1$s هنگام درخواست تأیید افزاره‌تان" + "«بازنشانی همه»" + "پیروی از دستورالعمل‌ها برای ایجاد کلید بازیابی جدید" + "ذخیرهٔ کلید بازیابی جدیدتان در مدیر گذرواژه یا یادداشت رمز شده" + "بازنشانی رمزنگاری برای حسابتان با استفاده از افزاره‌ای دیگر" + "ادامهٔ بازنشانی" + "جزییات حساب، آشنایان، ترجیحات و سیاههٔ گپ‌هایتان حفظ خواهند شد" + "تاریخچهٔ گپ‌هایتان را از دست خواهید داد" + "لازم است دوباره همهٔ آشنایان و افزاره‌های موجودتان را تأیید کنید" + "فقط اگر به افزاره‌ای وارد شده از پیش دسترسی ندارید و کلید بازیابیتان را گم کرده‌اید بازنشانی کنید." + "نمی‌توانید تأیید کنید؟ لازم است هویتتان را بازنشانی کنید." + "خاموش کردن" + "گرفتن کلید بازیابی جدید در صورت فراموشی کلید کنونی. پس از تغییر دادن کلید بازیابیتان، کلید پیشین دیگر کار نخواهد کرد." + "تولید کلید بازیابی جدید" + "اطمینان از امکان نگه داری کلید بازیابیتان در جایی امن" + "کلید بازیابی تغییر کرد" + "تغییر کلید بازیابی؟" + "ایجاد کلید بازیابی جدید" + "اطمینان از این که کسی نمی‌تواند این صفحه را ببیند!" + "لطفاً برای تأیید دسترسی به پشتیبان گپتان دوباره تلاش کنید." + "کلید بازیابی اشتباه" + "کلید امنیتی یا عبارت امنیتی نیز باید کار کنند." + "ورود…" + "گم کردن کلید بازیابیتان؟" + "کلید بازیابی تأیید شد" + "ورود کلید بازیابیتان" + "کلید بازیابی رونوشت شد" + "تولید کردن…" + "ذخیرهٔ کلید بازیابی" + "نوشتن کلید بازیابیتان در جایی امن یا ذخیره‌اش در مدیر گذرواژه." + "زدن برای رونوشت از کلید بازیابی" + "ذخیرهٔ کلید بازیابیتان" + "پس از این برپایی قادر به دسترسی به کلید بازیابی جدیدتان نخواهید بود." + "کلید بازیابیتان را ذخیره کرده‌اید؟" + "پشتیبان گپتان با کلید بازیابی محافظت می‌شود. اگر پس از برپایی نیاز به کلید بازیابی جدیدی داشتید می‌توانید با گزینش «دگرگونی کلید بازیابی» دوباره ایجادش کنید." + "تولید کلید بازیابیتان" + "اطمینان از امکان نگه داری کلید بازیابیتان در جایی امن" + "برپایی بازیابی موفّق بود" + "برپایی بازیابی" + "بله. اکنون بازنشانی شود" + "این فرایند بازگشت‌ناپذیر است." + "ورود…" + diff --git a/features/securebackup/impl/src/main/res/values-fr/translations.xml b/features/securebackup/impl/src/main/res/values-fr/translations.xml index 346ad49329..7f39b91093 100644 --- a/features/securebackup/impl/src/main/res/values-fr/translations.xml +++ b/features/securebackup/impl/src/main/res/values-fr/translations.xml @@ -5,7 +5,7 @@ "La sauvegarde assure que vous ne perdiez pas l’historique des discussions. %1$s." "Sauvegarde" "Changer la clé de récupération" - "Confirmer la clé de récupération" + "Utiliser la clé de récupération" "La sauvegarde des discussions est désynchronisée." "Configurer la récupération" "Accédez à vos messages chiffrés si vous perdez tous vos appareils ou que vous êtes déconnectés de %1$s partout." @@ -21,6 +21,7 @@ "Vous perdrez l’historique de vos messages" "Vous devrez vérifier à nouveau tous vos appareils et tous vos contacts" "Ne réinitialisez votre identité que si vous n’avez plus accès à aucune autre session et que vous avez perdu votre clé de récupération." + "Vous ne pouvez pas confirmer ? Vous devez réinitialiser votre identité." "Désactiver" "Vous perdrez vos messages chiffrés si vous vous déconnectez de toutes vos sessions." "Êtes-vous certain de vouloir désactiver la sauvegarde?" @@ -41,7 +42,7 @@ "Saisissez la clé ici…" "Clé de récupération perdue?" "Clé de récupération confirmée" - "Saisissez votre clé de récupération" + "Confirmer votre clé de récupération" "Clé de récupération copiée" "Génération…" "Enregistrer la clé" @@ -57,8 +58,9 @@ "Configurer la sauvegarde" "Oui, réinitialisez maintenant" "Cette opération ne peut pas être annulée." + "Êtes-vous sûr de vouloir réinitialiser votre identité ?" "Une erreur s’est produite. Vérifiez que le mot de passe de votre compte est correct et réessayez." - "Saisissez…" + "Saisissez la clé ici…" "Veuillez confirmer que vous souhaitez réinitialiser votre identité." "Saisissez le mot de passe de votre compte pour continuer" diff --git a/features/securebackup/impl/src/main/res/values-hu/translations.xml b/features/securebackup/impl/src/main/res/values-hu/translations.xml index 48fe08a31b..eb0cc7fd27 100644 --- a/features/securebackup/impl/src/main/res/values-hu/translations.xml +++ b/features/securebackup/impl/src/main/res/values-hu/translations.xml @@ -5,7 +5,7 @@ "A biztonsági mentés biztosítja, hogy ne veszítse el az üzenetelőzményeit. %1$s." "Biztonsági mentés" "Helyreállítási kulcs módosítása" - "Helyreállítási kulcs megerősítése" + "Adja meg a helyreállítási kulcsot" "A csevegéselőzményei nincsenek szinkronban." "Helyreállítás beállítása" "Szerezzen hozzáférést a titkosított üzeneteihez, ha elvesztette az összes eszközét, vagy ha mindenütt kijelentkezett az %1$sből." @@ -42,7 +42,7 @@ "Megadás…" "Elvesztette a helyreállítási kulcsát?" "Helyreállítási kulcs megerősítve" - "Adja meg a helyreállítási kulcsát" + "Helyreállítási kulcs megerősítése" "Helyreállítási kulcs másolva" "Előállítás…" "Helyreállítási kulcs mentése" @@ -60,7 +60,7 @@ "Ez a folyamat visszafordíthatatlan." "Biztos, hogy visszaállítja a titkosítást?" "Ismeretlen hiba történt. Ellenőrizze, hogy a fiókja jelszava helyes-e, és próbálja meg újra." - "Adja meg…" + "Megadás…" "Erősítse meg, hogy vissza szeretné állítani a titkosítást." "A folytatáshoz adja meg fiókja jelszavát" diff --git a/features/securebackup/impl/src/main/res/values-in/translations.xml b/features/securebackup/impl/src/main/res/values-in/translations.xml index 62968d3471..83775f532f 100644 --- a/features/securebackup/impl/src/main/res/values-in/translations.xml +++ b/features/securebackup/impl/src/main/res/values-in/translations.xml @@ -5,7 +5,7 @@ "Pencadangan memastikan bahwa Anda tidak akan kehilangan riwayat pesan Anda. %1$s." "Pencadangan" "Ubah kunci pemulihan" - "Konfirmasi kunci pemulihan" + "Masukkan kunci pemulihan" "Pencadangan percakapan Anda saat ini tidak tersinkron." "Siapkan pemulihan" "Dapatkan akses ke pesan terenkripsi Anda jika Anda kehilangan semua perangkat Anda atau keluar dari %1$s di mana pun." @@ -50,4 +50,5 @@ "Pastikan Anda dapat menyimpan kunci pemulihan Anda di tempat yang aman" "Penyiapan pemulihan berhasil" "Siapkan pemulihan" + "Masukkan…" diff --git a/features/securebackup/impl/src/main/res/values-it/translations.xml b/features/securebackup/impl/src/main/res/values-it/translations.xml index 0e069b0ab2..f8d55ad3ea 100644 --- a/features/securebackup/impl/src/main/res/values-it/translations.xml +++ b/features/securebackup/impl/src/main/res/values-it/translations.xml @@ -5,7 +5,7 @@ "Il backup ti garantisce di non perdere la cronologia dei messaggi. %1$s." "Backup" "Cambia la chiave di recupero" - "Conferma la chiave di recupero" + "Inserisci la chiave di recupero" "Il backup delle conversazioni non è attualmente sincronizzato." "Configura il recupero" "Ottieni l\'accesso ai tuoi messaggi cifrati se perdi tutti i tuoi dispositivi o se sei disconnesso da %1$s ovunque." @@ -16,6 +16,7 @@ "Segui le istruzioni per creare una nuova chiave di recupero" "Salva la tua nuova chiave di recupero in un gestore di password o in una nota cifrata." "Reimposta la crittografia del tuo account utilizzando un altro dispositivo" + "Continua il ripristino" "I dettagli del tuo account, i contatti, le preferenze e l\'elenco delle conversazioni verranno conservati" "Perderai la cronologia dei messaggi esistente" "Dovrai verificare nuovamente tutti i dispositivi e i contatti esistenti" @@ -41,7 +42,7 @@ "Inserisci…" "Hai perso la chiave di recupero?" "Chiave di recupero confermata" - "Inserisci la tua chiave di recupero" + "Inserisci la chiave di recupero" "Chiave di recupero copiata" "Generazione…" "Salva la chiave di recupero" @@ -58,6 +59,7 @@ "Sì, reimposta ora" "Questo processo è irreversibile." "Sei sicuro di voler reimpostare la crittografia?" + "Si è verificato un errore sconosciuto. Controlla che la password del tuo account sia corretta e riprova." "Inserisci…" "Conferma di voler reimpostare la crittografia." "Inserisci la password del tuo account per continuare" diff --git a/features/securebackup/impl/src/main/res/values-ka/translations.xml b/features/securebackup/impl/src/main/res/values-ka/translations.xml index 6c1ed02eb5..160d1b06e0 100644 --- a/features/securebackup/impl/src/main/res/values-ka/translations.xml +++ b/features/securebackup/impl/src/main/res/values-ka/translations.xml @@ -5,7 +5,6 @@ "სარეზერვო ასლი უზრუნველყოფს იმას, რომ თქვენ შეტყობინებების ისტორიას არ დაკარგავთ. %1$s" "სარეზერვო ასლი" "აღდგენის გასაღების შეცვლა" - "შეიყვანეთ აღდგენის გასაღები" "თქვენი ჩატის სარეზერვო ასლი ამჟამად არ არის სინქრონიზებული." "აღდგენის დაყენება" "მიიღეთ წვდომა თქვენს დაშიფრულ შეტყობინებებზე, თუ დაკარგავთ თქვენს ყველა მოწყობილობას ან გამოხვალთ სისტემიდან %1$s-დან ყველგან." @@ -27,7 +26,7 @@ "თუ თქვენ გაქვთ უსაფრთხოების გასაღები ან უსაფრთხოების ფრაზა, ეს ასევე იმუშავებს." "შეყვანა" "აღდგენის გასაღები დადასტურებულია" - "შეიყვანეთ თქვენი აღდგენის გასაღები" + "შეიყვანეთ აღდგენის გასაღები" "დაკოპირებულია აღდგენის გასაღები" "გენერირება…" "აღდგენის გასაღების შენახვა" @@ -41,4 +40,5 @@ "დარწმუნდით, რომ შეგიძლიათ შეინახოთ თქვენი აღდგენის გასაღები სადმე უსაფრთხო ადგილას" "აღდგენის დაყენება წარმატებით დასრულდა" "აღდგენის დაყენება" + "შეყვანა" diff --git a/features/securebackup/impl/src/main/res/values-nl/translations.xml b/features/securebackup/impl/src/main/res/values-nl/translations.xml index 388230dd7d..a12c0492af 100644 --- a/features/securebackup/impl/src/main/res/values-nl/translations.xml +++ b/features/securebackup/impl/src/main/res/values-nl/translations.xml @@ -50,4 +50,5 @@ "Zorg ervoor dat je je herstelsleutel op een veilige plek kunt bewaren" "Herstelmogelijkheid succesvol ingesteld" "Herstelmogelijkheid instellen" + "Voer in…" diff --git a/features/securebackup/impl/src/main/res/values-pl/translations.xml b/features/securebackup/impl/src/main/res/values-pl/translations.xml index d708e18bab..23ce94656e 100644 --- a/features/securebackup/impl/src/main/res/values-pl/translations.xml +++ b/features/securebackup/impl/src/main/res/values-pl/translations.xml @@ -16,6 +16,7 @@ "Postępuj zgodnie z instrukcjami, aby utworzyć nowy klucz przywracania" "Zapisz nowy klucz przywracania w menedżerze haseł lub notatce szyfrowanej" "Resetuj szyfrowanie swojego konta za pomocą drugiego urządzenia" + "Kontynuuj resetowanie" "Szczegóły konta, kontakty, preferencje i lista czatów zostaną zachowane" "Utracisz istniejącą historię wiadomości" "Wymagana będzie ponowna weryfikacja istniejących urządzeń i kontaktów" @@ -41,7 +42,7 @@ "Wprowadź…" "Zgubiłeś swój kod przywracania?" "Potwierdzono klucz przywracania" - "Wprowadź klucz przywracania" + "Wprowadź swój klucz przywracania" "Skopiowano klucz przywracania" "Generuję…" "Zapisz klucz przywracania" @@ -58,6 +59,7 @@ "Tak, zresetuj teraz" "Tego procesu nie można odwrócić." "Czy na pewno chcesz zresetować szyfrowanie?" + "Wystąpił nieznany błąd. Sprawdź, czy hasło jest poprawne i spróbuj ponownie." "Wprowadź…" "Potwierdź, że chcesz zresetować szyfrowanie." "Wprowadź hasło, aby kontynuować" diff --git a/features/securebackup/impl/src/main/res/values-pt-rBR/translations.xml b/features/securebackup/impl/src/main/res/values-pt-rBR/translations.xml index 9c9ea39c24..e22133b881 100644 --- a/features/securebackup/impl/src/main/res/values-pt-rBR/translations.xml +++ b/features/securebackup/impl/src/main/res/values-pt-rBR/translations.xml @@ -40,4 +40,5 @@ "Certifique-se de que você pode armazenar sua chave de recuperação em algum lugar seguro" "Configuração de recuperação bem-sucedida" "Configurar a recuperação" + "Inserir…" diff --git a/features/securebackup/impl/src/main/res/values-pt/translations.xml b/features/securebackup/impl/src/main/res/values-pt/translations.xml index 0e409ea22c..b0709c64a2 100644 --- a/features/securebackup/impl/src/main/res/values-pt/translations.xml +++ b/features/securebackup/impl/src/main/res/values-pt/translations.xml @@ -5,7 +5,7 @@ "A cópia de segurança garante que não perdes o teu histórico de mensagens. %1$s." "Cópia de segurança" "Alterar chave de recuperação" - "Inserir chave de recuperação" + "Insere a chave de recuperação" "A tua cópia de segurança das conversas está atualmente dessincronizada." "Configurar recuperação" "Obtém acesso às tuas mensagens cifradas mesmo se perderes todos os teus dispositivos ou se terminares todas as tuas sessões %1$s." @@ -16,6 +16,7 @@ "Segue as instruções para criar uma nova chave de recuperação" "Guarda a tua nova chave de recuperação num gestor de senhas ou numa nota cifrada" "Repor a cifragem da tua conta utilizando outro dispositivo" + "Continuar a reposição" "Os detalhes da tua conta, contactos, preferências e lista de conversas serão mantidos." "Perderás o acesso ao teu histórico de mensagens existente" "Necessitarás de verificar todos os teus dispositivos e contactos novamente." @@ -58,6 +59,7 @@ "Sim, repor agora" "Este processo é irreversível." "Tens a certeza que pretendes repor a tua cifra?" + "Um erro desconhecido aconteceu. Verifique se a senha da sua conta está correta e tente novamente." "Inserir…" "Confirma que pretendes realmente repor a tua cifra." "Insere a tua palavra-passe para continuares" diff --git a/features/securebackup/impl/src/main/res/values-ro/translations.xml b/features/securebackup/impl/src/main/res/values-ro/translations.xml index 7266533d78..5e62e1e722 100644 --- a/features/securebackup/impl/src/main/res/values-ro/translations.xml +++ b/features/securebackup/impl/src/main/res/values-ro/translations.xml @@ -5,7 +5,7 @@ "Backup vă asigură că nu pierdeți istoricul mesajelor. %1$s." "Backup" "Schimbați cheia de recuperare" - "Confirmați cheia de recuperare" + "Introduceți cheia de recuperare" "Backup-ul pentru chat nu este sincronizat în prezent." "Configurați recuperarea" "Obțineți acces la mesajele dumneavoastră criptate dacă vă pierdeți toate dispozitivele sau sunteți deconectat de la %1$s peste tot." @@ -50,4 +50,5 @@ "Asigurați-vă că puteți stoca cheia de recuperare undeva în siguranță" "Configurarea recuperării a reușit" "Configurați recuperarea" + "Introduceți…" diff --git a/features/securebackup/impl/src/main/res/values-ru/translations.xml b/features/securebackup/impl/src/main/res/values-ru/translations.xml index 52d239069d..37e07f7b4c 100644 --- a/features/securebackup/impl/src/main/res/values-ru/translations.xml +++ b/features/securebackup/impl/src/main/res/values-ru/translations.xml @@ -9,7 +9,7 @@ "ключ восстановления" - "Ввести " + "Введите " "ключ восстановления" "Резервная копия чата в настоящее время не синхронизирована." @@ -68,7 +68,7 @@ " подтвержден" - "Подтвердите " + "Введите " "ключ восстановления" @@ -100,7 +100,7 @@ "Этот процесс необратим." "Вы действительно хотите сбросить шифрование?" "Произошла неизвестная ошибка. Проверьте правильность пароля учетной записи и повторите попытку." - "Ввод…" + "Вход…" "Подтвердите, что вы хотите сбросить шифрование." "Введите пароль своей учетной записи, чтобы продолжить" diff --git a/features/securebackup/impl/src/main/res/values-sk/translations.xml b/features/securebackup/impl/src/main/res/values-sk/translations.xml index 24d80c6b00..d157a5fcac 100644 --- a/features/securebackup/impl/src/main/res/values-sk/translations.xml +++ b/features/securebackup/impl/src/main/res/values-sk/translations.xml @@ -5,7 +5,7 @@ "Zálohovanie zaisťuje, že nestratíte históriu správ. %1$s." "Zálohovanie" "Zmeniť kľúč na obnovenie" - "Potvrdiť kľúč na obnovenie" + "Zadajte kľúč na obnovenie" "Vaša záloha konverzácie nie je momentálne synchronizovaná." "Nastaviť obnovovanie" "Získajte prístup k vašim šifrovaným správam aj keď stratíte všetky svoje zariadenia alebo sa odhlásite zo všetkých %1$s zariadení." @@ -42,7 +42,7 @@ "Zadať…" "Stratili ste kľúč na obnovenie?" "Kľúč na obnovu potvrdený" - "Zadajte kľúč na obnovenie" + "Potvrďte svoj kľúč na obnovenie" "Skopírovaný kľúč na obnovenie" "Generovanie…" "Uložiť kľúč na obnovenie" @@ -60,7 +60,7 @@ "Tento proces je nezvratný." "Naozaj chcete obnoviť svoje šifrovanie?" "Nastala neznáma chyba. Skontrolujte, či je heslo vášho účtu správne a skúste to znova." - "Zadajte…" + "Zadať…" "Potvrďte, že chcete obnoviť svoje šifrovanie." "Ak chcete pokračovať, zadajte heslo účtu" diff --git a/features/securebackup/impl/src/main/res/values-uk/translations.xml b/features/securebackup/impl/src/main/res/values-uk/translations.xml index 7d88980f8b..8d06098c6f 100644 --- a/features/securebackup/impl/src/main/res/values-uk/translations.xml +++ b/features/securebackup/impl/src/main/res/values-uk/translations.xml @@ -5,7 +5,7 @@ "Резервне копіювання гарантує, що ви не втратите історію повідомлень. %1$s." "Резервне копіювання" "Змінити ключ відновлення" - "Підтвердити ключ відновлення" + "Введіть ключ відновлення" "Ваша резервна копія чату наразі не синхронізована." "Налаштувати відновлення" "Отримайте доступ до своїх зашифрованих повідомлень, якщо ви втратите всі свої пристрої або вийшли з %1$s системи." diff --git a/features/securebackup/impl/src/main/res/values-uz/translations.xml b/features/securebackup/impl/src/main/res/values-uz/translations.xml index b5bea8f4b8..c3bec705ad 100644 --- a/features/securebackup/impl/src/main/res/values-uz/translations.xml +++ b/features/securebackup/impl/src/main/res/values-uz/translations.xml @@ -5,7 +5,6 @@ "Zaxiralash xabarlar tarixini yo\'qotmaslikni ta\'minlaydi.%1$s." "Zaxira" "Qayta tiklash kalitini o\'zgartiring" - "Qayta tiklash kalitini kiriting" "Sizning chat zaxirangiz hozirda sinxronlashtirilmagan." "Qayta tiklashni sozlang" "Agar barcha qurilmalaringizni yo‘qotib qo‘ysangiz yoki tizimdan chiqqan bo‘lsangiz, shifrlangan xabarlaringizga ruxsat oling%1$s hamma joyda." @@ -25,7 +24,6 @@ "Agar sizda xavfsizlik kaliti yoki xavfsizlik iborasi bolsa, bu ham ishlaydi." "Kirish…" "Qayta tiklash kaliti tasdiqlandi" - "Qayta tiklash kalitingizni kiriting" "Qayta tiklash kalitini saqlang" "Qayta tiklash kalitingizni xavfsiz joyga yozing yoki parol menejerida saqlang." "Qayta tiklash kalitidan nusxa olish uchun bosing" @@ -37,4 +35,5 @@ "Qayta tiklash kalitingizni xavfsiz joyda saqlashingiz mumkinligiga ishonch hosil qiling" "Qayta tiklash muvaffaqiyatli sozlandi" "Qayta tiklashni sozlang" + "Kirish…" diff --git a/features/securebackup/impl/src/main/res/values-zh-rTW/translations.xml b/features/securebackup/impl/src/main/res/values-zh-rTW/translations.xml index 973c188872..8dcc1bbcc9 100644 --- a/features/securebackup/impl/src/main/res/values-zh-rTW/translations.xml +++ b/features/securebackup/impl/src/main/res/values-zh-rTW/translations.xml @@ -5,7 +5,7 @@ "備份可確保您不會遺失歷史訊息。%1$s。" "備份" "變更復原金鑰" - "輸入復原金鑰" "關閉" + "輸入您的復原金鑰" "點擊以複製復原金鑰" diff --git a/features/securebackup/impl/src/main/res/values-zh/translations.xml b/features/securebackup/impl/src/main/res/values-zh/translations.xml index 2ac13bca5c..8c59f0b0f8 100644 --- a/features/securebackup/impl/src/main/res/values-zh/translations.xml +++ b/features/securebackup/impl/src/main/res/values-zh/translations.xml @@ -42,7 +42,7 @@ "输入……" "丢失了恢复密钥?" "恢复密钥已确认" - "输入您的恢复密钥" + "输入恢复密钥" "恢复密钥已复制" "正在生成……" "保存恢复密钥" @@ -60,7 +60,7 @@ "此过程不可逆。" "您确定要重置加密吗?" "发生未知错误。请检查您的帐户密码是否正确,然后重试。" - "输入…" + "输入……" "确认您要重置加密。" "输入您的账户密码以继续" diff --git a/features/securebackup/impl/src/main/res/values/localazy.xml b/features/securebackup/impl/src/main/res/values/localazy.xml index 55c6c547f5..ad78333012 100644 --- a/features/securebackup/impl/src/main/res/values/localazy.xml +++ b/features/securebackup/impl/src/main/res/values/localazy.xml @@ -18,7 +18,7 @@ "Reset the encryption for your account using another device" "Continue reset" "Your account details, contacts, preferences, and chat list will be kept" - "You will lose your existing message history" + "You will lose your existing message history unless it is stored on another device" "You will need to verify all your existing devices and contacts again" "Only reset your identity if you don’t have access to another signed-in device and you’ve lost your recovery key." "Can\'t confirm? You’ll need to reset your identity." diff --git a/features/signedout/impl/src/main/res/values-fa/translations.xml b/features/signedout/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..bd5680df00 --- /dev/null +++ b/features/signedout/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,6 @@ + + + "گذرواژه‌تان را در نشستی دیگر تغییر داده‌اید" + "این نشست را از نشستی دیگر حذف کرده‌اید" + "خارج شده‌اید" + diff --git a/features/userprofile/shared/src/main/res/values-fa/translations.xml b/features/userprofile/shared/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..169a87c2c3 --- /dev/null +++ b/features/userprofile/shared/src/main/res/values-fa/translations.xml @@ -0,0 +1,8 @@ + + + "بلوک" + "انسداد کاربر" + "رفع انسداد" + "قادر خواهید بود دوباره همهٔ پیام‌هایش را ببینید." + "رفع انسداد کاربر" + diff --git a/features/verifysession/impl/src/main/res/values-fa/translations.xml b/features/verifysession/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..3899f7acff --- /dev/null +++ b/features/verifysession/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,27 @@ + + + "نمی‌توانید تأیید کنید؟" + "ایجاد کلید بازیابی جدید" + "تأیید این افزاره برای برپایی پیام‌رسانی امن." + "تأیید هویتتان" + "استفاده از افزاره‌ای دیگر" + "استفاده از کلید بازیابی" + "اکنون می‌توانید پیام‌ها را به صورت امن فرستاده و بگیرید و هرکسی که با او گپ می‌زنید نیز می‌تواند به این افزاره اعتماد کند." + "افزاره تأیید شده" + "استفاده از افزاره‌ای دیگر" + "منتظر افزارهٔ دیگر…" + "مقایسهٔ شکلک‌ها" + "مقایسهٔ اعداد" + "نشست جدید شما اکنون تأیید شده‌است. این نشست به پیام‌های رمزگذاری شده‌ی شما دسترسی داشته و سایر کاربران نیز این نشست را قابل اعتماد می دانند." + "ورود کلید بازیابی" + "گشودن نشستی موجود" + "تلاش برای تأیید دوباره" + "آماده‌ام" + "منتظر تطابق" + "مقایسهٔ مجموعه‌ای یکتا از شکلک‌ها." + "شکلک‌ها را مقایسه کنید، از ترتیب نمایش آنان نیز مطمئن شوید." + "مطابق نیستند" + "مطابقند" + "منظر پذیرش درخواست" + "خارج شدن…" + diff --git a/libraries/eventformatter/impl/src/main/res/values-fa/translations.xml b/libraries/eventformatter/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..c5f4c6beb5 --- /dev/null +++ b/libraries/eventformatter/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,69 @@ + + + "(چهرک نیز تغییر کرد)" + "%1$s چهرکش را تغییر داد" + "چهرکتان را تغییر دادید" + "%1$s به عضو تنزّل یافت" + "%1$s به ناظم تنزّل یافت" + "%1$s نام نمایشیش را از %2$s به%3$s تغییر داد" + "نام نمایشیتان را از %1$s به %2$s تغییر دادید" + "%1$s نام نمایشیش را برداشت (%2$s بود)" + "نام نمایشیتان را برداشتید (%1$s بود)" + "%1$s نام نمایشیش را به %2$s تغییر داد" + "نام نمایشیتان را به %1$s تغییر دادید" + "%1$s به مدیر ارتقا یافت" + "%1$s به ناظم ارتقا یافت" + "%1$s چهرک اتاق را تغییر داد" + "چهرک اتاق را تغییر دادید" + "%1$s چهرک اتاق را برداشت" + "چهرک اتاق را برداشتید" + "%2$s به دست %1$s مسدود کرد" + "%1$s را مسدود کردید" + "%1$s اتاق را ایجاد کرد" + "اتاق را ساختید" + "%1$s از %2$s دعوت کرد" + "%1$s دعوت را پذیرفت" + "دعوت را پذیرفتید" + "از %1$s دعوت کردید" + "%1$s دعوتتان کرد" + "%1$s به اتاق پیوست" + "به اتاق پیوستید" + "%1$s درخواست پیوستن کرد" + "%1$s گذاشت %2$s بپیوندد" + "گذاشتید %1$s بپیوندد" + "درخواست پیوستن کردید" + "درخواست پیوستن %2$s به دست %1$s لغو شد" + "درخوسات پیوستن %1$s را رد کردید" + "درخواست پیوستنتان به دست %1$s رد شد" + "%1$s دیگر علاقه‌ای به پیوستن ندارد" + "درخواست پیوستنتان را لغو کردید" + "%1$s اتاق را ترک کرد" + "اتاق را ترک کردید" + "%1$s نام اتاق را تغییر داد: %2$s" + "نام اتاق را تغییر دادید: %1$s" + "%1$sنام اتاق را برداشت" + "نام اتاق را برداشتید" + "%1$s تغییری ایجاد نکرد" + "تغییری ایجاد نکردید" + "%1$s پیام‌های سنجاق شده را تغییر داد" + "پیام‌های سنجاق شده را تغییر دادید" + "%1$s پیامی را سنجاق کرد" + "پیامی را سنجاق کردید" + "%1$s سنجاق پیامی را برداشت" + "سنجاق پیامی را برداشتید" + "%1$s دعوت را رد کرد" + "دعوت را رد کردید" + "%2$s به دست %1$s برداشته شد" + "%1$s را برداشتید" + "%1$s دعوتی برای پیوستن %2$s به اتاق فرستاد" + "برای %1$s دعوت پیوستن به اتاق فرستادید" + "%1$s دعوت پیوستن به اتاق %2$s را باطل کرد" + "دعوت پیوستن %1$s به اتاق را پس گرفتید" + "%1$s موضوع را تغییر داد: %2$s" + "موضوع را تغییر دادید: %1$s" + "%1$sموضوع اتاق را برداشت" + "موضوع اتاق را برداشتید" + "%1$s انسداد %2$s را لغو کرد" + "انسداد%1$s را لغو کردید" + "%1$s تغییری نامعلوم در عضویتش داد" + diff --git a/libraries/matrixui/src/main/res/values-fa/translations.xml b/libraries/matrixui/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..a38fe738f0 --- /dev/null +++ b/libraries/matrixui/src/main/res/values-fa/translations.xml @@ -0,0 +1,4 @@ + + + "%1$s (%2$s) دعوتتان کرد" + diff --git a/libraries/permissions/api/src/main/res/values-fa/translations.xml b/libraries/permissions/api/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..54e7e245bd --- /dev/null +++ b/libraries/permissions/api/src/main/res/values-fa/translations.xml @@ -0,0 +1,4 @@ + + + "لطفاً در تنظیمات سامانه اجازه بدهید." + diff --git a/libraries/permissions/impl/src/main/res/values-fa/translations.xml b/libraries/permissions/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..8d566ef035 --- /dev/null +++ b/libraries/permissions/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,4 @@ + + + "بررسی اجازه‌ها" + diff --git a/libraries/push/impl/src/main/res/values-el/translations.xml b/libraries/push/impl/src/main/res/values-el/translations.xml index b008447c80..ad88f0f3b3 100644 --- a/libraries/push/impl/src/main/res/values-el/translations.xml +++ b/libraries/push/impl/src/main/res/values-el/translations.xml @@ -23,6 +23,7 @@ "%d προσκλήσεις" "Σε προσκάλεσε να συνομιλήσετε" + "Ο χρήστης %1$s σε προσκάλεσε σε συνομιλία" "Σέ ανέφερε: %1$s" "Νέα Μηνύματα" @@ -33,6 +34,7 @@ "Επισήμανση ως αναγνωσμένου" "Γρήγορη απάντηση" "Σέ προσκάλεσε να συμμετάσχεις στο δωμάτιο" + "Ο χρήστης %1$s σε προσκάλεσε να συμμετάσχεις στο δωμάτιο" "Εγώ" "Ο χρήστης %1$s αναφέρθηκε ή απάντησε" "Βλέπεις την ειδοποίηση! Κάνε μου κλικ!" diff --git a/libraries/push/impl/src/main/res/values-es/translations.xml b/libraries/push/impl/src/main/res/values-es/translations.xml index 37f495a163..27533f254c 100644 --- a/libraries/push/impl/src/main/res/values-es/translations.xml +++ b/libraries/push/impl/src/main/res/values-es/translations.xml @@ -15,7 +15,6 @@ "Notificación" "** No se ha podido enviar - por favor, abre la sala" "Unirse" - "Rechazar" "%d invitación" "%d invitaciones" diff --git a/libraries/push/impl/src/main/res/values-et/translations.xml b/libraries/push/impl/src/main/res/values-et/translations.xml index 8211ac4c25..a4c1b788cc 100644 --- a/libraries/push/impl/src/main/res/values-et/translations.xml +++ b/libraries/push/impl/src/main/res/values-et/translations.xml @@ -17,7 +17,7 @@ "Sissetulev kõne" "** Saatmine ei õnnestunud - palun ava jututoa täisvaade" "Liitu" - "Lükka tagasi" + "Keeldu" "%d kutse" "%d kutset" diff --git a/libraries/push/impl/src/main/res/values-fa/translations.xml b/libraries/push/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..a4bd043071 --- /dev/null +++ b/libraries/push/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,38 @@ + + + "تماس" + "در حال گوش دادن به رویدادها" + "اعلان‌های پرصدا" + "زنگ خوردن تماس" + "اعلان‌های صامت" + "آگاهی" + "تماس ورودی" + "**‌شکست در فرستادن - لطفاً اتاق را بگشایید" + "پیوستن" + "رد کردن" + "به گپ دعوتتان کرد" + "%1$s به گپ دعوتتان کرد" + "به شما اشاره کرد: %1$s" + "پیام جدید" + "با %1$s واکنش داد" + "علامت‌گذاری به عنوان خوانده شده" + "پاسخ سریع" + "دعوت کرد به اتاق بپیوندید" + "%1$s دعوت کرد به اتاق بپیوندید" + "خودم" + "%1$s اشاره کرد یا پاسخ داد" + "دارید آگاهی را مشاهده می‌کنید! کلیک کنید!" + "%1$s: %2$s" + "%1$s: %2$s %3$s" + "%1$s و %2$s" + "%1$s در %2$s" + "%1$s در %2$s و %3$s" + "همگام سازی پس‌زمینه" + "خدمات گوگل" + "خدمت پلی گوگل معتبری پیدا نشد. ممکن است آگاهی‌ها به درستی کار نکنند." + "روی آگاهی کلیک شد!" + "خطا: فرستنده درخواست را رد کرد." + "خطا: %1$s." + "خطا. نتوانست فرستادن را بیازماید." + "خطا. مهلت زمانی انتظار برای فرستادن سر رسید." + diff --git a/libraries/push/impl/src/main/res/values-it/translations.xml b/libraries/push/impl/src/main/res/values-it/translations.xml index d2a7caa7ce..86f7309100 100644 --- a/libraries/push/impl/src/main/res/values-it/translations.xml +++ b/libraries/push/impl/src/main/res/values-it/translations.xml @@ -23,6 +23,7 @@ "%d inviti" "Ti ha invitato ad una conversazione" + "%1$s ti ha invitato ad una conversazione" "Ti ha menzionato: %1$s" "Nuovi messaggi" @@ -33,7 +34,9 @@ "Segna come letto" "Risposta rapida" "Ti ha invitato ad entrare nella stanza" + "%1$s ti ha invitato a unirti alla stanza" "Io" + "%1$s menzionato o risposto" "Stai visualizzando la notifica! Cliccami!" "%1$s: %2$s" "%1$s: %2$s %3$s" diff --git a/libraries/push/impl/src/main/res/values-ka/translations.xml b/libraries/push/impl/src/main/res/values-ka/translations.xml index f829dfa8fa..8296075572 100644 --- a/libraries/push/impl/src/main/res/values-ka/translations.xml +++ b/libraries/push/impl/src/main/res/values-ka/translations.xml @@ -15,7 +15,6 @@ "შეტყობინება" "** გაგზავნა ვერ მოხერხდა - გთხოვთ, გახსნათ ოთახი" "გაწევრიანება" - "უარყოფა" "%d მოწვევა" "%d მოწვევები" diff --git a/libraries/push/impl/src/main/res/values-nl/translations.xml b/libraries/push/impl/src/main/res/values-nl/translations.xml index 425973551a..e308774a43 100644 --- a/libraries/push/impl/src/main/res/values-nl/translations.xml +++ b/libraries/push/impl/src/main/res/values-nl/translations.xml @@ -15,7 +15,6 @@ "Melding" "** Verzenden is mislukt - open de kamer" "Deelnemen" - "Afwijzen" "%d uitnodiging" "%d uitnodigingen" diff --git a/libraries/push/impl/src/main/res/values-pl/translations.xml b/libraries/push/impl/src/main/res/values-pl/translations.xml index d5f77da93e..1cd641e6f2 100644 --- a/libraries/push/impl/src/main/res/values-pl/translations.xml +++ b/libraries/push/impl/src/main/res/values-pl/translations.xml @@ -26,6 +26,7 @@ "%d zaproszeń" "Zaprosił(a) cię do czatu" + "%1$s zaprosił Cię do czatu" "Wspomniano o Tobie: %1$s" "Nowe wiadomości" @@ -37,7 +38,9 @@ "Oznacz jako przeczytane" "Szybka odpowiedź" "Zaprosił Cię do dołączenia do pokoju" + "%1$s zaprosił Cię do pokoju" "Ja" + "%1$s wspomniał lub odpowiedział" "Wyświetlasz powiadomienie! Kliknij mnie!" "%1$s: %2$s" "%1$s: %2$s %3$s" diff --git a/libraries/push/impl/src/main/res/values-pt-rBR/translations.xml b/libraries/push/impl/src/main/res/values-pt-rBR/translations.xml index 3d647e1acf..0db0240f64 100644 --- a/libraries/push/impl/src/main/res/values-pt-rBR/translations.xml +++ b/libraries/push/impl/src/main/res/values-pt-rBR/translations.xml @@ -15,7 +15,7 @@ "Notificação" "** Falha ao enviar - por favor, abra a sala" "Entrar" - "Rejeitar" + "Recusar" "%d convite" "%d convites" diff --git a/libraries/push/impl/src/main/res/values-pt/translations.xml b/libraries/push/impl/src/main/res/values-pt/translations.xml index a756150247..49fa827131 100644 --- a/libraries/push/impl/src/main/res/values-pt/translations.xml +++ b/libraries/push/impl/src/main/res/values-pt/translations.xml @@ -23,6 +23,7 @@ "%d convites" "Convidou-te para conversar" + "%1$s convidou-o para conversar" "Mencionou-te: %1$s" "Mensagens novas" @@ -33,7 +34,9 @@ "Marcar como lida" "Resposta rápida" "Convidou-te a entrar na sala" + "%1$s convidou-o a juntar-se à sala" "Eu" + "%1$s mencionou ou respondeu" "Estás a ver a notificação! Clica em mim!" "%1$s: %2$s" "%1$s: %2$s %3$s" diff --git a/libraries/push/impl/src/main/res/values-ro/translations.xml b/libraries/push/impl/src/main/res/values-ro/translations.xml index 896063b1aa..a394d59cf2 100644 --- a/libraries/push/impl/src/main/res/values-ro/translations.xml +++ b/libraries/push/impl/src/main/res/values-ro/translations.xml @@ -17,7 +17,7 @@ "Apel primit" "** Trimiterea eșuată - vă rugăm să deschideți camera" "Alăturați-vă" - "Respingeți" + "Respinge" "%d invitație" "%d invitații" diff --git a/libraries/push/impl/src/main/res/values-sk/translations.xml b/libraries/push/impl/src/main/res/values-sk/translations.xml index 88bf1d91c0..b6b3feacdd 100644 --- a/libraries/push/impl/src/main/res/values-sk/translations.xml +++ b/libraries/push/impl/src/main/res/values-sk/translations.xml @@ -19,7 +19,7 @@ "Prichádzajúci hovor" "** Nepodarilo sa odoslať - prosím otvorte miestnosť" "Pripojiť sa" - "Zamietnuť" + "Odmietnuť" "%d pozvánka" "%d pozvánky" diff --git a/libraries/push/impl/src/main/res/values-uz/translations.xml b/libraries/push/impl/src/main/res/values-uz/translations.xml index 77e503e5c9..badfd6d421 100644 --- a/libraries/push/impl/src/main/res/values-uz/translations.xml +++ b/libraries/push/impl/src/main/res/values-uz/translations.xml @@ -15,7 +15,6 @@ "Bildirishnoma" "** Yuborilmadi - iltimos, xonani oching" "Qo\'shilish" - "Rad etish" "%dtaklifnoma" "%dtaklifnomalar" diff --git a/libraries/textcomposer/impl/src/main/res/values-fa/translations.xml b/libraries/textcomposer/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..2a20aecd21 --- /dev/null +++ b/libraries/textcomposer/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,25 @@ + + + "افزودن پیوست" + "تغییر وضعیت سیاههٔ گلوله‌ای" + "بستن گزینه‌های قالب‌بندی" + "تغییر حالت بلوک کد" + "پیام…" + "ایجاد پیوند" + "ویرایش پیوند" + "اعمال قالب توپر" + "اعمال قالب کج" + "اعمال قالب خط‌خورده" + "اعمال قالب زیرخط‌دار" + "تغییر حالت تمام‌صفحه" + "تورفتگی" + "اعمال قالب کد درون‌خط" + "تنظیم پیوند" + "تغییر وضعیت سیاههٔ شماره‌دار" + "گشودن گزینه‌های نوشتن" + "تغییر حالت نقل قول" + "برداشتن پیوند" + "تونرفتگی" + "پیوند" + "نگه داشتن برای ضبط" + diff --git a/libraries/troubleshoot/impl/src/main/res/values-fa/translations.xml b/libraries/troubleshoot/impl/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..6df27f96f2 --- /dev/null +++ b/libraries/troubleshoot/impl/src/main/res/values-fa/translations.xml @@ -0,0 +1,9 @@ + + + "اجرای آزمون‌ها" + "اجرای دوبارهٔ آزمون‌ها" + "برخی آزمون‌ها شکست خوردند. بررسی جزییات." + "تلاش برای تعمیر" + "همهٔ آزمون‌ها با موفّقیت گذرانده شدند." + "رفع‌اشکال آگاهی‌ها" + diff --git a/libraries/ui-strings/src/main/res/values-de/translations.xml b/libraries/ui-strings/src/main/res/values-de/translations.xml index 597f468ec5..45696e6f18 100644 --- a/libraries/ui-strings/src/main/res/values-de/translations.xml +++ b/libraries/ui-strings/src/main/res/values-de/translations.xml @@ -92,6 +92,7 @@ "Fehler melden" "Inhalt melden" "Zurücksetzen" + "Identität zurücksetzen" "Erneut versuchen" "Entschlüsselung wiederholen" "Speichern" diff --git a/libraries/ui-strings/src/main/res/values-el/translations.xml b/libraries/ui-strings/src/main/res/values-el/translations.xml index 6b1b4616e5..06e21e9d57 100644 --- a/libraries/ui-strings/src/main/res/values-el/translations.xml +++ b/libraries/ui-strings/src/main/res/values-el/translations.xml @@ -104,6 +104,7 @@ "Αποστολή μηνύματος" "Κοινή χρήση" "Κοινή χρήση συνδέσμου" + "Εμφάνιση" "Συνδέσου ξανά" "Αποσύνδεση" "Αποσύνδεση ούτως ή άλλως" @@ -130,6 +131,7 @@ "Κλήση σε εξέλιξη (δεν υποστηρίζεται)" "Η κλήση ξεκίνησε" "Αντίγραφο ασφαλείας συνομιλίας" + "Αντιγράφηκε στο πρόχειρο" "Πνευματικά δικαιώματα" "Δημιουργία δωματίου…" "Αποχώρησε από το δωμάτιο" @@ -248,6 +250,8 @@ "Φωνητικό μήνυμα" "Αναμονή…" "Αναμονή για αυτό το μήνυμα" + "Εσύ" + "Η ταυτότητα του χρήστη %1$s φαίνεται να έχει αλλάξει. %2$s" "Επιβεβαίωση" "Σφάλμα" "Επιτυχία" diff --git a/libraries/ui-strings/src/main/res/values-et/translations.xml b/libraries/ui-strings/src/main/res/values-et/translations.xml index 6f2bb40cc4..31426c3f1b 100644 --- a/libraries/ui-strings/src/main/res/values-et/translations.xml +++ b/libraries/ui-strings/src/main/res/values-et/translations.xml @@ -104,6 +104,7 @@ "Saada sõnum" "Jaga" "Jaga linki" + "Näita" "Logi uuesti sisse" "Logi välja" "Ikkagi logi välja" @@ -130,6 +131,7 @@ "Kõne on pooleli (pole toetatud)" "Kõne algas" "Vestluse varukoopia" + "Kopeeritud lõikelauale" "Autoriõigused" "Loome jututoa…" "Lahkus jututoast" @@ -249,6 +251,7 @@ Põhjus: %1$s." "Ootame…" "Ootame selle sõnumi dekrüptimisvõtit" "Sina" + "Kasutaja %1$s võrguidentiteet tundub olema muutunud. %2$s" "Kinnitus" "Viga" "Õnnestus" diff --git a/libraries/ui-strings/src/main/res/values-fa/translations.xml b/libraries/ui-strings/src/main/res/values-fa/translations.xml new file mode 100644 index 0000000000..a22be0888c --- /dev/null +++ b/libraries/ui-strings/src/main/res/values-fa/translations.xml @@ -0,0 +1,286 @@ + + + "حذف" + "نهفتن گذرواژه" + "به پایین بروید" + "فقط اشاره‌ها" + "خموش" + "صفحهٔ %1$d" + "مکث" + "زمینهٔ پین" + "پخش" + "نظرسنجی" + "نظرسنجی پایان یافته" + "واکنش با %1$s" + "واکنش با شکلک‌های دیگر" + "خوانده به دست %1$s و %2$s" + "خوانده به دست %1$s" + "زدن برای نمایش همه" + "برداشتن واکنش با %1$s" + "ارسال پرونده‌ها" + "نمایش گذرواژه" + "آغاز یک تماس" + "فهرست کاربر" + "ضبط پیام صوتی." + "توقّف ضبط" + "پذیرش" + "افزودن به خط زمانی" + "بازگشت" + "تماس" + "لغو" + "لغو برای امنون" + "گزینش عکس" + "پاک سازی" + "بستن" + "تکمیل تأیید" + "تأیید" + "تأیید گذرواژه" + "ادامه" + "رونوشت" + "رونوشت از پیوند" + "رونوشت از پیوند پیام" + "ایجاد" + "ایجاد اتاق" + "غیرفعّال" + "غیرفعّال‌سازی حساب" + "رد" + "حذف نظرسنجی" + "از کار انداختن" + "دور ریختن" + "انجام شد" + "ویرایش" + "ویرایش نظرسنجی" + "به کار انداختن" + "پایان نظرسنجی" + "ورود پین" + "گذرواژه را فراموش کردید؟" + "پیشروی" + "پس‌روی" + "دعوت" + "دعوت افراد" + "دعوت به %1$s" + "دعوت افراد به %1$s" + "دعوت‌ها" + "پیوستن" + "بیش‌تر دانستن" + "ترک" + "ترک گفت‌وگو" + "ترک اتاق" + "بار کردن بیش‌تر" + "مدیریت حساب" + "مدیریت افزاره‌ها" + "پیام" + "بعدی" + "نه" + "الآن نه" + "قبول" + "تنظیمات" + "گشودن با" + "سنجاق" + "پاسخ سریع" + "نقل قول" + "واکنش" + "رد کردن" + "برداشتن" + "پاسخ" + "پاسخ در رشته" + "گزارش اشکال" + "گزارش محتوا" + "بازنشانی" + "بازنشانی هویت" + "تلاش دوباره" + "تلاش دوباره برای رمزگشایی" + "ذخیره" + "جست‌وجو" + "فرستادن" + "فرستادن پیام" + "هم‌رسانی" + "هم‌رسانی پیوند" + "نمایش" + "ورود دوباره" + "خروج" + "خروج به هر صورت" + "پرش" + "آغاز" + "آغاز گپ" + "آغاز تأیید" + "زدن برای بار کردن نقشه" + "عکس گرفتن" + "زدن برای گزینه‌ها" + "تلاش دوباره" + "سنجاق نکردن" + "دیدن در خط زمانی" + "دیدن منبع" + "بله" + "درباره" + "سیاست استفادهٔ پذیرفتنی" + "تنظیمات پیش‌رفته" + "تجزیه و تحلیل" + "ظاهر" + "صدا" + "کاربران مسدود" + "حباب‌ها" + "تماس در جریان (پشتیبانی نشده)" + "تماس آغاز شد" + "پشتیبان گپ" + "در تخته‌گیره رونوشت شد" + "حق رونوشت" + "ایجاد کردن اتاق…" + "اتاق را ترک کرد" + "تیره" + "خطای رمزگشایی" + "گزینه‌های توسعه دهنده" + "گپ مستقیم" + "این مورد را دوباره نشان نده" + "(ویراسته)" + "ویرایش" + "* %1$s %2$s" + "رمزنگاری به کار افتاده" + "پینتان را وارد کنید" + "خطا" + "هرکسی" + "شکست خورد" + "برگزیده" + "برگزیده" + "پرونده" + "پرونده در بارگیری‌ها ذخیره شد" + "هدایت پیام" + "جیف" + "تصویر" + "در پاسخ به %1$s" + "نصب APK" + "شناسهٔ ماتریکس نتوانست پیدا شود. ممکن است دعوت نرسیده باشد." + "ترک کردن اتاق" + "روشن" + "پیوند در تخته‌گیره رونوشت شد" + "بار کردن…" + "پیام" + "کنش‌های پیام" + "جینش پیام" + "پیام برداشته شد" + "نوین" + "بی‌صدا" + "بدون نتیجه" + "بدون نام اتاق" + "برون‌خط" + "پروانه‌های نرم‌افزاری آزاد" + "یا" + "گذرواژه" + "افراد" + "پایاپیوند" + "اجازه" + "سنجاق شده" + "لطفا صبر کنید…" + "مطئنید که می‌خواهید این نظرسنجی را پایان دهید؟" + "نظرسنجی: %1$s" + "مجموع آرا: %1$s" + "نتیجه‌ها پس از پایان نظرسنجی نشان داده خواهند شد" + "سیاست محرمانگی" + "واکنش" + "واکنش‌ها" + "کلید بازیابی" + "تازه سازی…" + "پاسخ دادن به %1$s" + "گزارش یک اشکال" + "گزارش مشکل" + "گزارش ثبت شد" + "ویرایشگر متن غنی" + "اتاق" + "نام اتاق" + "برای نمونه نام پروژه‌تان" + "تغییرات ذخیره شده" + "ذخیره کردن" + "قفل صفحه" + "جست‌وجوی افراد" + "نتایج جست‌وجو" + "امنیت" + "دیده شده به دست" + "فرستادن به" + "فرستادن…" + "فرستادن شکست خورد" + "فرستاده" + "کارساز پشتیبانی نمی‌شود" + "نشانی کارساز" + "تنظیمات" + "مکان هم‌رسانده" + "خارج شدن" + "چیزی اشتباه پیش رفت" + "آغازیدن گپ…" + "عکس برگردان" + "موفّقیت" + "پیشنهادها" + "هم‌گام ساختن" + "سامانه" + "متن" + "تذکّرهای سوم‌شخص" + "رشته" + "موضوع" + "این اتاق دربارهٔ چیست؟" + "ناتوان در رمزگشایی" + "به این پیام دسترسی ندارید" + "دعوت‌ها نتوانستند به کاربرانی برسند." + "ناتوان در فرستادن دعوت(ها)" + "قفل‌گشایی" + "باصدا" + "رویداد پشتیبانی نشده" + "نام کاربری" + "تأیید لغو شد" + "تأیید کامل شد" + "تأیید افزاره" + "ویدیو" + "پیام صوتی" + "در انتظار…" + "در انتظار این پیام" + "شما" + "به نظر می‌رسد هویت %1$s تغییر کرده. %2$s" + "تایید" + "خطا" + "موفّقیت" + "هشدار" + "تغییراتتان ذخیره نشده‌اند. مطمئنید که می‌خواهید برگردید؟" + "ذخیرهٔ تغییرات؟" + "شکست در ایجاد پایاپیوند" + "شکست در بار کردن پیام‌ها" + "شکست در بارگذاری پیام صوتیتان." + "پیام پیدا نشد" + "برخی پیام‌ها ارسال نشده‌اند" + "متأسفیم ، خطایی رخ داد" + "اعتبار این پیام رمز شده نمی‌تواند روی این افزاره تأیید شود." + "رمز شده به دست کاربری از پیش تأیید شده." + "رمز نشده." + "رمز شده به دست افزاره‌ای ناشناخته یا حذف شده." + "رمز شده به دست افزاره‌ای که از سوی مالکش تأیید نشده." + "رمز شده به دست کاربری تأیید نشده." + "🔐️ پییوستن به من روی %1$s" + "درود. با من روی %1$s صحبت کن: %2$s" + "%1$s اندروید" + "گزینش رسانه شکست خورد. لطفاً دوباره تلاش کنید." + "پردازش رسانه برای بارگذاری شکست خورد. لطفاً دوباره تلاش کنید." + "بارگذاری رسانه شکست خورد. لطفاً دوباره تلاش کنید." + "پیام‌های سنجاق شده" + "داردید برای بازنشانی هویتتان به حساب %1$s می‌روید. پس از آن به کاره برگردانده خواهید شد." + "فرستادن پیام به هر روی" + "پیام‌های سنجاق شده" + "پردازش رسانه برای بارگذاری شکست خورد. لطفاً دوباره تلاش کنید." + "بلوک" + "انسداد کاربر" + "نمایه" + "رفع انسداد" + "قادر خواهید بود دوباره همهٔ پیام‌هایش را ببینید." + "رفع انسداد کاربر" + "%1$s از %2$s" + "%1$s پیام‌های سنجاق شده" + "بار کردن پشام‌ها…" + "نمایش همه" + "گپ" + "هم‌رسانی موقعیت" + "هم‌رسانی مکانم" + "گشودن در نقشه‌های اپل" + "گشودن در نقشه‌های گوگل" + "گشودن در اوپن‌استریت‌مپ" + "هم‌رسانی این مکان" + "مکان" + "نگارش : %1$s (%2$s)" + "fa" + "en" + diff --git a/libraries/ui-strings/src/main/res/values-fr/translations.xml b/libraries/ui-strings/src/main/res/values-fr/translations.xml index a1b01a9ca2..aeeb77f753 100644 --- a/libraries/ui-strings/src/main/res/values-fr/translations.xml +++ b/libraries/ui-strings/src/main/res/values-fr/translations.xml @@ -95,6 +95,7 @@ "Signaler un problème" "Signaler le contenu" "Réinitialiser" + "Réinitialiser l’identité" "Réessayer" "Réessayer le déchiffrement" "Enregistrer" diff --git a/libraries/ui-strings/src/main/res/values-hu/translations.xml b/libraries/ui-strings/src/main/res/values-hu/translations.xml index 2f4960939b..a9a1282fec 100644 --- a/libraries/ui-strings/src/main/res/values-hu/translations.xml +++ b/libraries/ui-strings/src/main/res/values-hu/translations.xml @@ -104,6 +104,7 @@ "Üzenet küldése" "Megosztás" "Hivatkozás megosztása" + "Megjelenítés" "Jelentkezzen be újra" "Kijelentkezés" "Kijelentkezés mindenképp" @@ -130,6 +131,7 @@ "Folyamatban lévő hívás (nem támogatott)" "A hívás elindult" "Csevegés biztonsági mentése" + "A vágólapra másolva" "Szerzői jogok" "Szoba létrehozása…" "Elhagyta a szobát" @@ -248,6 +250,8 @@ Ok: %1$s." "Hangüzenet" "Várakozás…" "Várakozás a visszafejtési kulcsra" + "Ön" + "Úgy tűnik, hogy %1$s személyazonossága megváltozott. %2$s" "Megerősítés" "Hiba" "Sikeres" diff --git a/libraries/ui-strings/src/main/res/values-it/translations.xml b/libraries/ui-strings/src/main/res/values-it/translations.xml index c190d39e42..e4e3c79e0e 100644 --- a/libraries/ui-strings/src/main/res/values-it/translations.xml +++ b/libraries/ui-strings/src/main/res/values-it/translations.xml @@ -36,17 +36,21 @@ "Indietro" "Chiama" "Annulla" + "Annulla per ora" "Scegli foto" "Cancella" "Chiudi" "Completa verifica" "Conferma" + "Conferma password" "Continua" "Copia" "Copia collegamento" "Copia collegamento al messaggio" "Crea" "Crea una stanza" + "Disattiva" + "Disattiva account" "Rifiuta" "Elimina sondaggio" "Disabilita" @@ -112,6 +116,7 @@ "Tocca per le opzioni" "Riprova" "Rimuovi dai fissati" + "Visualizza nella conversazione" "Vedi codice sorgente" "Sì" "Informazioni" @@ -125,6 +130,7 @@ "Chiamata in corso (non supportata)" "Chiamata avviata" "Backup della chat" + "Copiato negli appunti" "Copyright" "Creazione stanza…" "Hai lasciato la stanza" @@ -177,6 +183,7 @@ Motivo:. %1$s" "Persone" "Collegamento permanente" "Autorizzazione" + "Fissato" "Attendere prego…" "Vuoi davvero terminare questo sondaggio?" "Sondaggio: %1$s" @@ -242,12 +249,15 @@ Motivo:. %1$s" "Messaggio vocale" "In attesa…" "In attesa del messaggio" + "Tu" + "L\'identità di %1$s sembra essere cambiata. %2$s" "Conferma" "Errore" "Operazione riuscita" "Attenzione" "Le modifiche non sono state salvate. Vuoi davvero tornare indietro?" "Salvare le modifiche?" + "Il tuo homeserver deve essere aggiornato per supportare il Matrix Authentication Service e la creazione di account." "Impossibile creare il collegamento permanente" "%1$s non è riuscito a caricare la mappa. Riprova più tardi." "Caricamento dei messaggi non riuscito" @@ -260,6 +270,7 @@ Motivo:. %1$s" "Alcuni messaggi non sono stati inviati" "Siamo spiacenti, si è verificato un errore" "L\'autenticità di questo messaggio cifrato non può essere garantita su questo dispositivo." + "Cifrato da un utente precedentemente verificato." "Non cifrato." "Cifrato da un dispositivo sconosciuto o eliminato." "Cifrato da un dispositivo non verificato dal proprietario." @@ -278,6 +289,16 @@ Motivo:. %1$s" "%1$d Messaggi fissati" "Messaggi fissati" + "Stai per accedere al tuo account di %1$s per ripristinare la tua identità. Dopodiché verrai riportato all\'app." + "Non riesci a confermare? Vai al tuo account per ripristinare la tua identità." + "Ritira la verifica e invia" + "Puoi ritirare la tua verifica e inviare comunque questo messaggio, oppure annullarlo per ora e riprovare più tardi dopo aver riverificato %1$s." + "Il tuo messaggio non è stato inviato perché l\'identità verificata di %1$s è cambiata." + "Invia comunque il messaggio" + "%1$s sta usando uno o più dispositivi non verificati. Puoi inviare il messaggio in ogni caso, oppure annullarlo e riprovare più tardi quando %2$s avrà verificato tutti i suoi dispositivi." + "Il tuo messaggio non è stato inviato perché %1$s non ha verificato tutti i dispositivi." + "Uno o più dispositivi non sono verificati. Puoi inviare il messaggio comunque, oppure annullarlo e riprovare più tardi dopo aver verificato tutti i tuoi dispositivi." + "Il tuo messaggio non è stato inviato perché non hai verificato uno o più dispositivi." "Messaggi fissati" "Elaborazione del file multimediale da caricare fallita, riprova." "Impossibile recuperare i dettagli dell\'utente" @@ -299,6 +320,9 @@ Motivo:. %1$s" "Apri in Google Maps" "Apri in OpenStreetMap" "Condividi questa posizione" + "Messaggio non inviato perché l\'identità verificata di %1$s è cambiata." + "Messaggio non inviato perché %1$s non ha verificato tutti i dispositivi." + "Messaggio non inviato perché non hai verificato uno o più dispositivi." "Posizione" "Versione: %1$s (%2$s)" "it" diff --git a/libraries/ui-strings/src/main/res/values-pl/translations.xml b/libraries/ui-strings/src/main/res/values-pl/translations.xml index ec6cd30f89..7d549b905d 100644 --- a/libraries/ui-strings/src/main/res/values-pl/translations.xml +++ b/libraries/ui-strings/src/main/res/values-pl/translations.xml @@ -38,17 +38,21 @@ "Wróć" "Zadzwoń" "Anuluj" + "Anuluj na razie" "Wybierz zdjęcie" "Wyczyść" "Zamknij" "Dokończ weryfikację" "Potwierdź" + "Potwierdź hasło" "Kontynuuj" "Kopiuj" "Kopiuj link" "Kopiuj link do wiadomości" "Utwórz" "Utwórz pokój" + "Dezaktywuj" + "Dezaktywuj konto" "Odrzuć" "Usuń ankietę" "Wyłącz" @@ -114,6 +118,7 @@ "Stuknij, by wyświetlić opcje" "Spróbuj ponownie" "Odepnij" + "Wyświetl na osi czasu" "Wyświetl źródło" "Tak" "O programie" @@ -127,6 +132,7 @@ "Rozmowa w trakcie (niewspierane)" "Rozpoczęto rozmowę" "Backup czatu" + "Skopiowano do schowka" "Prawa autorskie" "Tworzenie pokoju…" "Opuścił pokój" @@ -180,6 +186,7 @@ Powód: %1$s." "Osoby" "Link bezpośredni" "Uprawnienie" + "Przypięte" "Proszę czekać…" "Jesteś pewien, że chcesz zakończyć tę ankietę?" "Ankieta: %1$s" @@ -246,12 +253,15 @@ Powód: %1$s." "Wiadomość głosowa" "Oczekiwanie…" "Oczekiwanie na tę wiadomość" + "Ty" + "Tożsamość %1$s mogła ulec zmianie. %2$s" "Potwierdzenie" "Błąd" "Sukces" "Ostrzeżenie" "Zmiany nie zostały zapisane. Czy na pewno chcesz wrócić?" "Zapisać zmiany?" + "Twój serwer domowy wymaga aktualizacji, aby uzyskać wsparcie usługi Matrix Authentication Service i tworzenia kont." "Nie udało się utworzyć linku bezpośredniego" "%1$s nie mogło wczytać mapy. Spróbuj ponownie później." "Nie udało się załadować wiadomości" @@ -264,6 +274,8 @@ Powód: %1$s." "Niektóre wiadomości nie zostały wysłane" "Przepraszamy, wystąpił błąd" "Autentyczność tej wiadomości szyfrowanej nie jest gwarantowana na tym urządzeniu." + "Zaszyfrowane przez wcześniej zweryfikowanego użytkownika." + "Nieszyfrowany." "Zaszyfrowana przez nieznane lub usunięte urządzenie." "Zaszyfrowana przez urządzenie niezweryfikowane przez jego właściciela." "Zaszyfrowana przez niezweryfikowanego użytkownika." @@ -274,6 +286,25 @@ Powód: %1$s." "Nie udało się wybrać multimediów. Spróbuj ponownie." "Przetwarzanie multimediów do przesłania nie powiodło się, spróbuj ponownie." "Przesyłanie multimediów nie powiodło się, spróbuj ponownie." + "Naciśnij wiadomość i wybierz “%1$s”, aby dołączyć tutaj." + "Przypinaj ważne wiadomości, aby można było je łatwo znaleźć" + + "%1$d przypięta wiadomość" + "%1$d przypięte wiadomości" + "%1$d przypiętych wiadomości" + + "Przypięte wiadomości" + "Zostaniesz przeniesiony na swoje konto %1$s, aby zresetować tożsamość. Wrócisz do aplikacji po zakończeniu." + "Nie możesz potwierdzić? Przejdź do swojego konta i zresetuj swoją tożsamość." + "Wycofaj weryfikację i wyślij" + "Możesz wycofać weryfikację i wysłać wiadomość mimo wszystko lub anulować i spróbować ponownie po ponownej weryfikacji %1$s." + "Twoja wiadomość nie została wysłana, ponieważ tożsamość %1$s uległa zmianie." + "Wyślij wiadomość mimo to" + "%1$s korzysta z jednego lub więcej niezweryfikowanych urządzeń. Wyślij wiadomość mimo to lub anuluj i spróbuj ponownie, gdy %2$s zweryfikuje wszystkie swoje urządzenia." + "Twoja wiadomość nie została wysłana, ponieważ %1$s nie zweryfikował swoich wszystkich urządzeń" + "Jedno lub więcej z Twoich urządzeń jest niezweryfikowanych. Wyślij wiadomość mimo to lub anuluj i spróbuj ponownie po zweryfikowaniu wszystkich swoich urządzeń." + "Twoja wiadomość nie została wysłana, ponieważ nie zweryfikowałeś jednego lub więcej swoich urządzeń." + "Przypięte wiadomości" "Przetwarzanie multimediów do przesłania nie powiodło się, spróbuj ponownie." "Nie można pobrać danych użytkownika" "Zablokuj" @@ -285,6 +316,7 @@ Powód: %1$s." "Odblokuj użytkownika" "%1$s z %2$s" "%1$s przypiętych wiadomości" + "Wczytywanie wiadomości…" "Wyświetl wszystkie" "Czat" "Udostępnij lokalizację" @@ -293,6 +325,9 @@ Powód: %1$s." "Otwórz w Google Maps" "Otwórz w OpenStreetMap" "Udostępnij tę lokalizację" + "Wiadomość nie została wysłana, ponieważ tożsamość %1$s uległa zmianie." + "Wiadomość nie została wysłana, ponieważ %1$s nie zweryfikował wszystkich urządzeń." + "Wiadomość nie została wysłana, ponieważ nie zweryfikowałeś jednego lub więcej swoich urządzeń." "Lokalizacja" "Wersja: %1$s (%2$s)" "pl" diff --git a/libraries/ui-strings/src/main/res/values-pt/translations.xml b/libraries/ui-strings/src/main/res/values-pt/translations.xml index c573f2b9c4..c11c7ea01e 100644 --- a/libraries/ui-strings/src/main/res/values-pt/translations.xml +++ b/libraries/ui-strings/src/main/res/values-pt/translations.xml @@ -36,17 +36,21 @@ "Voltar" "Chamar" "Cancelar" + "Cancelar por enquanto" "Escolher foto" "Limpar" "Fechar" "Concluir verificação" "Confirmar" + "Confirmar palavra-passe" "Continuar" "Copiar" "Copiar ligação" "Copiar ligação da mensagem" "Criar" "Criar uma sala" + "Desativar" + "Desativar conta" "Rejeitar" "Eliminar sondagem" "Desativar" @@ -100,6 +104,7 @@ "Enviar mensagem" "Partilhar" "Partilhar ligação" + "Mostrar" "Iniciar sessão novamente" "Terminar sessão" "Terminar mesmo assim" @@ -112,6 +117,7 @@ "Toca para ver as opções" "Tentar novamente" "Desafixar" + "Ver na cronologia" "Ver fonte" "Sim" "Sobre" @@ -125,6 +131,7 @@ "Chamada em curso (não suportada)" "Chamada iniciada" "Cópia de segurança das conversas" + "Copiado para a área de transferência" "Direitos de autor" "A criar sala…" "Saíste da sala" @@ -177,6 +184,7 @@ Razão: %1$s." "Pessoas" "Ligação permanente" "Permissão" + "Afixado" "Por favor, aguarda…" "Tens a certeza que queres concluir esta sondagem?" "Sondagem: %1$s" @@ -242,12 +250,15 @@ Razão: %1$s." "Mensagem de voz" "A aguardar…" "À espera desta mensagem" + "Você" + "A identidade de %1$s parece ter mudado. %2$s" "Confirmação" "Erro" "Sucesso" "Aviso" "As tuas alterações não foram guardadas. Tens a certeza que queres voltar atrás?" "Guardar alterações?" + "Seu homeserver precisa ser atualizado para suportar o Matrix Authentication Service e a criação de conta." "Falha ao criar ligação permanente" "%1$s não foi possível carregar o mapa. Por favor, tente novamente mais tarde." "Falha ao carregar mensagens" @@ -260,6 +271,8 @@ Razão: %1$s." "Algumas mensagens não foram enviadas" "Ocorreu um erro, desculpa" "A autenticidade desta mensagem cifrada não pode ser garantida neste dispositivo." + "Criptografado por um usuário verificado anteriormente." + "Não encriptado." "Cifragem com origem num dispositivo eliminado ou desconhecido." "Cifragem com origem num dispositivo não verificado pelo seu dono." "Cifragem com origem num utilizador não verificado." @@ -270,6 +283,24 @@ Razão: %1$s." "Falha ao selecionar multimédia, por favor tente novamente." "Falha ao processar multimédia para carregamento, por favor tente novamente." "Falhar ao carregar multimédia, por favor tente novamente." + "Pressione uma mensagem e escolha \"%1$s\" para incluir aqui." + "Fixa mensagens importantes para que possam ser facilmente descobertas" + + "%1$d Mensagem afixada" + "%1$d Mensagens afixadas" + + "Mensagens afixadas" + "Está prestes a aceder à sua conta %1$s para repor a sua identidade. Depois, você será levado de volta ao aplicativo." + "Não consegue confirmar? Aceda à sua conta para repor a sua identidade." + "Retirar verificação e enviar" + "Você pode retirar sua verificação e enviar esta mensagem de qualquer maneira, ou você pode cancelar por enquanto e tentar novamente mais tarde depois de verificar novamente %1$s." + "A sua mensagem não foi enviada porque a identidade verificada de %1$s foi alterada" + "Enviar mensagem mesmo assim" + "%1$s está usando um ou mais dispositivos não verificados. Você pode enviar a mensagem de qualquer maneira, ou você pode cancelar por enquanto e tentar novamente mais tarde depois que %2$s tiver verificado todos os seus dispositivos." + "A sua mensagem não foi enviada porque %1$s não verificou todos os dispositivos" + "Um ou mais dos seus dispositivos não são verificados. Você pode enviar a mensagem de qualquer maneira, ou você pode cancelar por enquanto e tentar novamente mais tarde depois de ter verificado todos os seus dispositivos." + "A sua mensagem não foi enviada porque não verificou um ou mais dos seus dispositivos" + "Mensagens afixadas" "Falha ao processar multimédia para carregamento, por favor tente novamente." "Não foi possível obter os detalhes de utilizador." "Bloquear" @@ -281,6 +312,7 @@ Razão: %1$s." "Desbloquear utilizador" "%1$s de %2$s" "%1$s mensagens afixadas" + "A carregar mensagem…" "Ver todas" "Conversa" "Partilhar localização" @@ -289,6 +321,9 @@ Razão: %1$s." "Abrir no Google Maps" "Abrir no OpenStreetMap" "Partilhar este local" + "Mensagem não enviada porque a identidade verificada de %1$s foi alterada." + "Mensagem não enviada porque %1$s não verificou todos os dispositivos." + "Mensagem não enviada porque não verificou um ou mais dos seus dispositivos." "Localização" "Versão: %1$s (%2$s)" "pt" diff --git a/libraries/ui-strings/src/main/res/values-sk/translations.xml b/libraries/ui-strings/src/main/res/values-sk/translations.xml index b8a330ed2c..c121d8bf6d 100644 --- a/libraries/ui-strings/src/main/res/values-sk/translations.xml +++ b/libraries/ui-strings/src/main/res/values-sk/translations.xml @@ -106,6 +106,7 @@ "Odoslať správu" "Zdieľať" "Zdieľať odkaz" + "Zobraziť" "Prihláste sa znova" "Odhlásiť sa" "Napriek tomu sa odhlásiť" @@ -132,6 +133,7 @@ "Prebieha hovor (nepodporované)" "Hovor sa začal" "Záloha konverzácie" + "Skopírované do schránky" "Autorské práva" "Vytváranie miestnosti…" "Opustil/a miestnosť" @@ -253,6 +255,7 @@ Dôvod: %1$s." "Čaká sa…" "Čaká sa na dešifrovací kľúč" "Vy" + "Zdá sa, že totožnosť používateľa %1$s sa zmenila.%2$s" "Potvrdenie" "Chyba" "Úspech" diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index 3fb2adc584..2f239bd952 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -131,6 +131,7 @@ "Call in progress (unsupported)" "Call started" "Chat backup" + "Copied to clipboard" "Copyright" "Creating room…" "Left room" @@ -250,6 +251,7 @@ Reason: %1$s." "Waiting…" "Waiting for this message" "You" + "%1$s\'s identity appears to have changed. %2$s" "Confirmation" "Error" "Success" diff --git a/plugins/src/main/kotlin/extension/locales.kt b/plugins/src/main/kotlin/extension/locales.kt index 464aafd8a9..0e785d68d6 100644 --- a/plugins/src/main/kotlin/extension/locales.kt +++ b/plugins/src/main/kotlin/extension/locales.kt @@ -11,6 +11,7 @@ val locales = setOf( "en", "es", "et", + "fa", "fr", "hu", "in", diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_de.png new file mode 100644 index 0000000000..2ebcaae482 --- /dev/null +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7bd69bdfd9cde91abeae3f0812b42f79ed39a62c05c107fc068e2dfa2f1618b +size 25237 diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_7_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_7_de.png new file mode 100644 index 0000000000..31e4adbe4d --- /dev/null +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockView_Day_7_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdccae1c2fe3ffdb87a8f73677a345543270e04dfcfcace3176401c623c20cb9 +size 32089 diff --git a/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_de.png b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_de.png index d7691c9cfc..e9d886fbfa 100644 --- a/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_de.png +++ b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:016bb2e448fefe23a01dcd0af2e6103b0dd983fb13ab6959f946fa5317a710e6 -size 39480 +oid sha256:2a840933e661a430344fa9492a98519fefb5e76d41cd2b08ea5fd37c33403d65 +size 40032 diff --git a/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_de.png b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_de.png index 90bdfbd9d9..59cc6e70ec 100644 --- a/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_de.png +++ b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c060f0778f1cc237cc6392e53acf5a6b543d3acd2bc17d0c3ce044d2dd9a028 -size 40383 +oid sha256:f16b52fa98ef56814e20c1f8b16760142d4492ff865febd00150b22ddaf353c8 +size 40932 diff --git a/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png index 6b5271c39f..ff3e4a985c 100644 --- a/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png +++ b/screenshots/de/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dbc451dbdbf48cbcf5851863970cfb2d5728d6ad1f0fbf8207b26cb9e8ace861 -size 39645 +oid sha256:aa34fef6f69420b3cb9dc7fa2ad431fdba6122d9577f4c5caedab65957f45615 +size 40092 diff --git a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_0_de.png b/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_0_de.png deleted file mode 100644 index b5a68ac669..0000000000 --- a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_0_de.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:71f29af65e2c698a969c6d9b347598315628b4c8ff6a13db76ceed2e0c104123 -size 56311 diff --git a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_1_de.png b/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_1_de.png deleted file mode 100644 index 766e8612cc..0000000000 --- a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_1_de.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d27c0f14f8ca5dabbfc0b41853f090888524abf736565f212123636214bc0ac1 -size 57259 diff --git a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_2_de.png b/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_2_de.png deleted file mode 100644 index 13d5ae8f7c..0000000000 --- a/screenshots/de/features.messages.impl.typing_MessagesViewWithTyping_Day_2_de.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c8cbfc8984dcf2954b8ee1b86a30382d1a0452b747dc40285e5d32b4c173829 -size 53287 diff --git a/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_0_de.png b/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_0_de.png index 8de7a0fc01..78ca68899a 100644 --- a/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_0_de.png +++ b/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ba32509532bfe046feff840c2cb1d3278690fb89797e4d12710c6d0c708d672 -size 61476 +oid sha256:57abfb067bdbae6357ffdbf8bcd55bbd4bb91788f5268aa153caca5b60dd76e5 +size 60362 diff --git a/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_1_de.png b/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_1_de.png index 8de7a0fc01..78ca68899a 100644 --- a/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_1_de.png +++ b/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ba32509532bfe046feff840c2cb1d3278690fb89797e4d12710c6d0c708d672 -size 61476 +oid sha256:57abfb067bdbae6357ffdbf8bcd55bbd4bb91788f5268aa153caca5b60dd76e5 +size 60362 diff --git a/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_2_de.png b/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_2_de.png index dc4b32c96a..b78f5fb4f5 100644 --- a/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_2_de.png +++ b/screenshots/de/features.preferences.impl.developer_DeveloperSettingsView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:387890a1fc4f01d5ee76d702a69eeb955010c0b8d6f8adc4a5f2879d8ba50837 -size 59229 +oid sha256:621c8241b80ebb9bd9685098521c0d587b4bd6a7fa962fa6f910786251b283fd +size 58067 diff --git a/screenshots/de/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png b/screenshots/de/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png index 082adc23cb..d6e2d96573 100644 --- a/screenshots/de/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png +++ b/screenshots/de/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:75b3f513dcbf3a7fd948f20b7ed438669ae827111da49941de11f28a80bad250 -size 30064 +oid sha256:7b4183dcbc0fde7b393fa4f4aa43ed4d95157fa944a79cdc05307eb1baae7479 +size 35248 diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png b/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png index b8bdbb4895..4f5df05349 100644 --- a/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f3aa0bbf81efea63b57bd5a69c599f469af1fc0fe7d72fd59ff0ff1c333808f -size 102594 +oid sha256:a8ececfb824771891504e982e0e96b3755181851a2ff1b6607373ed8d0437a71 +size 102699 diff --git a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_de.png b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_de.png index 9450645546..210d3c7bfa 100644 --- a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_de.png +++ b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1cdd417899950b5776ec2c2890975c8a1388da4c707b000a962b43a0454ab5b3 -size 44167 +oid sha256:59c6d376d4ff041b5733bf7df316437bea3d3b8dd54dad2b6fb0afe9e7888e83 +size 43554 diff --git a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_de.png b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_de.png index b184e2041e..c406c8a3d7 100644 --- a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61bdcd93ddba3f8242723007ee30f101a062014c9a3931da153e3ee6b0df142d -size 54786 +oid sha256:0a51de8eaed9792c275d1f1c45382f64094e99d11dd92ccb64f98f32632e37ed +size 54208 diff --git a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_de.png b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_de.png index ee1c62842c..eef0cb6316 100644 --- a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_de.png +++ b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d0f526d22945f308a0a0546f48105a4f8971e4edf63eb44454ecd6cd1ddc262d -size 53236 +oid sha256:e4541e8c9748570d0456ef8eb2456efce21580a65010e707204510c0ce881e44 +size 52595 diff --git a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_de.png b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_de.png index 9336e04a1f..a4cbd36fe8 100644 --- a/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_de.png +++ b/screenshots/de/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68941e1c7e1896097eb6aa6d60cd7f8cd611c8de33f080b3f98bcd565523ed7b -size 45653 +oid sha256:54a1883dc864a250ac6797989bc7db18ee083fec42396416f07b2a7b7a8dca43 +size 45426 diff --git a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_de.png b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_de.png index 0822e4bbd6..ce1299b178 100644 --- a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_de.png +++ b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:777b67a35ddb011ec864d491aba32b4a023a152ecda87cabd5889ed0a5fd2d3f -size 27937 +oid sha256:25636403a8a825935591440f8c16f9a5a5c158c5e6b4c4b1e58af7d464b8ddf0 +size 30953 diff --git a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_de.png b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_de.png index b1ed5e4ac1..3dda225788 100644 --- a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42484f29bd0f29f2a6ac499ea50d6759abbb54bbdda98a68b27906b356814b96 -size 27039 +oid sha256:bbb4d3b68dd54bce49cb7e665ed3bb2e1aed98ce96e9a0caa26d25c5a4ab8c50 +size 29713 diff --git a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_de.png b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_de.png index b1ed5e4ac1..3dda225788 100644 --- a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_de.png +++ b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:42484f29bd0f29f2a6ac499ea50d6759abbb54bbdda98a68b27906b356814b96 -size 27039 +oid sha256:bbb4d3b68dd54bce49cb7e665ed3bb2e1aed98ce96e9a0caa26d25c5a4ab8c50 +size 29713 diff --git a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png index 544073af6f..a962e7b209 100644 --- a/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png +++ b/screenshots/de/features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:abafc8d2b422829d5e5f72849c2cc9b3446f9adf49eed8bde38a51d8c7fd217f -size 41664 +oid sha256:19f460edc35874e738e5bc3ec0eb008f83b4c42b09de59d8d91e97e616307daa +size 44786 diff --git a/screenshots/de/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_de.png b/screenshots/de/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_de.png new file mode 100644 index 0000000000..36cfd47368 --- /dev/null +++ b/screenshots/de/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:294f49afda1f6a108533140daf51e952b1b02600f0e03ca0c5da805419eafef4 +size 75572 diff --git a/screenshots/de/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_de.png b/screenshots/de/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_de.png index 364d6ea563..7fd94d5c9b 100644 --- a/screenshots/de/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5fdd82c493320ee51446339d33991a3b38747c338be4e99c4bdb237a0679c34b -size 58468 +oid sha256:e0e0c33ad03f6cd0851efbf768895ea012ca81cf4491b3bde00e67e4dfedaa28 +size 64424 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_0_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_0_de.png index a45558fb83..45be20d156 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_0_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52a9bec3dacf4ab4c6263e1b7f232d5e9736aa42fc1e449d94118342ec5c7a5d -size 45732 +oid sha256:4d15c5482ee3ff6e83fa44af93fd489ca36b858a9ce0e6921109e4d8a0b3a970 +size 23244 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_10_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_10_de.png new file mode 100644 index 0000000000..45be20d156 --- /dev/null +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_10_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d15c5482ee3ff6e83fa44af93fd489ca36b858a9ce0e6921109e4d8a0b3a970 +size 23244 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_11_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_11_de.png new file mode 100644 index 0000000000..5632f77cc9 --- /dev/null +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_11_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1339a9e8b240506fea6011c0b81be79a840de43fbeb66f68a6733d8b10796249 +size 29110 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_12_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_12_de.png new file mode 100644 index 0000000000..a45558fb83 --- /dev/null +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_12_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52a9bec3dacf4ab4c6263e1b7f232d5e9736aa42fc1e449d94118342ec5c7a5d +size 45732 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_13_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_13_de.png new file mode 100644 index 0000000000..a5bbff3c99 --- /dev/null +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_13_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83bd850a59839347a3be0cd660eab531bc3e52397fb26868bf5c10997d2a1011 +size 37043 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_1_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_1_de.png index e4df608ffd..fc22438566 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b2e15326ea9de91322fc0156edeb43ef5ae53690fc641efbb10d06a6306918a0 -size 47939 +oid sha256:49cf88250e221f57f21b3c91aea2a122ae5fb70c22bbbeb5dfa39f87428bf8e0 +size 25271 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_2_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_2_de.png index 1a06e5a5cf..487dcacd49 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_2_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2d1d43d7d86a73bf6acec1b477ed15b97f36db3445964b9329a8e74c8724f5cd -size 47555 +oid sha256:72a1512650bfd8fbc545956bb43aa565b8cf3e6aeac3ce18ef661b9f504f4e77 +size 24872 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_3_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_3_de.png index 4bc841d5bf..05d0e7571e 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_3_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:efb97a0c6d205adbc94075dc05f17e2151c2e7573189bac19a1e0f53765841ae -size 56863 +oid sha256:49867e3a125619132b1c61fa1b6b433d63a1cad36ca8b1e5a0dbf5650680a453 +size 34778 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_4_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_4_de.png index e4df608ffd..9a92473b21 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_4_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b2e15326ea9de91322fc0156edeb43ef5ae53690fc641efbb10d06a6306918a0 -size 47939 +oid sha256:1673876e3df80c737cc56b7fdc18919607d0491b29816539149085354849f885 +size 21685 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_5_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_5_de.png index a45558fb83..fc22438566 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_5_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52a9bec3dacf4ab4c6263e1b7f232d5e9736aa42fc1e449d94118342ec5c7a5d -size 45732 +oid sha256:49cf88250e221f57f21b3c91aea2a122ae5fb70c22bbbeb5dfa39f87428bf8e0 +size 25271 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_6_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_6_de.png index 5632f77cc9..fc22438566 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_6_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1339a9e8b240506fea6011c0b81be79a840de43fbeb66f68a6733d8b10796249 -size 29110 +oid sha256:49cf88250e221f57f21b3c91aea2a122ae5fb70c22bbbeb5dfa39f87428bf8e0 +size 25271 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_7_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_7_de.png index a45558fb83..fc22438566 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_7_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52a9bec3dacf4ab4c6263e1b7f232d5e9736aa42fc1e449d94118342ec5c7a5d -size 45732 +oid sha256:49cf88250e221f57f21b3c91aea2a122ae5fb70c22bbbeb5dfa39f87428bf8e0 +size 25271 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_8_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_8_de.png index 1a2924b84c..5e05c1a8b5 100644 --- a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_8_de.png +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_8_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c74021a7a9eecb4dcdb9e917c2dfd6ec12cf68b259638a0b89a935db056941c1 -size 37331 +oid sha256:5db7620b417796b9ef6eae5877f53ca73a5e51c93a873d12ff0b65aa422b631a +size 23245 diff --git a/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_9_de.png b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_9_de.png new file mode 100644 index 0000000000..fc22438566 --- /dev/null +++ b/screenshots/de/features.securebackup.impl.root_SecureBackupRootView_Day_9_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:49cf88250e221f57f21b3c91aea2a122ae5fb70c22bbbeb5dfa39f87428bf8e0 +size 25271 diff --git a/screenshots/html/data.js b/screenshots/html/data.js index 847512f5ba..2d94b291cc 100644 --- a/screenshots/html/data.js +++ b/screenshots/html/data.js @@ -1,46 +1,46 @@ // Generated file, do not edit export const screenshots = [ ["en","en-dark","de",], -["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",19993,], +["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",20000,], ["features.invite.impl.response_AcceptDeclineInviteView_Day_0_en","features.invite.impl.response_AcceptDeclineInviteView_Night_0_en",0,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_1_en","features.invite.impl.response_AcceptDeclineInviteView_Night_1_en",19993,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",19993,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",19993,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",19993,], -["features.logout.impl_AccountDeactivationView_Day_0_en","features.logout.impl_AccountDeactivationView_Night_0_en",19993,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_1_en","features.invite.impl.response_AcceptDeclineInviteView_Night_1_en",20000,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",20000,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",20000,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",20000,], +["features.logout.impl_AccountDeactivationView_Day_0_en","features.logout.impl_AccountDeactivationView_Night_0_en",20000,], ["features.logout.impl_AccountDeactivationView_Day_1_en","features.logout.impl_AccountDeactivationView_Night_1_en",0,], -["features.logout.impl_AccountDeactivationView_Day_2_en","features.logout.impl_AccountDeactivationView_Night_2_en",19993,], -["features.logout.impl_AccountDeactivationView_Day_3_en","features.logout.impl_AccountDeactivationView_Night_3_en",19993,], -["features.logout.impl_AccountDeactivationView_Day_4_en","features.logout.impl_AccountDeactivationView_Night_4_en",19993,], +["features.logout.impl_AccountDeactivationView_Day_2_en","features.logout.impl_AccountDeactivationView_Night_2_en",20000,], +["features.logout.impl_AccountDeactivationView_Day_3_en","features.logout.impl_AccountDeactivationView_Night_3_en",20000,], +["features.logout.impl_AccountDeactivationView_Day_4_en","features.logout.impl_AccountDeactivationView_Night_4_en",20000,], ["features.login.impl.accountprovider_AccountProviderView_Day_0_en","features.login.impl.accountprovider_AccountProviderView_Night_0_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_1_en","features.login.impl.accountprovider_AccountProviderView_Night_1_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_2_en","features.login.impl.accountprovider_AccountProviderView_Night_2_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_3_en","features.login.impl.accountprovider_AccountProviderView_Night_3_en",0,], ["features.login.impl.accountprovider_AccountProviderView_Day_4_en","features.login.impl.accountprovider_AccountProviderView_Night_4_en",0,], -["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",19993,], -["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",19993,], -["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",19993,], -["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",19993,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",19993,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",19993,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",19993,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",19993,], -["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",19993,], -["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",19993,], -["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",19993,], -["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",19993,], -["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",19993,], -["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",19993,], +["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",20000,], +["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",20000,], +["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",20000,], +["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",20000,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",20000,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",20000,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",20000,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",20000,], +["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",20000,], +["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",20000,], +["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",20000,], +["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",20000,], +["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",20000,], +["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",20000,], ["libraries.designsystem.components.async_AsyncActionView_Day_0_en","libraries.designsystem.components.async_AsyncActionView_Night_0_en",0,], -["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",19993,], +["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",20000,], ["libraries.designsystem.components.async_AsyncActionView_Day_2_en","libraries.designsystem.components.async_AsyncActionView_Night_2_en",0,], -["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",19993,], +["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",20000,], ["libraries.designsystem.components.async_AsyncActionView_Day_4_en","libraries.designsystem.components.async_AsyncActionView_Night_4_en",0,], -["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",19993,], +["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",20000,], ["libraries.designsystem.components.async_AsyncIndicatorFailure_Day_0_en","libraries.designsystem.components.async_AsyncIndicatorFailure_Night_0_en",0,], ["libraries.designsystem.components.async_AsyncIndicatorLoading_Day_0_en","libraries.designsystem.components.async_AsyncIndicatorLoading_Night_0_en",0,], ["libraries.designsystem.components.async_AsyncLoading_Day_0_en","libraries.designsystem.components.async_AsyncLoading_Night_0_en",0,], -["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",19993,], +["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",20000,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_0_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_0_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_1_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_1_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_2_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_2_en",0,], @@ -50,11 +50,11 @@ export const screenshots = [ ["libraries.matrix.ui.components_AttachmentThumbnail_Day_6_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_6_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_7_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_7_en",0,], ["libraries.matrix.ui.components_AttachmentThumbnail_Day_8_en","libraries.matrix.ui.components_AttachmentThumbnail_Night_8_en",0,], -["features.messages.impl.attachments.preview_AttachmentsView_0_en","",19993,], -["features.messages.impl.attachments.preview_AttachmentsView_1_en","",19993,], -["features.messages.impl.attachments.preview_AttachmentsView_2_en","",19993,], -["features.messages.impl.attachments.preview_AttachmentsView_3_en","",19993,], -["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",19993,], +["features.messages.impl.attachments.preview_AttachmentsView_0_en","",20000,], +["features.messages.impl.attachments.preview_AttachmentsView_1_en","",20000,], +["features.messages.impl.attachments.preview_AttachmentsView_2_en","",20000,], +["features.messages.impl.attachments.preview_AttachmentsView_3_en","",20000,], +["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",20000,], ["libraries.designsystem.components.avatar_Avatar_Avatars_0_en","",0,], ["libraries.designsystem.components.avatar_Avatar_Avatars_10_en","",0,], ["libraries.designsystem.components.avatar_Avatar_Avatars_11_en","",0,], @@ -134,13 +134,13 @@ export const screenshots = [ ["libraries.designsystem.components_Badge_Day_0_en","libraries.designsystem.components_Badge_Night_0_en",0,], ["libraries.designsystem.components_BigCheckmark_Day_0_en","libraries.designsystem.components_BigCheckmark_Night_0_en",0,], ["libraries.designsystem.components_BigIcon_Day_0_en","libraries.designsystem.components_BigIcon_Night_0_en",0,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",19993,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",19993,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",19993,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",19993,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",19993,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",19993,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",19993,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",20000,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",20000,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",20000,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",20000,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",20000,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",20000,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",20000,], ["libraries.designsystem.components_BloomInitials_Day_0_en","libraries.designsystem.components_BloomInitials_Night_0_en",0,], ["libraries.designsystem.components_BloomInitials_Day_1_en","libraries.designsystem.components_BloomInitials_Night_1_en",0,], ["libraries.designsystem.components_BloomInitials_Day_2_en","libraries.designsystem.components_BloomInitials_Night_2_en",0,], @@ -151,94 +151,94 @@ export const screenshots = [ ["libraries.designsystem.components_BloomInitials_Day_7_en","libraries.designsystem.components_BloomInitials_Night_7_en",0,], ["libraries.designsystem.components_Bloom_Day_0_en","libraries.designsystem.components_Bloom_Night_0_en",0,], ["libraries.designsystem.theme.components_BottomSheetDragHandle_Day_0_en","libraries.designsystem.theme.components_BottomSheetDragHandle_Night_0_en",0,], -["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",19993,], -["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",19993,], -["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",19993,], -["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",19993,], -["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",19993,], +["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",20000,], +["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",20000,], +["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",20000,], +["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",20000,], +["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",20000,], ["libraries.designsystem.atomic.molecules_ButtonColumnMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ButtonColumnMolecule_Night_0_en",0,], ["libraries.designsystem.atomic.molecules_ButtonRowMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ButtonRowMolecule_Night_0_en",0,], ["features.call.impl.ui_CallScreenPipView_Day_0_en","features.call.impl.ui_CallScreenPipView_Night_0_en",0,], ["features.call.impl.ui_CallScreenPipView_Day_1_en","features.call.impl.ui_CallScreenPipView_Night_1_en",0,], ["features.call.impl.ui_CallScreenView_Day_0_en","features.call.impl.ui_CallScreenView_Night_0_en",0,], -["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",19993,], -["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",19993,], -["features.call.impl.ui_CallScreenView_Day_3_en","features.call.impl.ui_CallScreenView_Night_3_en",19996,], -["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",19993,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",19993,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",19993,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",19993,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",19993,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",19993,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",19993,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",19993,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",19993,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",19993,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",19993,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",19993,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",19993,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",19993,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",19993,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",19993,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",19993,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",19993,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",19993,], +["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",20000,], +["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",20000,], +["features.call.impl.ui_CallScreenView_Day_3_en","features.call.impl.ui_CallScreenView_Night_3_en",20000,], +["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",20000,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",20000,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",20000,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",20000,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",20000,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",20000,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",20000,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",20000,], ["features.login.impl.changeserver_ChangeServerView_Day_0_en","features.login.impl.changeserver_ChangeServerView_Night_0_en",0,], -["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",19993,], -["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",19993,], +["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",20000,], +["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",20000,], ["libraries.matrix.ui.components_CheckableResolvedUserRow_en","",0,], -["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",19993,], +["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",20000,], ["libraries.designsystem.theme.components_Checkboxes_Toggles_en","",0,], ["libraries.designsystem.theme.components_CircularProgressIndicator_Progress Indicators_en","",0,], ["libraries.designsystem.components_ClickableLinkText_Text_en","",0,], ["libraries.designsystem.theme_ColorAliases_Day_0_en","libraries.designsystem.theme_ColorAliases_Night_0_en",0,], ["libraries.textcomposer.components_ComposerOptionsButton_Day_0_en","libraries.textcomposer.components_ComposerOptionsButton_Night_0_en",0,], ["libraries.designsystem.components.avatar_CompositeAvatar_Avatars_en","",0,], -["features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en",19993,], -["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",19993,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en",20000,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",20000,], ["features.preferences.impl.developer.tracing_ConfigureTracingView_Day_0_en","features.preferences.impl.developer.tracing_ConfigureTracingView_Night_0_en",0,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",19993,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en",19993,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en",19993,], -["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",19993,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",20000,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en",20000,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en",20000,], +["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",20000,], ["libraries.designsystem.components.dialogs_ConfirmationDialogContent_Dialogs_en","",0,], ["libraries.designsystem.components.dialogs_ConfirmationDialog_Day_0_en","libraries.designsystem.components.dialogs_ConfirmationDialog_Night_0_en",0,], ["features.networkmonitor.api.ui_ConnectivityIndicatorView_Day_0_en","features.networkmonitor.api.ui_ConnectivityIndicatorView_Night_0_en",0,], -["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",19993,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_0_en","features.login.impl.screens.createaccount_CreateAccountView_Night_0_en",19993,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_1_en","features.login.impl.screens.createaccount_CreateAccountView_Night_1_en",19993,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_2_en","features.login.impl.screens.createaccount_CreateAccountView_Night_2_en",19993,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_3_en","features.login.impl.screens.createaccount_CreateAccountView_Night_3_en",19993,], -["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",19993,], -["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",19993,], -["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",19993,], -["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",19993,], -["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",19993,], -["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",19993,], -["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",19993,], -["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",19993,], -["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",19993,], -["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",19993,], -["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",19993,], -["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",19993,], -["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",19993,], -["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",19993,], +["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",20000,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_0_en","features.login.impl.screens.createaccount_CreateAccountView_Night_0_en",20000,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_1_en","features.login.impl.screens.createaccount_CreateAccountView_Night_1_en",20000,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_2_en","features.login.impl.screens.createaccount_CreateAccountView_Night_2_en",20000,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_3_en","features.login.impl.screens.createaccount_CreateAccountView_Night_3_en",20000,], +["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",20000,], +["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",20000,], +["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",20000,], +["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",20000,], +["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",20000,], +["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",20000,], +["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",20000,], +["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",20000,], +["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",20000,], +["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",20000,], +["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",20000,], +["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",20000,], +["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",20000,], +["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",20000,], ["features.logout.impl.direct_DefaultDirectLogoutView_Day_0_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_0_en",0,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",19993,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",19993,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",19993,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",20000,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",20000,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",20000,], ["features.logout.impl.direct_DefaultDirectLogoutView_Day_4_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_4_en",0,], -["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",19993,], -["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",19993,], -["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",19993,], +["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",20000,], +["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",20000,], +["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",20000,], ["features.licenses.impl.details_DependenciesDetailsView_Day_0_en","features.licenses.impl.details_DependenciesDetailsView_Night_0_en",0,], -["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",19993,], -["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",19993,], -["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",19993,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",19993,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",19993,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",19993,], -["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",19993,], +["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",20000,], +["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",20000,], +["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",20000,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",20000,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",20000,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",20000,], +["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",20000,], ["libraries.designsystem.theme.components_DialogWithDestructiveButton_Dialog with destructive button_Dialogs_en","",0,], ["libraries.designsystem.theme.components_DialogWithOnlyMessageAndOkButton_Dialog with only message and ok button_Dialogs_en","",0,], ["libraries.designsystem.theme.components_DialogWithThirdButton_Dialog with third button_Dialogs_en","",0,], @@ -250,12 +250,12 @@ export const screenshots = [ ["libraries.designsystem.text_DpScale_1_0f__en","",0,], ["libraries.designsystem.text_DpScale_1_5f__en","",0,], ["libraries.designsystem.theme.components_DropdownMenuItem_Menus_en","",0,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",19993,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",19993,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",19993,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",19993,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",19993,], -["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",19993,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",20000,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",20000,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",20000,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",20000,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",20000,], +["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",20000,], ["libraries.matrix.ui.components_EditableAvatarView_Day_0_en","libraries.matrix.ui.components_EditableAvatarView_Night_0_en",0,], ["libraries.matrix.ui.components_EditableAvatarView_Day_1_en","libraries.matrix.ui.components_EditableAvatarView_Night_1_en",0,], ["libraries.matrix.ui.components_EditableAvatarView_Day_2_en","libraries.matrix.ui.components_EditableAvatarView_Night_2_en",0,], @@ -265,9 +265,9 @@ export const screenshots = [ ["libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Day_0_en","libraries.designsystem.atomic.atoms_ElementLogoAtomMedium_Night_0_en",0,], ["features.messages.impl.timeline.components.customreaction_EmojiItem_Day_0_en","features.messages.impl.timeline.components.customreaction_EmojiItem_Night_0_en",0,], ["features.messages.impl.timeline.components.customreaction_EmojiPicker_Day_0_en","features.messages.impl.timeline.components.customreaction_EmojiPicker_Night_0_en",0,], -["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",19993,], -["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",19993,], -["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",19993,], +["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",20000,], +["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",20000,], +["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",20000,], ["features.messages.impl.timeline.debug_EventDebugInfoView_Day_0_en","features.messages.impl.timeline.debug_EventDebugInfoView_Night_0_en",0,], ["libraries.featureflag.ui_FeatureListView_Day_0_en","libraries.featureflag.ui_FeatureListView_Night_0_en",0,], ["libraries.designsystem.theme.components_FilledButtonLargeLowPadding_Buttons_en","",0,], @@ -278,15 +278,15 @@ export const screenshots = [ ["libraries.designsystem.theme.components_FloatingActionButton_Floating Action Buttons_en","",0,], ["libraries.designsystem.atomic.pages_FlowStepPage_Day_0_en","libraries.designsystem.atomic.pages_FlowStepPage_Night_0_en",0,], ["features.messages.impl.timeline.focus_FocusRequestStateView_Day_0_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_0_en",0,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",19993,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",19993,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",19993,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",20000,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",20000,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",20000,], ["libraries.textcomposer.components_FormattingOption_Day_0_en","libraries.textcomposer.components_FormattingOption_Night_0_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_0_en","features.messages.impl.forward_ForwardMessagesView_Night_0_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_1_en","features.messages.impl.forward_ForwardMessagesView_Night_1_en",0,], ["features.messages.impl.forward_ForwardMessagesView_Day_2_en","features.messages.impl.forward_ForwardMessagesView_Night_2_en",0,], -["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",19993,], -["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",19993,], +["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",20000,], +["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",20000,], ["libraries.designsystem.components.button_GradientFloatingActionButtonCircleShape_Day_0_en","libraries.designsystem.components.button_GradientFloatingActionButtonCircleShape_Night_0_en",0,], ["libraries.designsystem.components.button_GradientFloatingActionButton_Day_0_en","libraries.designsystem.components.button_GradientFloatingActionButton_Night_0_en",0,], ["features.messages.impl.timeline.components.group_GroupHeaderView_Day_0_en","features.messages.impl.timeline.components.group_GroupHeaderView_Night_0_en",0,], @@ -313,37 +313,37 @@ export const screenshots = [ ["libraries.matrix.ui.messages.reply_InReplyToView_Day_1_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_1_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_2_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_2_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_3_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_3_en",0,], -["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",19993,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",20000,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_5_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_5_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_6_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_6_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_7_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_7_en",0,], -["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",19993,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",20000,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_9_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_9_en",0,], -["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",19993,], +["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",20000,], ["libraries.designsystem.atomic.molecules_InfoListItemMolecule_Day_0_en","libraries.designsystem.atomic.molecules_InfoListItemMolecule_Night_0_en",0,], ["libraries.designsystem.atomic.organisms_InfoListOrganism_Day_0_en","libraries.designsystem.atomic.organisms_InfoListOrganism_Night_0_en",0,], -["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",19993,], +["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",20000,], ["features.joinroom.impl_JoinRoomView_Day_0_en","features.joinroom.impl_JoinRoomView_Night_0_en",0,], ["features.joinroom.impl_JoinRoomView_Day_10_en","features.joinroom.impl_JoinRoomView_Night_10_en",0,], -["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",19993,], -["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",19993,], -["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",19993,], -["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",19993,], -["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",19993,], -["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",19993,], -["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",19993,], -["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",19993,], -["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",19993,], +["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",20000,], +["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",20000,], +["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",20000,], +["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",20000,], +["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",20000,], +["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",20000,], +["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",20000,], +["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",20000,], +["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",20000,], ["libraries.designsystem.components_LabelledCheckbox_Toggles_en","",0,], ["libraries.designsystem.components_LabelledOutlinedTextField_Day_0_en","libraries.designsystem.components_LabelledOutlinedTextField_Night_0_en",0,], ["libraries.designsystem.components_LabelledTextField_Day_0_en","libraries.designsystem.components_LabelledTextField_Night_0_en",0,], ["features.leaveroom.api_LeaveRoomView_Day_0_en","features.leaveroom.api_LeaveRoomView_Night_0_en",0,], -["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",19993,], -["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",19993,], -["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",19993,], -["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",19993,], -["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",19993,], -["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",19993,], +["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",20000,], +["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",20000,], +["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",20000,], +["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",20000,], +["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",20000,], +["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",20000,], ["libraries.designsystem.background_LightGradientBackground_Day_0_en","libraries.designsystem.background_LightGradientBackground_Night_0_en",0,], ["libraries.designsystem.theme.components_LinearProgressIndicator_Progress Indicators_en","",0,], ["libraries.designsystem.components.dialogs_ListDialogContent_Dialogs_en","",0,], @@ -394,29 +394,29 @@ export const screenshots = [ ["libraries.designsystem.theme.components_ListSupportingTextSmallPadding_List supporting text - small padding_List sections_en","",0,], ["libraries.textcomposer.components_LiveWaveformView_Day_0_en","libraries.textcomposer.components_LiveWaveformView_Night_0_en",0,], ["appnav.room.joined_LoadingRoomNodeView_Day_0_en","appnav.room.joined_LoadingRoomNodeView_Night_0_en",0,], -["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",19993,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",19993,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",19993,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",19993,], +["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",20000,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",20000,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",20000,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",20000,], ["appnav.loggedin_LoggedInView_Day_0_en","appnav.loggedin_LoggedInView_Night_0_en",0,], -["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",19993,], -["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",19993,], -["appnav.loggedin_LoggedInView_Day_3_en","appnav.loggedin_LoggedInView_Night_3_en",19993,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",19993,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",19993,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",19993,], -["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",19993,], -["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",19993,], -["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",19993,], -["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",19993,], -["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",19993,], -["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",19993,], -["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",19993,], -["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",19993,], -["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",19993,], -["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",19993,], +["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",20000,], +["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",20000,], +["appnav.loggedin_LoggedInView_Day_3_en","appnav.loggedin_LoggedInView_Night_3_en",20000,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",20000,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",20000,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",20000,], +["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",20000,], +["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",20000,], +["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",20000,], +["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",20000,], +["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",20000,], +["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",20000,], +["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",20000,], +["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",20000,], +["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",20000,], +["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",20000,], ["libraries.designsystem.components.button_MainActionButton_Buttons_en","",0,], -["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",19993,], +["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",20000,], ["libraries.textcomposer.components.markdown_MarkdownTextInput_Day_0_en","libraries.textcomposer.components.markdown_MarkdownTextInput_Night_0_en",0,], ["libraries.matrix.ui.components_MatrixUserHeaderPlaceholder_Day_0_en","libraries.matrix.ui.components_MatrixUserHeaderPlaceholder_Night_0_en",0,], ["libraries.matrix.ui.components_MatrixUserHeader_Day_0_en","libraries.matrix.ui.components_MatrixUserHeader_Night_0_en",0,], @@ -426,7 +426,7 @@ export const screenshots = [ ["libraries.mediaviewer.api.viewer_MediaViewerView_0_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_10_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_1_en","",0,], -["libraries.mediaviewer.api.viewer_MediaViewerView_2_en","",19993,], +["libraries.mediaviewer.api.viewer_MediaViewerView_2_en","",20000,], ["libraries.mediaviewer.api.viewer_MediaViewerView_3_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_4_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_5_en","",0,], @@ -438,7 +438,7 @@ export const screenshots = [ ["libraries.textcomposer.mentions_MentionSpanTheme_Day_0_en","libraries.textcomposer.mentions_MentionSpanTheme_Night_0_en",0,], ["libraries.designsystem.theme.components.previews_Menu_Menus_en","",0,], ["features.messages.impl.messagecomposer_MessageComposerViewVoice_Day_0_en","features.messages.impl.messagecomposer_MessageComposerViewVoice_Night_0_en",0,], -["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",19993,], +["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",20000,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_0_en","features.messages.impl.timeline.components_MessageEventBubble_Night_0_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_10_en","features.messages.impl.timeline.components_MessageEventBubble_Night_10_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_11_en","features.messages.impl.timeline.components_MessageEventBubble_Night_11_en",0,], @@ -455,7 +455,7 @@ export const screenshots = [ ["features.messages.impl.timeline.components_MessageEventBubble_Day_7_en","features.messages.impl.timeline.components_MessageEventBubble_Night_7_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_8_en","features.messages.impl.timeline.components_MessageEventBubble_Night_8_en",0,], ["features.messages.impl.timeline.components_MessageEventBubble_Day_9_en","features.messages.impl.timeline.components_MessageEventBubble_Night_9_en",0,], -["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",19993,], +["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",20000,], ["features.messages.impl.timeline.components_MessageStateEventContainer_Day_0_en","features.messages.impl.timeline.components_MessageStateEventContainer_Night_0_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButtonAdd_Day_0_en","features.messages.impl.timeline.components_MessagesReactionButtonAdd_Night_0_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButtonExtra_Day_0_en","features.messages.impl.timeline.components_MessagesReactionButtonExtra_Night_0_en",0,], @@ -463,25 +463,22 @@ export const screenshots = [ ["features.messages.impl.timeline.components_MessagesReactionButton_Day_1_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_1_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButton_Day_2_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_2_en",0,], ["features.messages.impl.timeline.components_MessagesReactionButton_Day_3_en","features.messages.impl.timeline.components_MessagesReactionButton_Night_3_en",0,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_0_en","features.messages.impl.typing_MessagesViewWithTyping_Night_0_en",19993,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_1_en","features.messages.impl.typing_MessagesViewWithTyping_Night_1_en",19993,], -["features.messages.impl.typing_MessagesViewWithTyping_Day_2_en","features.messages.impl.typing_MessagesViewWithTyping_Night_2_en",19993,], -["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",19993,], -["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",19993,], -["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",19993,], -["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",19993,], -["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",19993,], -["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",19993,], -["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",19993,], -["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",19993,], -["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",19993,], -["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",19993,], -["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",19993,], -["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",19993,], -["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",19993,], -["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",19993,], +["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",20000,], +["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",20000,], +["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",20000,], +["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",20000,], +["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",20000,], +["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",20000,], +["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",20000,], +["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",20000,], +["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",20000,], +["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",20000,], +["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",20000,], +["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",20000,], +["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",20000,], +["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",20000,], ["features.migration.impl_MigrationView_Day_0_en","features.migration.impl_MigrationView_Night_0_en",0,], -["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",19993,], +["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",20000,], ["libraries.designsystem.theme.components_ModalBottomSheetDark_Bottom Sheets_en","",0,], ["libraries.designsystem.theme.components_ModalBottomSheetLight_Bottom Sheets_en","",0,], ["appicon.element_MonochromeIcon_en","",0,], @@ -490,29 +487,29 @@ export const screenshots = [ ["libraries.designsystem.components.list_MutipleSelectionListItemSelectedTrailingContent_Multiple selection List item - selection in trailing content_List items_en","",0,], ["libraries.designsystem.components.list_MutipleSelectionListItemSelected_Multiple selection List item - selection in supporting text_List items_en","",0,], ["libraries.designsystem.components.list_MutipleSelectionListItem_Multiple selection List item - no selection_List items_en","",0,], -["features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_en","features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Night_0_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",19993,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",19993,], -["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",19993,], +["features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_en","features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Night_0_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",20000,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",20000,], +["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",20000,], ["libraries.oidc.impl.webview_OidcView_Day_0_en","libraries.oidc.impl.webview_OidcView_Night_0_en",0,], ["libraries.oidc.impl.webview_OidcView_Day_1_en","libraries.oidc.impl.webview_OidcView_Night_1_en",0,], ["libraries.designsystem.atomic.pages_OnBoardingPage_Day_0_en","libraries.designsystem.atomic.pages_OnBoardingPage_Night_0_en",0,], -["features.onboarding.impl_OnBoardingView_Day_0_en","features.onboarding.impl_OnBoardingView_Night_0_en",19993,], -["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",19993,], -["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",19993,], -["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",19993,], -["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",19993,], +["features.onboarding.impl_OnBoardingView_Day_0_en","features.onboarding.impl_OnBoardingView_Night_0_en",20000,], +["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",20000,], +["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",20000,], +["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",20000,], +["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",20000,], ["libraries.designsystem.background_OnboardingBackground_Day_0_en","libraries.designsystem.background_OnboardingBackground_Night_0_en",0,], ["libraries.designsystem.theme.components_OutlinedButtonLargeLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_OutlinedButtonLarge_Buttons_en","",0,], @@ -527,63 +524,65 @@ export const screenshots = [ ["libraries.designsystem.components_PageTitleWithIconFull_Day_3_en","libraries.designsystem.components_PageTitleWithIconFull_Night_3_en",0,], ["libraries.designsystem.components_PageTitleWithIconFull_Day_4_en","libraries.designsystem.components_PageTitleWithIconFull_Night_4_en",0,], ["libraries.designsystem.components_PageTitleWithIconMinimal_Day_0_en","libraries.designsystem.components_PageTitleWithIconMinimal_Night_0_en",0,], -["libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Day_0_en","libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Night_0_en",19996,], -["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",19993,], -["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",19993,], -["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",19993,], -["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",19993,], -["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",19993,], +["libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Day_0_en","libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Night_0_en",20000,], +["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",20000,], +["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",20000,], +["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",20000,], +["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",20000,], +["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",20000,], ["features.lockscreen.impl.components_PinEntryTextField_Day_0_en","features.lockscreen.impl.components_PinEntryTextField_Night_0_en",0,], ["libraries.designsystem.components_PinIcon_Day_0_en","libraries.designsystem.components_PinIcon_Night_0_en",0,], ["features.lockscreen.impl.unlock.keypad_PinKeypad_Day_0_en","features.lockscreen.impl.unlock.keypad_PinKeypad_Night_0_en",0,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",19993,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",19993,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_7_en",20003,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",20000,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_7_en","features.lockscreen.impl.unlock_PinUnlockView_Night_7_en",20003,], ["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_0_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_0_en",0,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",19993,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",19993,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",19993,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",19993,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",19993,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",19993,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",19993,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",19993,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",19993,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",19993,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",19993,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",19993,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",19993,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",19993,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",20000,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",20000,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",20000,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",20000,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",20000,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",20000,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",20000,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",20000,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",20000,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",20000,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",20000,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",20000,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",20000,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",20000,], ["libraries.designsystem.atomic.atoms_PlaceholderAtom_Day_0_en","libraries.designsystem.atomic.atoms_PlaceholderAtom_Night_0_en",0,], -["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",19993,], -["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",19993,], -["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",19993,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",19993,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",19993,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",20000,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",20000,], +["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",20000,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",20000,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",20000,], ["features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewUndisclosedNotSelected_Night_0_en",0,], ["features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewUndisclosedSelected_Night_0_en",0,], -["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",19993,], -["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",19993,], -["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",19993,], -["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",19993,], -["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",19993,], -["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",19993,], -["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",19993,], -["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",19993,], -["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",19993,], -["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",19993,], -["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",19993,], +["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",20000,], +["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",20000,], +["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",20000,], +["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",20000,], +["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",20000,], +["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",20000,], +["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",20000,], +["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",20000,], +["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",20000,], +["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",20000,], +["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",20000,], ["features.poll.api.pollcontent_PollTitleView_Day_0_en","features.poll.api.pollcontent_PollTitleView_Night_0_en",0,], ["libraries.designsystem.components.preferences_PreferenceCategory_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceCheckbox_Preferences_en","",0,], @@ -600,195 +599,196 @@ export const screenshots = [ ["libraries.designsystem.components.preferences_PreferenceTextLight_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeDark_Preferences_en","",0,], ["libraries.designsystem.components.preferences_PreferenceTextWithEndBadgeLight_Preferences_en","",0,], -["features.preferences.impl.root_PreferencesRootViewDark_0_en","",19993,], -["features.preferences.impl.root_PreferencesRootViewDark_1_en","",19993,], -["features.preferences.impl.root_PreferencesRootViewLight_0_en","",19993,], -["features.preferences.impl.root_PreferencesRootViewLight_1_en","",19993,], +["features.preferences.impl.root_PreferencesRootViewDark_0_en","",20000,], +["features.preferences.impl.root_PreferencesRootViewDark_1_en","",20000,], +["features.preferences.impl.root_PreferencesRootViewLight_0_en","",20000,], +["features.preferences.impl.root_PreferencesRootViewLight_1_en","",20000,], ["features.messages.impl.timeline.components.event_ProgressButton_Day_0_en","features.messages.impl.timeline.components.event_ProgressButton_Night_0_en",0,], -["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",19993,], -["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",19993,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",19993,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",19993,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",19993,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",19993,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",19993,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",19993,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",19993,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",19993,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",19993,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",19993,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",19993,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",19993,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",19993,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",19993,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",19993,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",19993,], +["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",20000,], +["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",20000,], +["features.messages.impl.timeline.protection_ProtectedView_Day_0_en","features.messages.impl.timeline.protection_ProtectedView_Night_0_en",0,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",20000,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",20000,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",20000,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",20000,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",20000,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",20000,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",20000,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",20000,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",20000,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",20000,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",20000,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",20000,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",20000,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",20000,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",20000,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",20000,], ["libraries.designsystem.theme.components_RadioButton_Toggles_en","",0,], -["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",19993,], -["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",19993,], +["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",20000,], +["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",20000,], ["features.rageshake.api.preferences_RageshakePreferencesView_Day_1_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_1_en",0,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",19993,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",19993,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",19993,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",19993,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",19993,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",19993,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",19993,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",20000,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",20000,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",20000,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",20000,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",20000,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",20000,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",20000,], ["libraries.designsystem.atomic.atoms_RedIndicatorAtom_Day_0_en","libraries.designsystem.atomic.atoms_RedIndicatorAtom_Night_0_en",0,], ["features.messages.impl.timeline.components_ReplySwipeIndicator_Day_0_en","features.messages.impl.timeline.components_ReplySwipeIndicator_Night_0_en",0,], -["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",19993,], -["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",19993,], -["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",19993,], -["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",19993,], -["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",19993,], -["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",19993,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",19993,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",19993,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",19993,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",19993,], -["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en",0,], -["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",19993,], +["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",20000,], +["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",20000,], +["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",20000,], +["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",20000,], +["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",20000,], +["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",20000,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",20000,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",20000,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",20000,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",20000,], +["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en",20003,], +["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",20000,], ["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_0_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_0_en",0,], -["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en",19993,], -["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en",19993,], -["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",19993,], -["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",19993,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",19993,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",19993,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",19993,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",19993,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",19993,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",19993,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",19993,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",19993,], +["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en",20000,], +["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en",20000,], +["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",20000,], +["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",20000,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",20000,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",20000,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",20000,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",20000,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",20000,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",20000,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",20000,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",20000,], ["features.roomaliasresolver.impl_RoomAliasResolverView_Day_0_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_0_en",0,], ["features.roomaliasresolver.impl_RoomAliasResolverView_Day_1_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_1_en",0,], -["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",19993,], +["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",20000,], ["features.roomdetails.impl.components_RoomBadgeNegative_Day_0_en","features.roomdetails.impl.components_RoomBadgeNegative_Night_0_en",0,], ["features.roomdetails.impl.components_RoomBadgeNeutral_Day_0_en","features.roomdetails.impl.components_RoomBadgeNeutral_Night_0_en",0,], ["features.roomdetails.impl.components_RoomBadgePositive_Day_0_en","features.roomdetails.impl.components_RoomBadgePositive_Night_0_en",0,], -["features.roomdetails.impl_RoomDetailsDark_0_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_10_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_11_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_12_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_13_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_1_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_2_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_3_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_4_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_5_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_6_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_7_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_8_en","",19993,], -["features.roomdetails.impl_RoomDetailsDark_9_en","",19993,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",19993,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",19993,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",19993,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",19993,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",19993,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",19993,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",19993,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",19993,], -["features.roomdetails.impl_RoomDetails_0_en","",19993,], -["features.roomdetails.impl_RoomDetails_10_en","",19993,], -["features.roomdetails.impl_RoomDetails_11_en","",19993,], -["features.roomdetails.impl_RoomDetails_12_en","",19993,], -["features.roomdetails.impl_RoomDetails_13_en","",19993,], -["features.roomdetails.impl_RoomDetails_1_en","",19993,], -["features.roomdetails.impl_RoomDetails_2_en","",19993,], -["features.roomdetails.impl_RoomDetails_3_en","",19993,], -["features.roomdetails.impl_RoomDetails_4_en","",19993,], -["features.roomdetails.impl_RoomDetails_5_en","",19993,], -["features.roomdetails.impl_RoomDetails_6_en","",19993,], -["features.roomdetails.impl_RoomDetails_7_en","",19993,], -["features.roomdetails.impl_RoomDetails_8_en","",19993,], -["features.roomdetails.impl_RoomDetails_9_en","",19993,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",19993,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",19993,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",19993,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",19993,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",19993,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",19993,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",19993,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",19993,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",19993,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",19993,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",19993,], -["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",19993,], -["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",19993,], +["features.roomdetails.impl_RoomDetailsDark_0_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_10_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_11_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_12_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_13_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_1_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_2_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_3_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_4_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_5_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_6_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_7_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_8_en","",20000,], +["features.roomdetails.impl_RoomDetailsDark_9_en","",20000,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",20000,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",20000,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",20000,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",20000,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",20000,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",20000,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",20000,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",20000,], +["features.roomdetails.impl_RoomDetails_0_en","",20000,], +["features.roomdetails.impl_RoomDetails_10_en","",20000,], +["features.roomdetails.impl_RoomDetails_11_en","",20000,], +["features.roomdetails.impl_RoomDetails_12_en","",20000,], +["features.roomdetails.impl_RoomDetails_13_en","",20000,], +["features.roomdetails.impl_RoomDetails_1_en","",20000,], +["features.roomdetails.impl_RoomDetails_2_en","",20000,], +["features.roomdetails.impl_RoomDetails_3_en","",20000,], +["features.roomdetails.impl_RoomDetails_4_en","",20000,], +["features.roomdetails.impl_RoomDetails_5_en","",20000,], +["features.roomdetails.impl_RoomDetails_6_en","",20000,], +["features.roomdetails.impl_RoomDetails_7_en","",20000,], +["features.roomdetails.impl_RoomDetails_8_en","",20000,], +["features.roomdetails.impl_RoomDetails_9_en","",20000,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",20000,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",20000,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",20000,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",20000,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",20000,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",20000,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",20000,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",20000,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",20000,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",20000,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",20000,], +["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",20000,], +["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",20000,], ["features.roomlist.impl.components_RoomListContentView_Day_2_en","features.roomlist.impl.components_RoomListContentView_Night_2_en",0,], -["features.roomlist.impl.components_RoomListContentView_Day_3_en","features.roomlist.impl.components_RoomListContentView_Night_3_en",19993,], -["features.roomlist.impl.components_RoomListContentView_Day_4_en","features.roomlist.impl.components_RoomListContentView_Night_4_en",19993,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",19993,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",19993,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",19993,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",19993,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",19993,], +["features.roomlist.impl.components_RoomListContentView_Day_3_en","features.roomlist.impl.components_RoomListContentView_Night_3_en",20000,], +["features.roomlist.impl.components_RoomListContentView_Day_4_en","features.roomlist.impl.components_RoomListContentView_Night_4_en",20000,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",20000,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",20000,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",20000,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",20000,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",20000,], ["features.roomlist.impl.search_RoomListSearchContent_Day_0_en","features.roomlist.impl.search_RoomListSearchContent_Night_0_en",0,], -["features.roomlist.impl.search_RoomListSearchContent_Day_1_en","features.roomlist.impl.search_RoomListSearchContent_Night_1_en",19993,], -["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",19993,], -["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",19993,], -["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",19993,], -["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",19993,], -["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",19993,], -["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",19993,], -["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",19993,], -["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",19993,], -["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",19993,], -["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",19993,], +["features.roomlist.impl.search_RoomListSearchContent_Day_1_en","features.roomlist.impl.search_RoomListSearchContent_Night_1_en",20000,], +["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",20000,], +["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",20000,], +["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",20000,], +["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",20000,], +["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",20000,], +["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",20000,], +["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",20000,], +["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",20000,], +["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",20000,], +["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",20000,], ["features.roomlist.impl_RoomListView_Day_8_en","features.roomlist.impl_RoomListView_Night_8_en",0,], ["features.roomlist.impl_RoomListView_Day_9_en","features.roomlist.impl_RoomListView_Night_9_en",0,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",19993,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",19993,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",19993,], -["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",19993,], -["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",19993,], -["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",19993,], -["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",19993,], -["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",19993,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",20000,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",20000,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",20000,], +["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",20000,], +["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",20000,], +["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",20000,], +["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",20000,], +["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",20000,], ["features.roomdetails.impl.members_RoomMemberListView_Day_5_en","features.roomdetails.impl.members_RoomMemberListView_Night_5_en",0,], -["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",19993,], -["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",19993,], -["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",19993,], +["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",20000,], +["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",20000,], +["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",20000,], ["libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Day_0_en","libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Night_0_en",0,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en",19993,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",19993,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",19993,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",19993,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",19993,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en",19993,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",19993,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",19993,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",19993,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en",20000,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",20000,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",20000,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",20000,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",20000,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en",20000,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",20000,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",20000,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",20000,], ["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_9_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_9_en",0,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",19993,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",19993,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",19993,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",19993,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",19993,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",19993,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",19993,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",19993,], -["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",19993,], -["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",19993,], -["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",19993,], -["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",19993,], -["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",19993,], -["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",19993,], -["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",19993,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",20000,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",20000,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",20000,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",20000,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",20000,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",20000,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",20000,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",20000,], +["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",20000,], +["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",20000,], +["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",20000,], +["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",20000,], +["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",20000,], +["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",20000,], +["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",20000,], ["features.roomlist.impl.components_RoomSummaryPlaceholderRow_Day_0_en","features.roomlist.impl.components_RoomSummaryPlaceholderRow_Night_0_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_0_en","features.roomlist.impl.components_RoomSummaryRow_Night_0_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_10_en","features.roomlist.impl.components_RoomSummaryRow_Night_10_en",0,], @@ -811,10 +811,10 @@ export const screenshots = [ ["features.roomlist.impl.components_RoomSummaryRow_Day_26_en","features.roomlist.impl.components_RoomSummaryRow_Night_26_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_27_en","features.roomlist.impl.components_RoomSummaryRow_Night_27_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_28_en","features.roomlist.impl.components_RoomSummaryRow_Night_28_en",0,], -["features.roomlist.impl.components_RoomSummaryRow_Day_29_en","features.roomlist.impl.components_RoomSummaryRow_Night_29_en",19993,], -["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",19993,], -["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",19993,], -["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",19993,], +["features.roomlist.impl.components_RoomSummaryRow_Day_29_en","features.roomlist.impl.components_RoomSummaryRow_Night_29_en",20000,], +["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",20000,], +["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",20000,], +["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",20000,], ["features.roomlist.impl.components_RoomSummaryRow_Day_3_en","features.roomlist.impl.components_RoomSummaryRow_Night_3_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_4_en","features.roomlist.impl.components_RoomSummaryRow_Night_4_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_5_en","features.roomlist.impl.components_RoomSummaryRow_Night_5_en",0,], @@ -822,64 +822,69 @@ export const screenshots = [ ["features.roomlist.impl.components_RoomSummaryRow_Day_7_en","features.roomlist.impl.components_RoomSummaryRow_Night_7_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_8_en","features.roomlist.impl.components_RoomSummaryRow_Night_8_en",0,], ["features.roomlist.impl.components_RoomSummaryRow_Day_9_en","features.roomlist.impl.components_RoomSummaryRow_Night_9_en",0,], -["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",19993,], -["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",19993,], -["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",19993,], +["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",20000,], +["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",20000,], +["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",20000,], ["appicon.element_RoundIcon_en","",0,], ["appicon.enterprise_RoundIcon_en","",0,], ["libraries.designsystem.atomic.atoms_RoundedIconAtom_Day_0_en","libraries.designsystem.atomic.atoms_RoundedIconAtom_Night_0_en",0,], -["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",19993,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",19993,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",19993,], +["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",20000,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",20000,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",20000,], ["libraries.designsystem.theme.components_SearchBarActiveNoneQuery_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarActiveWithContent_Search views_en","",0,], -["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search views_en","",19993,], +["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search views_en","",20000,], ["libraries.designsystem.theme.components_SearchBarActiveWithQueryNoBackButton_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarActiveWithQuery_Search views_en","",0,], ["libraries.designsystem.theme.components_SearchBarInactive_Search views_en","",0,], -["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",19993,], -["features.createroom.impl.components_SearchSingleUserResultItem_en","",19993,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",19993,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",19993,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",19993,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",19993,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",19993,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",19993,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",19993,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",19993,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",19993,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",19993,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",19993,], -["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",19993,], -["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",19993,], -["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",19993,], -["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",19993,], -["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",19993,], -["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",19993,], -["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",19993,], -["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",19993,], -["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",19993,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",19993,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",19993,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",19993,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",19993,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",19993,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",19993,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",19993,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",19993,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",19993,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",19993,], +["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",20000,], +["features.createroom.impl.components_SearchSingleUserResultItem_en","",20000,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",20000,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",20000,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",20000,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",20000,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",20000,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",20000,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",20000,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",20000,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",20000,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",20000,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",20000,], +["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",20000,], +["features.securebackup.impl.root_SecureBackupRootView_Day_10_en","features.securebackup.impl.root_SecureBackupRootView_Night_10_en",20003,], +["features.securebackup.impl.root_SecureBackupRootView_Day_11_en","features.securebackup.impl.root_SecureBackupRootView_Night_11_en",20003,], +["features.securebackup.impl.root_SecureBackupRootView_Day_12_en","features.securebackup.impl.root_SecureBackupRootView_Night_12_en",20003,], +["features.securebackup.impl.root_SecureBackupRootView_Day_13_en","features.securebackup.impl.root_SecureBackupRootView_Night_13_en",20003,], +["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",20000,], +["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",20000,], +["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",20000,], +["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",20000,], +["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",20000,], +["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",20000,], +["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",20000,], +["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",20000,], +["features.securebackup.impl.root_SecureBackupRootView_Day_9_en","features.securebackup.impl.root_SecureBackupRootView_Night_9_en",20003,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",20000,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",20000,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",20000,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",20000,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",20000,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",20000,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",20000,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",20000,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",20000,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",20000,], ["libraries.matrix.ui.components_SelectedRoom_Day_0_en","libraries.matrix.ui.components_SelectedRoom_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedRoom_Day_1_en","libraries.matrix.ui.components_SelectedRoom_Night_1_en",0,], ["libraries.matrix.ui.components_SelectedUserCannotRemove_Day_0_en","libraries.matrix.ui.components_SelectedUserCannotRemove_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedUser_Day_0_en","libraries.matrix.ui.components_SelectedUser_Night_0_en",0,], ["libraries.matrix.ui.components_SelectedUsersRowList_Day_0_en","libraries.matrix.ui.components_SelectedUsersRowList_Night_0_en",0,], ["libraries.textcomposer.components_SendButton_Day_0_en","libraries.textcomposer.components_SendButton_Night_0_en",0,], -["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",19993,], -["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",19993,], -["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",19993,], -["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",19993,], -["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",19993,], +["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",20000,], +["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",20000,], +["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",20000,], +["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",20000,], +["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",20000,], ["libraries.matrix.ui.messages.sender_SenderName_Day_0_en","libraries.matrix.ui.messages.sender_SenderName_Night_0_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_1_en","libraries.matrix.ui.messages.sender_SenderName_Night_1_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_2_en","libraries.matrix.ui.messages.sender_SenderName_Night_2_en",0,], @@ -889,40 +894,40 @@ export const screenshots = [ ["libraries.matrix.ui.messages.sender_SenderName_Day_6_en","libraries.matrix.ui.messages.sender_SenderName_Night_6_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_7_en","libraries.matrix.ui.messages.sender_SenderName_Night_7_en",0,], ["libraries.matrix.ui.messages.sender_SenderName_Day_8_en","libraries.matrix.ui.messages.sender_SenderName_Night_8_en",0,], -["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",19993,], -["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",19993,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",19993,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",19993,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",19993,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",19993,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",19993,], +["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",20000,], +["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",20000,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",20000,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",20000,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",20000,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",20000,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",20000,], ["features.share.impl_ShareView_Day_0_en","features.share.impl_ShareView_Night_0_en",0,], ["features.share.impl_ShareView_Day_1_en","features.share.impl_ShareView_Night_1_en",0,], ["features.share.impl_ShareView_Day_2_en","features.share.impl_ShareView_Night_2_en",0,], -["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",19993,], +["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",20000,], ["features.messages.impl.actionlist_SheetContent_Day_0_en","features.messages.impl.actionlist_SheetContent_Night_0_en",0,], ["features.messages.impl.timeline.components.reactionsummary_SheetContent_Day_0_en","features.messages.impl.timeline.components.reactionsummary_SheetContent_Night_0_en",0,], -["features.messages.impl.actionlist_SheetContent_Day_10_en","features.messages.impl.actionlist_SheetContent_Night_10_en",19993,], -["features.messages.impl.actionlist_SheetContent_Day_11_en","features.messages.impl.actionlist_SheetContent_Night_11_en",19993,], -["features.messages.impl.actionlist_SheetContent_Day_12_en","features.messages.impl.actionlist_SheetContent_Night_12_en",19993,], +["features.messages.impl.actionlist_SheetContent_Day_10_en","features.messages.impl.actionlist_SheetContent_Night_10_en",20000,], +["features.messages.impl.actionlist_SheetContent_Day_11_en","features.messages.impl.actionlist_SheetContent_Night_11_en",20000,], +["features.messages.impl.actionlist_SheetContent_Day_12_en","features.messages.impl.actionlist_SheetContent_Night_12_en",20000,], ["features.messages.impl.actionlist_SheetContent_Day_1_en","features.messages.impl.actionlist_SheetContent_Night_1_en",0,], -["features.messages.impl.actionlist_SheetContent_Day_2_en","features.messages.impl.actionlist_SheetContent_Night_2_en",19993,], -["features.messages.impl.actionlist_SheetContent_Day_3_en","features.messages.impl.actionlist_SheetContent_Night_3_en",19993,], -["features.messages.impl.actionlist_SheetContent_Day_4_en","features.messages.impl.actionlist_SheetContent_Night_4_en",19993,], -["features.messages.impl.actionlist_SheetContent_Day_5_en","features.messages.impl.actionlist_SheetContent_Night_5_en",19993,], -["features.messages.impl.actionlist_SheetContent_Day_6_en","features.messages.impl.actionlist_SheetContent_Night_6_en",19993,], -["features.messages.impl.actionlist_SheetContent_Day_7_en","features.messages.impl.actionlist_SheetContent_Night_7_en",19993,], -["features.messages.impl.actionlist_SheetContent_Day_8_en","features.messages.impl.actionlist_SheetContent_Night_8_en",19993,], -["features.messages.impl.actionlist_SheetContent_Day_9_en","features.messages.impl.actionlist_SheetContent_Night_9_en",19993,], -["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",19993,], -["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",19993,], -["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",19993,], -["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",19993,], -["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",19993,], -["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",19993,], -["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",19993,], -["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",19993,], -["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",19993,], +["features.messages.impl.actionlist_SheetContent_Day_2_en","features.messages.impl.actionlist_SheetContent_Night_2_en",20000,], +["features.messages.impl.actionlist_SheetContent_Day_3_en","features.messages.impl.actionlist_SheetContent_Night_3_en",20000,], +["features.messages.impl.actionlist_SheetContent_Day_4_en","features.messages.impl.actionlist_SheetContent_Night_4_en",20000,], +["features.messages.impl.actionlist_SheetContent_Day_5_en","features.messages.impl.actionlist_SheetContent_Night_5_en",20000,], +["features.messages.impl.actionlist_SheetContent_Day_6_en","features.messages.impl.actionlist_SheetContent_Night_6_en",20000,], +["features.messages.impl.actionlist_SheetContent_Day_7_en","features.messages.impl.actionlist_SheetContent_Night_7_en",20000,], +["features.messages.impl.actionlist_SheetContent_Day_8_en","features.messages.impl.actionlist_SheetContent_Night_8_en",20000,], +["features.messages.impl.actionlist_SheetContent_Day_9_en","features.messages.impl.actionlist_SheetContent_Night_9_en",20000,], +["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",20000,], +["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",20000,], +["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",20000,], +["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",20000,], +["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",20000,], +["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",20000,], +["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",20000,], +["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",20000,], +["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",20000,], ["libraries.designsystem.components.dialogs_SingleSelectionDialogContent_Dialogs_en","",0,], ["libraries.designsystem.components.dialogs_SingleSelectionDialog_Day_0_en","libraries.designsystem.components.dialogs_SingleSelectionDialog_Night_0_en",0,], ["libraries.designsystem.components.list_SingleSelectionListItemCustomFormattert_Single selection List item - custom formatter_List items_en","",0,], @@ -931,7 +936,7 @@ export const screenshots = [ ["libraries.designsystem.components.list_SingleSelectionListItemUnselectedWithSupportingText_Single selection List item - no selection, supporting text_List items_en","",0,], ["libraries.designsystem.components.list_SingleSelectionListItem_Single selection List item - no selection_List items_en","",0,], ["libraries.designsystem.theme.components_Sliders_Sliders_en","",0,], -["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",19993,], +["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",20000,], ["libraries.designsystem.theme.components_SnackbarWithActionAndCloseButton_Snackbar with action and close button_Snackbars_en","",0,], ["libraries.designsystem.theme.components_SnackbarWithActionOnNewLineAndCloseButton_Snackbar with action and close button on new line_Snackbars_en","",0,], ["libraries.designsystem.theme.components_SnackbarWithActionOnNewLine_Snackbar with action on new line_Snackbars_en","",0,], @@ -941,37 +946,37 @@ export const screenshots = [ ["libraries.designsystem.modifiers_SquareSizeModifierLargeHeight_en","",0,], ["libraries.designsystem.modifiers_SquareSizeModifierLargeWidth_en","",0,], ["features.location.api.internal_StaticMapPlaceholder_Day_0_en","features.location.api.internal_StaticMapPlaceholder_Night_0_en",0,], -["features.location.api.internal_StaticMapPlaceholder_Day_1_en","features.location.api.internal_StaticMapPlaceholder_Night_1_en",19993,], +["features.location.api.internal_StaticMapPlaceholder_Day_1_en","features.location.api.internal_StaticMapPlaceholder_Night_1_en",20000,], ["features.location.api_StaticMapView_Day_0_en","features.location.api_StaticMapView_Night_0_en",0,], -["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",19993,], +["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",20000,], ["libraries.designsystem.atomic.pages_SunsetPage_Day_0_en","libraries.designsystem.atomic.pages_SunsetPage_Night_0_en",0,], ["libraries.designsystem.components.button_SuperButton_Day_0_en","libraries.designsystem.components.button_SuperButton_Night_0_en",0,], ["libraries.designsystem.theme.components_Surface_en","",0,], ["libraries.designsystem.theme.components_Switch_Toggles_en","",0,], -["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",19993,], +["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",20000,], ["libraries.designsystem.theme.components_TextButtonLargeLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonLarge_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonMediumLowPadding_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonMedium_Buttons_en","",0,], ["libraries.designsystem.theme.components_TextButtonSmall_Buttons_en","",0,], -["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",19993,], -["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",19993,], -["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",19993,], -["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",19993,], -["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",19993,], -["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",19993,], -["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",19993,], +["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",20000,], +["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",20000,], +["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",20000,], +["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",20000,], +["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",20000,], +["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",20000,], +["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",20000,], ["libraries.textcomposer_TextComposerVoice_Day_0_en","libraries.textcomposer_TextComposerVoice_Night_0_en",0,], ["libraries.designsystem.theme.components_TextDark_Text_en","",0,], ["libraries.designsystem.theme.components_TextFieldDark_TextFields_en","",0,], @@ -983,26 +988,26 @@ export const screenshots = [ ["libraries.designsystem.theme.components_TextFieldValueTextFieldDark_TextFields_en","",0,], ["libraries.textcomposer.components_TextFormatting_Day_0_en","libraries.textcomposer.components_TextFormatting_Night_0_en",0,], ["libraries.designsystem.theme.components_TextLight_Text_en","",0,], -["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en","",19993,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",19993,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",19993,], +["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en","",20000,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",20000,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",20000,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_0_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_1_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_2_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",19993,], -["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",19993,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",20000,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",20000,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_5_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_6_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_6_en",0,], ["features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Day_0_en","features.messages.impl.timeline.components.event_TimelineImageWithCaptionRow_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",19993,], +["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",20000,], ["features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Night_0_en",0,], ["features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Day_1_en","features.messages.impl.timeline.components.virtual_TimelineItemDaySeparatorView_Night_1_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",19993,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",19993,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",19993,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",20000,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",20000,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",20000,], ["features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowDisambiguated_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowForDirectRoom_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowForDirectRoom_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowLongSenderName_en","",0,], @@ -1010,16 +1015,16 @@ export const screenshots = [ ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",19993,], -["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",19993,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",20000,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",20000,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_5_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_6_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_6_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",19993,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",20000,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowWithRR_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",19993,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",19993,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",20000,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",20000,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_0_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyOther_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_0_en",0,], @@ -1028,36 +1033,38 @@ export const screenshots = [ ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_1_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_2_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_2_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_3_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",19993,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",20000,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_5_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_5_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_6_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_6_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_7_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_7_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",19993,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",20000,], ["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_9_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_9_en",0,], ["features.messages.impl.timeline.components_TimelineItemEventRow_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRow_Night_0_en",0,], -["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",19993,], +["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",20000,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_2_en",0,], -["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",19993,], -["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",19993,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",20000,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",20000,], +["features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_2_en",0,], +["features.messages.impl.timeline.components.event_TimelineItemImageView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemImageView_Night_3_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemInformativeView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemInformativeView_Night_0_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",19993,], +["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",20000,], ["features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemLocationView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemLocationView_Night_1_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",19993,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",19993,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",19993,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",19993,], -["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",19993,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",20000,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",20000,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",20000,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",20000,], +["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",20000,], ["features.messages.impl.timeline.components_TimelineItemReactionsViewFew_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewFew_Night_0_en",0,], -["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",19993,], -["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",19993,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",20000,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",20000,], ["features.messages.impl.timeline.components_TimelineItemReactionsView_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsView_Night_0_en",0,], -["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",19993,], +["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",20000,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_0_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_0_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_1_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_1_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_2_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_2_en",0,], @@ -1066,23 +1073,26 @@ export const screenshots = [ ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_5_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_5_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_6_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_6_en",0,], ["features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Day_7_en","features.messages.impl.timeline.components.receipt_TimelineItemReadReceiptView_Night_7_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",19993,], -["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",19993,], +["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",20000,], +["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",20000,], ["features.messages.impl.timeline.components_TimelineItemStateEventRow_Day_0_en","features.messages.impl.timeline.components_TimelineItemStateEventRow_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStateView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemStateView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_2_en",0,], +["features.messages.impl.timeline.components.event_TimelineItemStickerView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemStickerView_Night_3_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_2_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_3_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_4_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_4_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemTextView_Day_5_en","features.messages.impl.timeline.components.event_TimelineItemTextView_Night_5_en",0,], -["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",19993,], +["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",20000,], +["features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_1_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_2_en",0,], +["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_3_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVoiceViewUnified_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemVoiceViewUnified_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVoiceView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemVoiceView_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineItemVoiceView_Day_10_en","features.messages.impl.timeline.components.event_TimelineItemVoiceView_Night_10_en",0,], @@ -1101,84 +1111,84 @@ export const screenshots = [ ["features.messages.impl.timeline.components.event_TimelineItemVoiceView_Day_9_en","features.messages.impl.timeline.components.event_TimelineItemVoiceView_Night_9_en",0,], ["features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineLoadingMoreIndicator_Night_0_en",0,], ["features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Day_0_en","features.messages.impl.timeline.components.event_TimelineVideoWithCaptionRow_Night_0_en",0,], -["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",19993,], -["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",19993,], +["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",20000,], +["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",20000,], ["features.messages.impl.timeline_TimelineView_Day_10_en","features.messages.impl.timeline_TimelineView_Night_10_en",0,], -["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",19993,], -["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",19993,], -["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",19993,], -["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",19993,], -["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",19993,], -["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",19993,], -["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",19993,], -["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",20000,], +["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",20000,], +["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",20000,], +["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",20000,], +["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",20000,], +["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",20000,], +["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",20000,], +["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",20000,], ["features.messages.impl.timeline_TimelineView_Day_2_en","features.messages.impl.timeline_TimelineView_Night_2_en",0,], ["features.messages.impl.timeline_TimelineView_Day_3_en","features.messages.impl.timeline_TimelineView_Night_3_en",0,], -["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",20000,], ["features.messages.impl.timeline_TimelineView_Day_5_en","features.messages.impl.timeline_TimelineView_Night_5_en",0,], -["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",20000,], ["features.messages.impl.timeline_TimelineView_Day_7_en","features.messages.impl.timeline_TimelineView_Night_7_en",0,], -["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",19993,], +["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",20000,], ["features.messages.impl.timeline_TimelineView_Day_9_en","features.messages.impl.timeline_TimelineView_Night_9_en",0,], ["libraries.designsystem.theme.components_TopAppBar_App Bars_en","",0,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",19993,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",19993,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",19993,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",19993,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",19993,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",19993,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",19993,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",19993,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",20000,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",20000,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",20000,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",20000,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",20000,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",20000,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",20000,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",20000,], ["features.messages.impl.typing_TypingNotificationView_Day_0_en","features.messages.impl.typing_TypingNotificationView_Night_0_en",0,], -["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",19993,], -["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",19993,], -["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",19993,], -["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",19993,], -["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",19993,], -["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",19993,], +["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",20000,], +["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",20000,], +["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",20000,], +["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",20000,], +["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",20000,], +["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",20000,], ["features.messages.impl.typing_TypingNotificationView_Day_7_en","features.messages.impl.typing_TypingNotificationView_Night_7_en",0,], ["features.messages.impl.typing_TypingNotificationView_Day_8_en","features.messages.impl.typing_TypingNotificationView_Night_8_en",0,], ["libraries.designsystem.atomic.atoms_UnreadIndicatorAtom_Day_0_en","libraries.designsystem.atomic.atoms_UnreadIndicatorAtom_Night_0_en",0,], -["libraries.matrix.ui.components_UnresolvedUserRow_en","",19993,], +["libraries.matrix.ui.components_UnresolvedUserRow_en","",20000,], ["libraries.matrix.ui.components_UnsavedAvatar_Day_0_en","libraries.matrix.ui.components_UnsavedAvatar_Night_0_en",0,], ["libraries.designsystem.components.avatar_UserAvatarColors_Day_0_en","libraries.designsystem.components.avatar_UserAvatarColors_Night_0_en",0,], -["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",19993,], -["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",19993,], -["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",19993,], -["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",19993,], +["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",20000,], +["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",20000,], +["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",20000,], +["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",20000,], ["features.createroom.impl.components_UserListView_Day_3_en","features.createroom.impl.components_UserListView_Night_3_en",0,], ["features.createroom.impl.components_UserListView_Day_4_en","features.createroom.impl.components_UserListView_Night_4_en",0,], ["features.createroom.impl.components_UserListView_Day_5_en","features.createroom.impl.components_UserListView_Night_5_en",0,], ["features.createroom.impl.components_UserListView_Day_6_en","features.createroom.impl.components_UserListView_Night_6_en",0,], -["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",19993,], +["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",20000,], ["features.createroom.impl.components_UserListView_Day_8_en","features.createroom.impl.components_UserListView_Night_8_en",0,], -["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",19993,], +["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",20000,], ["features.preferences.impl.user_UserPreferences_Day_0_en","features.preferences.impl.user_UserPreferences_Night_0_en",0,], ["features.preferences.impl.user_UserPreferences_Day_1_en","features.preferences.impl.user_UserPreferences_Night_1_en",0,], ["features.preferences.impl.user_UserPreferences_Day_2_en","features.preferences.impl.user_UserPreferences_Night_2_en",0,], ["features.userprofile.shared_UserProfileHeaderSection_Day_0_en","features.userprofile.shared_UserProfileHeaderSection_Night_0_en",0,], -["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",19993,], -["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",19993,], -["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",19993,], -["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",19993,], -["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",19993,], -["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",19993,], -["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",19993,], -["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",19993,], -["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",19993,], -["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",19993,], -["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",19993,], +["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",20000,], +["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",20000,], +["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",20000,], +["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",20000,], +["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",20000,], +["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",20000,], +["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",20000,], +["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",20000,], +["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",20000,], +["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",20000,], +["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",20000,], ["features.verifysession.impl_VerifySelfSessionView_Day_11_en","features.verifysession.impl_VerifySelfSessionView_Night_11_en",0,], ["features.verifysession.impl_VerifySelfSessionView_Day_12_en","features.verifysession.impl_VerifySelfSessionView_Night_12_en",0,], -["features.verifysession.impl_VerifySelfSessionView_Day_1_en","features.verifysession.impl_VerifySelfSessionView_Night_1_en",19993,], -["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",19993,], -["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",19993,], -["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",19993,], -["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",19993,], -["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",19993,], -["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",19993,], -["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",19993,], -["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",19993,], +["features.verifysession.impl_VerifySelfSessionView_Day_1_en","features.verifysession.impl_VerifySelfSessionView_Night_1_en",20000,], +["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",20000,], +["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",20000,], +["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",20000,], +["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",20000,], +["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",20000,], +["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",20000,], +["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",20000,], +["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",20000,], ["libraries.designsystem.ruler_VerticalRuler_Day_0_en","libraries.designsystem.ruler_VerticalRuler_Night_0_en",0,], ["features.viewfolder.impl.file_ViewFileView_Day_0_en","features.viewfolder.impl.file_ViewFileView_Night_0_en",0,], ["features.viewfolder.impl.file_ViewFileView_Day_1_en","features.viewfolder.impl.file_ViewFileView_Night_1_en",0,], @@ -1193,6 +1203,6 @@ export const screenshots = [ ["libraries.textcomposer.components_VoiceMessageRecording_Day_0_en","libraries.textcomposer.components_VoiceMessageRecording_Night_0_en",0,], ["libraries.textcomposer.components_VoiceMessage_Day_0_en","libraries.textcomposer.components_VoiceMessage_Night_0_en",0,], ["libraries.designsystem.components.media_WaveformPlaybackView_Day_0_en","libraries.designsystem.components.media_WaveformPlaybackView_Night_0_en",0,], -["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",19993,], +["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",20000,], ["libraries.designsystem.ruler_WithRulers_Day_0_en","libraries.designsystem.ruler_WithRulers_Night_0_en",0,], ]; diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en.png index b88e01dba2..8deeaa73aa 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c2ad0bf991ad9b38b9590a938c63632202d708bde778ef109d9f67ade3cec77 -size 65566 +oid sha256:ad503075a2ff0e5fcd544c66a1a1b186abc2d05126facc397e0d812cd2206fc5 +size 71628 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en.png index fa8578b783..2bfe4aa3f8 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c31611d1cd4f738636653fc14ab4a58b6774f7f9a9bc47d6842f4ab2f1f71538 -size 57863 +oid sha256:669a2f51c4276c4582e624dda9779d008a01452f0f2a1331f9fbb2b7bbbb38de +size 58159 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en.png index a82f418713..34fab3c874 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:30985182d2e5d6d0c2eba16daf31d7ac45f4b5dcba549e60a7449f13f60abf80 -size 64348 +oid sha256:9a8c8d8ed03e7f85a0954bd06ac70336994dfaaec318c1d7f2c386f062e6c1e9 +size 70136 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en.png index 3116acb351..8d0e213225 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4e4416be0cc1ca9fd304e5c2574b7c0205da667f9b398a3fff2f3ecb6436682f -size 55779 +oid sha256:d2ffe911b13cbedf16829ed0b449f291d291f64d87917b827836a97204fe8c65 +size 56167 From 60dd4db6779d8beea20ca97cba96cee019bdf89e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 17:18:53 +0200 Subject: [PATCH 102/151] Ensure the CI compile and execute all the unit tests. --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 778a173e19..cdb81ff8d7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -57,7 +57,7 @@ jobs: cache-read-only: ${{ github.ref != 'refs/heads/develop' }} - name: ⚙️ Check coverage for debug variant (includes unit & screenshot tests) - run: ./gradlew :tests:uitests:verifyPaparazziDebug :app:koverXmlReportGplayDebug :app:koverHtmlReportGplayDebug :app:koverVerifyAll $CI_GRADLE_ARG_PROPERTIES + run: ./gradlew testDebugUnitTest :tests:uitests:verifyPaparazziDebug :app:koverXmlReportGplayDebug :app:koverHtmlReportGplayDebug :app:koverVerifyAll $CI_GRADLE_ARG_PROPERTIES - name: 🚫 Upload kover failed coverage reports if: failure() From ce811bdaed2daa64e50ba3ef132276e01502184f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 17:19:57 +0200 Subject: [PATCH 103/151] Revert "Ensure the CI compile and execute all the unit tests." This reverts commit 60dd4db6779d8beea20ca97cba96cee019bdf89e. --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index cdb81ff8d7..778a173e19 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -57,7 +57,7 @@ jobs: cache-read-only: ${{ github.ref != 'refs/heads/develop' }} - name: ⚙️ Check coverage for debug variant (includes unit & screenshot tests) - run: ./gradlew testDebugUnitTest :tests:uitests:verifyPaparazziDebug :app:koverXmlReportGplayDebug :app:koverHtmlReportGplayDebug :app:koverVerifyAll $CI_GRADLE_ARG_PROPERTIES + run: ./gradlew :tests:uitests:verifyPaparazziDebug :app:koverXmlReportGplayDebug :app:koverHtmlReportGplayDebug :app:koverVerifyAll $CI_GRADLE_ARG_PROPERTIES - name: 🚫 Upload kover failed coverage reports if: failure() From 76fd9310e4f836eec3391952419dce441e10ff4f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 17:18:53 +0200 Subject: [PATCH 104/151] Ensure the CI compile and execute all the unit tests. --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 778a173e19..cdb81ff8d7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -57,7 +57,7 @@ jobs: cache-read-only: ${{ github.ref != 'refs/heads/develop' }} - name: ⚙️ Check coverage for debug variant (includes unit & screenshot tests) - run: ./gradlew :tests:uitests:verifyPaparazziDebug :app:koverXmlReportGplayDebug :app:koverHtmlReportGplayDebug :app:koverVerifyAll $CI_GRADLE_ARG_PROPERTIES + run: ./gradlew testDebugUnitTest :tests:uitests:verifyPaparazziDebug :app:koverXmlReportGplayDebug :app:koverHtmlReportGplayDebug :app:koverVerifyAll $CI_GRADLE_ARG_PROPERTIES - name: 🚫 Upload kover failed coverage reports if: failure() From 9e32463446b0711db6532c5c1562fb5c3a3f19df Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 16:58:08 +0200 Subject: [PATCH 105/151] Fix compilation issue in RustMatrixClientFactoryTest... --- .../libraries/matrix/impl/RustMatrixClientFactoryTest.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactoryTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactoryTest.kt index b408574e92..f42bc30e0e 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactoryTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactoryTest.kt @@ -10,7 +10,6 @@ package io.element.android.libraries.matrix.impl import com.google.common.truth.Truth.assertThat import io.element.android.libraries.featureflag.test.FakeFeatureFlagService import io.element.android.libraries.matrix.api.core.SessionId -import io.element.android.libraries.matrix.impl.analytics.UtdTracker import io.element.android.libraries.matrix.impl.auth.FakeProxyProvider import io.element.android.libraries.matrix.impl.auth.FakeUserCertificatesProvider import io.element.android.libraries.matrix.impl.room.FakeTimelineEventTypeFilterFactory @@ -50,7 +49,7 @@ fun TestScope.createRustMatrixClientFactory( userCertificatesProvider = FakeUserCertificatesProvider(), proxyProvider = FakeProxyProvider(), clock = FakeSystemClock(), - utdTracker = UtdTracker(FakeAnalyticsService()), + analyticsService = FakeAnalyticsService(), featureFlagService = FakeFeatureFlagService(), timelineEventTypeFilterFactory = FakeTimelineEventTypeFilterFactory(), clientBuilderProvider = FakeClientBuilderProvider(), From 23c0dc10cd56e833ee02e584fc6541835729a912 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 17:31:55 +0200 Subject: [PATCH 106/151] ... and fix the test. --- .../matrix/impl/fixtures/fakes/FakeRustClientBuilder.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustClientBuilder.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustClientBuilder.kt index 5f073b147c..abf94edcdd 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustClientBuilder.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustClientBuilder.kt @@ -18,6 +18,7 @@ import org.matrix.rustcomponents.sdk.RequestConfig import org.matrix.rustcomponents.sdk.SlidingSyncVersionBuilder import uniffi.matrix_sdk.BackupDownloadStrategy import uniffi.matrix_sdk_crypto.CollectStrategy +import uniffi.matrix_sdk_crypto.TrustRequirement class FakeRustClientBuilder : ClientBuilder(NoPointer) { override fun addRootCertificates(certificates: List) = this @@ -26,6 +27,7 @@ class FakeRustClientBuilder : ClientBuilder(NoPointer) { override fun backupDownloadStrategy(backupDownloadStrategy: BackupDownloadStrategy) = this override fun disableAutomaticTokenRefresh() = this override fun disableBuiltInRootCertificates() = this + override fun roomDecryptionTrustRequirement(trustRequirement: TrustRequirement) = this override fun disableSslVerification() = this override fun enableCrossProcessRefreshLock(processId: String, sessionDelegate: ClientSessionDelegate) = this override fun homeserverUrl(url: String) = this From b1f548054f246b24897112ff7560a1deddcc5e77 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 17:36:44 +0200 Subject: [PATCH 107/151] fix(deps): update dependency com.squareup:kotlinpoet-ksp to v1.18.1 (#3580) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Jorge Martin Espinosa --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b57a7265cd..6dfb7d378c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ # Project android_gradle_plugin = "8.7.0" kotlin = "1.9.25" -kotlinpoetKsp = "1.17.0" +kotlinpoetKsp = "1.18.1" ksp = "1.9.25-1.0.20" firebaseAppDistribution = "5.0.0" From f2ca3c30d7181f6b4c421d11f349141e6c60a00b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 07:26:28 +0200 Subject: [PATCH 108/151] Konsist: Ensure that unit tests are detected --- .../android/tests/konsist/KonsistTestTest.kt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistTestTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistTestTest.kt index afaef2f54b..4ae380a189 100644 --- a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistTestTest.kt +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistTestTest.kt @@ -7,16 +7,32 @@ package io.element.android.tests.konsist +import com.google.common.truth.Truth.assertThat import com.lemonappdev.konsist.api.Konsist import com.lemonappdev.konsist.api.ext.list.modifierprovider.withoutOverrideModifier +import com.lemonappdev.konsist.api.ext.list.withAnnotationOf import com.lemonappdev.konsist.api.ext.list.withFunction import com.lemonappdev.konsist.api.ext.list.withReturnType +import com.lemonappdev.konsist.api.ext.list.withoutAnnotationOf import com.lemonappdev.konsist.api.ext.list.withoutName import com.lemonappdev.konsist.api.verify.assertFalse import com.lemonappdev.konsist.api.verify.assertTrue +import org.junit.Ignore import org.junit.Test class KonsistTestTest { + @Test + fun `Ensure that unit tests are detected`() { + val numberOfTests = Konsist + .scopeFromTest() + .functions() + .withAnnotationOf(Test::class) + .withoutAnnotationOf(Ignore::class) + .size + println("Number of unit tests: $numberOfTests") + assertThat(numberOfTests).isGreaterThan(2000) + } + @Test fun `Classes name containing @Test must end with 'Test'`() { Konsist From ac481a59de850b6b6a6fa763cd27ec99bf4f9795 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 07:34:44 +0200 Subject: [PATCH 109/151] Konsist: Ensure that `Presenter` do not depend on other presenters. --- .../tests/konsist/KonsistPresenterTest.kt | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPresenterTest.kt diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPresenterTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPresenterTest.kt new file mode 100644 index 0000000000..5e949764b0 --- /dev/null +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPresenterTest.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2023, 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.tests.konsist + +import com.lemonappdev.konsist.api.Konsist +import com.lemonappdev.konsist.api.ext.list.constructors +import com.lemonappdev.konsist.api.ext.list.withAllParentsOf +import com.lemonappdev.konsist.api.verify.assertTrue +import io.element.android.libraries.architecture.Presenter +import org.junit.Test + +class KonsistPresenterTest { + @Test + fun `'Presenter' should not depend on other presenters`() { + Konsist.scopeFromProject() + .classes() + .withAllParentsOf(Presenter::class) + .constructors + .assertTrue { constructor -> + val result = constructor.parameters.none { parameter -> + parameter.type.name.endsWith("Presenter") + } + result + } + } +} From f99081fd470e9506353694b1fa79f6f2caba4e27 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 08:43:11 +0200 Subject: [PATCH 110/151] Remove dependencies to other presenters from RootPresenter --- .../android/appnav/root/RootPresenter.kt | 8 ++--- .../android/appnav/RootPresenterTest.kt | 35 +++---------------- .../rageshake/impl/di/RageshakeModule.kt | 28 +++++++++++++++ 3 files changed, 37 insertions(+), 34 deletions(-) create mode 100644 features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeModule.kt diff --git a/appnav/src/main/kotlin/io/element/android/appnav/root/RootPresenter.kt b/appnav/src/main/kotlin/io/element/android/appnav/root/RootPresenter.kt index 01c1164741..f7a0c279f9 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/root/RootPresenter.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/root/RootPresenter.kt @@ -12,8 +12,8 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import im.vector.app.features.analytics.plan.SuperProperties -import io.element.android.features.rageshake.api.crash.CrashDetectionPresenter -import io.element.android.features.rageshake.api.detection.RageshakeDetectionPresenter +import io.element.android.features.rageshake.api.crash.CrashDetectionState +import io.element.android.features.rageshake.api.detection.RageshakeDetectionState import io.element.android.features.share.api.ShareService import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.matrix.api.SdkMetadata @@ -22,8 +22,8 @@ import io.element.android.services.apperror.api.AppErrorStateService import javax.inject.Inject class RootPresenter @Inject constructor( - private val crashDetectionPresenter: CrashDetectionPresenter, - private val rageshakeDetectionPresenter: RageshakeDetectionPresenter, + private val crashDetectionPresenter: Presenter, + private val rageshakeDetectionPresenter: Presenter, private val appErrorStateService: AppErrorStateService, private val analyticsService: AnalyticsService, private val shareService: ShareService, diff --git a/appnav/src/test/kotlin/io/element/android/appnav/RootPresenterTest.kt b/appnav/src/test/kotlin/io/element/android/appnav/RootPresenterTest.kt index 619f56e51d..2312c2dbb0 100644 --- a/appnav/src/test/kotlin/io/element/android/appnav/RootPresenterTest.kt +++ b/appnav/src/test/kotlin/io/element/android/appnav/RootPresenterTest.kt @@ -12,17 +12,11 @@ import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.appnav.root.RootPresenter -import io.element.android.features.rageshake.impl.crash.DefaultCrashDetectionPresenter -import io.element.android.features.rageshake.impl.detection.DefaultRageshakeDetectionPresenter -import io.element.android.features.rageshake.impl.preferences.DefaultRageshakePreferencesPresenter -import io.element.android.features.rageshake.test.crash.FakeCrashDataStore -import io.element.android.features.rageshake.test.rageshake.FakeRageShake -import io.element.android.features.rageshake.test.rageshake.FakeRageshakeDataStore -import io.element.android.features.rageshake.test.screenshot.FakeScreenshotHolder +import io.element.android.features.rageshake.api.crash.aCrashDetectionState +import io.element.android.features.rageshake.api.detection.aRageshakeDetectionState import io.element.android.features.share.api.ShareService import io.element.android.features.share.test.FakeShareService import io.element.android.libraries.matrix.test.FakeSdkMetadata -import io.element.android.libraries.matrix.test.core.aBuildMeta import io.element.android.services.analytics.test.FakeAnalyticsService import io.element.android.services.apperror.api.AppErrorState import io.element.android.services.apperror.api.AppErrorStateService @@ -44,7 +38,6 @@ class RootPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - skipItems(1) val initialState = awaitItem() assertThat(initialState.crashDetectionState.crashDetected).isFalse() } @@ -61,7 +54,7 @@ class RootPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - skipItems(2) + skipItems(1) lambda.assertions().isCalledOnce() } } @@ -76,8 +69,6 @@ class RootPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - skipItems(1) - val initialState = awaitItem() assertThat(initialState.errorState).isInstanceOf(AppErrorState.Error::class.java) val initialErrorState = initialState.errorState as AppErrorState.Error @@ -93,25 +84,9 @@ class RootPresenterTest { appErrorService: AppErrorStateService = DefaultAppErrorStateService(), shareService: ShareService = FakeShareService {}, ): RootPresenter { - val crashDataStore = FakeCrashDataStore() - val rageshakeDataStore = FakeRageshakeDataStore() - val rageshake = FakeRageShake() - val screenshotHolder = FakeScreenshotHolder() - val crashDetectionPresenter = DefaultCrashDetectionPresenter( - buildMeta = aBuildMeta(), - crashDataStore = crashDataStore - ) - val rageshakeDetectionPresenter = DefaultRageshakeDetectionPresenter( - screenshotHolder = screenshotHolder, - rageShake = rageshake, - preferencesPresenter = DefaultRageshakePreferencesPresenter( - rageshake = rageshake, - rageshakeDataStore = rageshakeDataStore, - ) - ) return RootPresenter( - crashDetectionPresenter = crashDetectionPresenter, - rageshakeDetectionPresenter = rageshakeDetectionPresenter, + crashDetectionPresenter = { aCrashDetectionState() }, + rageshakeDetectionPresenter = { aRageshakeDetectionState() }, appErrorStateService = appErrorService, analyticsService = FakeAnalyticsService(), shareService = shareService, diff --git a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeModule.kt b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeModule.kt new file mode 100644 index 0000000000..bc74cd542b --- /dev/null +++ b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeModule.kt @@ -0,0 +1,28 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.rageshake.impl.di + +import com.squareup.anvil.annotations.ContributesTo +import dagger.Binds +import dagger.Module +import io.element.android.features.rageshake.api.crash.CrashDetectionPresenter +import io.element.android.features.rageshake.api.crash.CrashDetectionState +import io.element.android.features.rageshake.api.detection.RageshakeDetectionPresenter +import io.element.android.features.rageshake.api.detection.RageshakeDetectionState +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.di.AppScope + +@ContributesTo(AppScope::class) +@Module +interface RageshakeModule { + @Binds + fun bindRageshakeDetectionPresenter(presenter: RageshakeDetectionPresenter): Presenter + + @Binds + fun bindCrashDetectionPresenter(presenter: CrashDetectionPresenter): Presenter +} From e9e4963373c114920eba0442e1cd3e4dc4014526 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 08:52:48 +0200 Subject: [PATCH 111/151] Remove dependencies to other presenters from DeveloperSettingsPresenter --- .../impl/developer/DeveloperSettingsPresenter.kt | 4 ++-- .../impl/developer/DeveloperSettingsPresenterTest.kt | 12 ++++-------- .../features/rageshake/impl/di/RageshakeModule.kt | 5 +++++ 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt index a113a80a1f..ea10778580 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt @@ -22,7 +22,7 @@ import io.element.android.appconfig.ElementCallConfig import io.element.android.features.logout.api.LogoutUseCase import io.element.android.features.preferences.impl.tasks.ClearCacheUseCase import io.element.android.features.preferences.impl.tasks.ComputeCacheSizeUseCase -import io.element.android.features.rageshake.api.preferences.RageshakePreferencesPresenter +import io.element.android.features.rageshake.api.preferences.RageshakePreferencesState import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.runCatchingUpdatingState @@ -44,7 +44,7 @@ class DeveloperSettingsPresenter @Inject constructor( private val featureFlagService: FeatureFlagService, private val computeCacheSizeUseCase: ComputeCacheSizeUseCase, private val clearCacheUseCase: ClearCacheUseCase, - private val rageshakePresenter: RageshakePreferencesPresenter, + private val rageshakePresenter: Presenter, private val appPreferencesStore: AppPreferencesStore, private val buildMeta: BuildMeta, private val logoutUseCase: LogoutUseCase, diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt index 128f4aa705..c893de7f55 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt @@ -15,9 +15,7 @@ import io.element.android.appconfig.ElementCallConfig import io.element.android.features.logout.test.FakeLogoutUseCase import io.element.android.features.preferences.impl.tasks.FakeClearCacheUseCase import io.element.android.features.preferences.impl.tasks.FakeComputeCacheSizeUseCase -import io.element.android.features.rageshake.impl.preferences.DefaultRageshakePreferencesPresenter -import io.element.android.features.rageshake.test.rageshake.FakeRageShake -import io.element.android.features.rageshake.test.rageshake.FakeRageshakeDataStore +import io.element.android.features.rageshake.api.preferences.aRageshakePreferencesState import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.core.meta.BuildMeta import io.element.android.libraries.core.meta.BuildType @@ -54,7 +52,7 @@ class DeveloperSettingsPresenterTest { val loadedState = awaitItem() assertThat(loadedState.rageshakeState.isEnabled).isFalse() assertThat(loadedState.rageshakeState.isSupported).isTrue() - assertThat(loadedState.rageshakeState.sensitivity).isEqualTo(1.0f) + assertThat(loadedState.rageshakeState.sensitivity).isEqualTo(0.3f) cancelAndIgnoreRemainingEvents() } } @@ -105,9 +103,8 @@ class DeveloperSettingsPresenterTest { @Test fun `present - clear cache`() = runTest { - val rageshakePresenter = DefaultRageshakePreferencesPresenter(FakeRageShake(), FakeRageshakeDataStore()) val clearCacheUseCase = FakeClearCacheUseCase() - val presenter = createDeveloperSettingsPresenter(clearCacheUseCase = clearCacheUseCase, rageshakePresenter = rageshakePresenter) + val presenter = createDeveloperSettingsPresenter(clearCacheUseCase = clearCacheUseCase) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -202,7 +199,6 @@ class DeveloperSettingsPresenterTest { featureFlagService: FakeFeatureFlagService = FakeFeatureFlagService(), cacheSizeUseCase: FakeComputeCacheSizeUseCase = FakeComputeCacheSizeUseCase(), clearCacheUseCase: FakeClearCacheUseCase = FakeClearCacheUseCase(), - rageshakePresenter: DefaultRageshakePreferencesPresenter = DefaultRageshakePreferencesPresenter(FakeRageShake(), FakeRageshakeDataStore()), preferencesStore: InMemoryAppPreferencesStore = InMemoryAppPreferencesStore(), buildMeta: BuildMeta = aBuildMeta(), logoutUseCase: FakeLogoutUseCase = FakeLogoutUseCase(logoutLambda = { "" }) @@ -211,7 +207,7 @@ class DeveloperSettingsPresenterTest { featureFlagService = featureFlagService, computeCacheSizeUseCase = cacheSizeUseCase, clearCacheUseCase = clearCacheUseCase, - rageshakePresenter = rageshakePresenter, + rageshakePresenter = { aRageshakePreferencesState() }, appPreferencesStore = preferencesStore, buildMeta = buildMeta, logoutUseCase = logoutUseCase, diff --git a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeModule.kt b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeModule.kt index bc74cd542b..393a9913ae 100644 --- a/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeModule.kt +++ b/features/rageshake/impl/src/main/kotlin/io/element/android/features/rageshake/impl/di/RageshakeModule.kt @@ -14,12 +14,17 @@ import io.element.android.features.rageshake.api.crash.CrashDetectionPresenter import io.element.android.features.rageshake.api.crash.CrashDetectionState import io.element.android.features.rageshake.api.detection.RageshakeDetectionPresenter import io.element.android.features.rageshake.api.detection.RageshakeDetectionState +import io.element.android.features.rageshake.api.preferences.RageshakePreferencesPresenter +import io.element.android.features.rageshake.api.preferences.RageshakePreferencesState import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.di.AppScope @ContributesTo(AppScope::class) @Module interface RageshakeModule { + @Binds + fun bindRageshakePreferencesPresenter(presenter: RageshakePreferencesPresenter): Presenter + @Binds fun bindRageshakeDetectionPresenter(presenter: RageshakeDetectionPresenter): Presenter From a100676f4bfd9852b7527febf99b03e834b8074c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 09:02:05 +0200 Subject: [PATCH 112/151] Remove dependencies to other presenters from PreferencesRootPresenter. Also do some renaming since DirectLogoutPresenter interface can be removed. --- .../api/direct/DirectLogoutPresenter.kt | 12 ---------- .../features/logout/impl/di/LogoutModule.kt | 23 +++++++++++++++++++ ...tPresenter.kt => DirectLogoutPresenter.kt} | 9 +++----- ...erTest.kt => DirectLogoutPresenterTest.kt} | 20 ++++++++-------- .../impl/root/PreferencesRootPresenter.kt | 4 ++-- .../impl/root/PreferencesRootPresenterTest.kt | 18 +++------------ .../roomlist/impl/RoomListPresenter.kt | 4 ++-- .../roomlist/impl/RoomListPresenterTest.kt | 8 +------ 8 files changed, 44 insertions(+), 54 deletions(-) delete mode 100644 features/logout/api/src/main/kotlin/io/element/android/features/logout/api/direct/DirectLogoutPresenter.kt create mode 100644 features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/di/LogoutModule.kt rename features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/direct/{DefaultDirectLogoutPresenter.kt => DirectLogoutPresenter.kt} (90%) rename features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/direct/{DefaultDirectLogoutPresenterTest.kt => DirectLogoutPresenterTest.kt} (92%) diff --git a/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/direct/DirectLogoutPresenter.kt b/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/direct/DirectLogoutPresenter.kt deleted file mode 100644 index c20e04b4f0..0000000000 --- a/features/logout/api/src/main/kotlin/io/element/android/features/logout/api/direct/DirectLogoutPresenter.kt +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright 2023, 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.logout.api.direct - -import io.element.android.libraries.architecture.Presenter - -interface DirectLogoutPresenter : Presenter diff --git a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/di/LogoutModule.kt b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/di/LogoutModule.kt new file mode 100644 index 0000000000..fdd157fef0 --- /dev/null +++ b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/di/LogoutModule.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.logout.impl.di + +import com.squareup.anvil.annotations.ContributesTo +import dagger.Binds +import dagger.Module +import io.element.android.features.logout.api.direct.DirectLogoutState +import io.element.android.features.logout.impl.direct.DirectLogoutPresenter +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.di.SessionScope + +@ContributesTo(SessionScope::class) +@Module +interface LogoutModule { + @Binds + fun bindDirectLogoutPresenter(presenter: DirectLogoutPresenter): Presenter +} diff --git a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/direct/DefaultDirectLogoutPresenter.kt b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/direct/DirectLogoutPresenter.kt similarity index 90% rename from features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/direct/DefaultDirectLogoutPresenter.kt rename to features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/direct/DirectLogoutPresenter.kt index 1595747a31..4a5fead974 100644 --- a/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/direct/DefaultDirectLogoutPresenter.kt +++ b/features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/direct/DirectLogoutPresenter.kt @@ -14,14 +14,12 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope -import com.squareup.anvil.annotations.ContributesBinding import io.element.android.features.logout.api.direct.DirectLogoutEvents -import io.element.android.features.logout.api.direct.DirectLogoutPresenter import io.element.android.features.logout.api.direct.DirectLogoutState import io.element.android.features.logout.impl.tools.isBackingUp import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.runCatchingUpdatingState -import io.element.android.libraries.di.SessionScope import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.encryption.BackupUploadState import io.element.android.libraries.matrix.api.encryption.EncryptionService @@ -29,11 +27,10 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import javax.inject.Inject -@ContributesBinding(SessionScope::class) -class DefaultDirectLogoutPresenter @Inject constructor( +class DirectLogoutPresenter @Inject constructor( private val matrixClient: MatrixClient, private val encryptionService: EncryptionService, -) : DirectLogoutPresenter { +) : Presenter { @Composable override fun present(): DirectLogoutState { val localCoroutineScope = rememberCoroutineScope() diff --git a/features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/direct/DefaultDirectLogoutPresenterTest.kt b/features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/direct/DirectLogoutPresenterTest.kt similarity index 92% rename from features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/direct/DefaultDirectLogoutPresenterTest.kt rename to features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/direct/DirectLogoutPresenterTest.kt index e8bcece709..a490b7b10d 100644 --- a/features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/direct/DefaultDirectLogoutPresenterTest.kt +++ b/features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/direct/DirectLogoutPresenterTest.kt @@ -26,13 +26,13 @@ import kotlinx.coroutines.test.runTest import org.junit.Rule import org.junit.Test -class DefaultDirectLogoutPresenterTest { +class DirectLogoutPresenterTest { @get:Rule val warmUpRule = WarmUpRule() @Test fun `present - initial state`() = runTest { - val presenter = createDefaultDirectLogoutPresenter() + val presenter = createDirectLogoutPresenter() moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -44,7 +44,7 @@ class DefaultDirectLogoutPresenterTest { @Test fun `present - initial state - last session`() = runTest { - val presenter = createDefaultDirectLogoutPresenter( + val presenter = createDirectLogoutPresenter( encryptionService = FakeEncryptionService().apply { emitIsLastDevice(true) } @@ -66,7 +66,7 @@ class DefaultDirectLogoutPresenterTest { emit(BackupUploadState.Waiting) } ) - val presenter = createDefaultDirectLogoutPresenter( + val presenter = createDirectLogoutPresenter( encryptionService = encryptionService ) moleculeFlow(RecompositionMode.Immediate) { @@ -81,7 +81,7 @@ class DefaultDirectLogoutPresenterTest { @Test fun `present - logout then cancel`() = runTest { - val presenter = createDefaultDirectLogoutPresenter() + val presenter = createDirectLogoutPresenter() moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -97,7 +97,7 @@ class DefaultDirectLogoutPresenterTest { @Test fun `present - logout then confirm`() = runTest { - val presenter = createDefaultDirectLogoutPresenter() + val presenter = createDirectLogoutPresenter() moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -120,7 +120,7 @@ class DefaultDirectLogoutPresenterTest { throw A_THROWABLE } } - val presenter = createDefaultDirectLogoutPresenter( + val presenter = createDirectLogoutPresenter( matrixClient, ) moleculeFlow(RecompositionMode.Immediate) { @@ -152,7 +152,7 @@ class DefaultDirectLogoutPresenterTest { } } } - val presenter = createDefaultDirectLogoutPresenter( + val presenter = createDirectLogoutPresenter( matrixClient, ) moleculeFlow(RecompositionMode.Immediate) { @@ -179,10 +179,10 @@ class DefaultDirectLogoutPresenterTest { return awaitItem() } - private fun createDefaultDirectLogoutPresenter( + private fun createDirectLogoutPresenter( matrixClient: MatrixClient = FakeMatrixClient(), encryptionService: EncryptionService = FakeEncryptionService(), - ): DefaultDirectLogoutPresenter = DefaultDirectLogoutPresenter( + ): DirectLogoutPresenter = DirectLogoutPresenter( matrixClient = matrixClient, encryptionService = encryptionService, ) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt index f1507c45f4..7429b3dc4e 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt @@ -16,7 +16,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.produceState import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import io.element.android.features.logout.api.direct.DirectLogoutPresenter +import io.element.android.features.logout.api.direct.DirectLogoutState import io.element.android.features.preferences.impl.utils.ShowDeveloperSettingsProvider import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher @@ -42,7 +42,7 @@ class PreferencesRootPresenter @Inject constructor( private val snackbarDispatcher: SnackbarDispatcher, private val featureFlagService: FeatureFlagService, private val indicatorService: IndicatorService, - private val directLogoutPresenter: DirectLogoutPresenter, + private val directLogoutPresenter: Presenter, private val showDeveloperSettingsProvider: ShowDeveloperSettingsProvider, ) : Presenter { @Composable diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt index 774d52076a..5c2bc63add 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenterTest.kt @@ -7,16 +7,13 @@ package io.element.android.features.preferences.impl.root -import androidx.compose.runtime.Composable import app.cash.molecule.RecompositionMode import app.cash.molecule.moleculeFlow import app.cash.turbine.ReceiveTurbine import app.cash.turbine.test import com.google.common.truth.Truth.assertThat -import io.element.android.features.logout.api.direct.DirectLogoutPresenter -import io.element.android.features.logout.api.direct.DirectLogoutState +import io.element.android.features.logout.api.direct.aDirectLogoutState import io.element.android.features.preferences.impl.utils.ShowDeveloperSettingsProvider -import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.core.meta.BuildType import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher import io.element.android.libraries.featureflag.test.FakeFeatureFlagService @@ -38,12 +35,6 @@ class PreferencesRootPresenterTest { @get:Rule val warmUpRule = WarmUpRule() - private val aDirectLogoutState = DirectLogoutState( - canDoDirectSignOut = true, - logoutAction = AsyncAction.Uninitialized, - eventSink = {}, - ) - @Test fun `present - initial state`() = runTest { val matrixClient = FakeMatrixClient(canDeactivateAccountResult = { true }) @@ -78,7 +69,7 @@ class PreferencesRootPresenterTest { assertThat(loadedState.showLockScreenSettings).isTrue() assertThat(loadedState.showNotificationSettings).isTrue() assertThat(loadedState.canDeactivateAccount).isTrue() - assertThat(loadedState.directLogoutState).isEqualTo(aDirectLogoutState) + assertThat(loadedState.directLogoutState).isEqualTo(aDirectLogoutState()) assertThat(loadedState.snackbarMessage).isNull() } } @@ -148,10 +139,7 @@ class PreferencesRootPresenterTest { sessionVerificationService = sessionVerificationService, encryptionService = FakeEncryptionService(), ), - directLogoutPresenter = object : DirectLogoutPresenter { - @Composable - override fun present() = aDirectLogoutState - }, + directLogoutPresenter = { aDirectLogoutState() }, showDeveloperSettingsProvider = showDeveloperSettingsProvider, ) } diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt index 429bfbb698..a29ce74fd1 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt @@ -29,7 +29,7 @@ import io.element.android.features.invite.api.response.AcceptDeclineInviteState import io.element.android.features.invite.api.response.InviteData import io.element.android.features.leaveroom.api.LeaveRoomEvent import io.element.android.features.leaveroom.api.LeaveRoomPresenter -import io.element.android.features.logout.api.direct.DirectLogoutPresenter +import io.element.android.features.logout.api.direct.DirectLogoutState import io.element.android.features.networkmonitor.api.NetworkMonitor import io.element.android.features.networkmonitor.api.NetworkStatus import io.element.android.features.roomlist.impl.datasource.RoomListDataSource @@ -91,7 +91,7 @@ class RoomListPresenter @Inject constructor( private val acceptDeclineInvitePresenter: Presenter, private val fullScreenIntentPermissionsPresenter: FullScreenIntentPermissionsPresenter, private val notificationCleaner: NotificationCleaner, - private val logoutPresenter: DirectLogoutPresenter, + private val logoutPresenter: Presenter, ) : Presenter { private val encryptionService: EncryptionService = client.encryptionService() private val syncService: SyncService = client.syncService() diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt index 8264263760..536971b7b6 100644 --- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt +++ b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt @@ -7,7 +7,6 @@ package io.element.android.features.roomlist.impl -import androidx.compose.runtime.Composable import app.cash.molecule.RecompositionMode import app.cash.molecule.moleculeFlow import app.cash.turbine.test @@ -19,7 +18,6 @@ import io.element.android.features.invite.api.response.anAcceptDeclineInviteStat import io.element.android.features.leaveroom.api.LeaveRoomEvent import io.element.android.features.leaveroom.api.LeaveRoomPresenter import io.element.android.features.leaveroom.fake.FakeLeaveRoomPresenter -import io.element.android.features.logout.api.direct.DirectLogoutPresenter import io.element.android.features.logout.api.direct.aDirectLogoutState import io.element.android.features.networkmonitor.api.NetworkMonitor import io.element.android.features.networkmonitor.test.FakeNetworkMonitor @@ -686,10 +684,6 @@ class RoomListPresenterTest { searchPresenter: Presenter = Presenter { aRoomListSearchState() }, acceptDeclineInvitePresenter: Presenter = Presenter { anAcceptDeclineInviteState() }, notificationCleaner: NotificationCleaner = FakeNotificationCleaner(), - logoutPresenter: DirectLogoutPresenter = object : DirectLogoutPresenter { - @Composable - override fun present() = aDirectLogoutState() - }, ) = RoomListPresenter( client = client, networkMonitor = networkMonitor, @@ -717,6 +711,6 @@ class RoomListPresenterTest { acceptDeclineInvitePresenter = acceptDeclineInvitePresenter, fullScreenIntentPermissionsPresenter = FakeFullScreenIntentPermissionsPresenter(), notificationCleaner = notificationCleaner, - logoutPresenter = logoutPresenter, + logoutPresenter = { aDirectLogoutState() }, ) } From 241dae14f44bb97281531634ac1d627d46e4b0f8 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 09:29:31 +0200 Subject: [PATCH 113/151] Remove dependencies to other presenters to FullScreenIntentPermissionsPresenter. Also do some renaming since FullScreenIntentPermissionsPresenter interface can be removed. --- features/preferences/impl/build.gradle.kts | 1 - .../NotificationSettingsPresenter.kt | 4 +-- .../NotificationSettingsStateProvider.kt | 13 +--------- .../NotificationSettingsPresenterTest.kt | 16 ++++++------ features/roomlist/impl/build.gradle.kts | 1 - .../impl/RoomListContentStateProvider.kt | 13 +--------- .../roomlist/impl/RoomListPresenter.kt | 4 +-- .../FullScreenIntentPermissionBanner.kt | 2 +- .../roomlist/impl/RoomListPresenterTest.kt | 4 +-- .../FullScreenIntentPermissionsPresenter.kt | 12 --------- ...ullScreenIntentPermissionsStateProvider.kt | 20 +++++++++++++++ .../fullscreenintent/impl/build.gradle.kts | 1 - ...> FullScreenIntentPermissionsPresenter.kt} | 8 +++--- .../impl/di/FullScreenIntentModule.kt | 23 +++++++++++++++++ ...llScreenIntentPermissionsPresenterTest.kt} | 6 ++--- .../fullscreenintent/test/build.gradle.kts | 19 -------------- ...akeFullScreenIntentPermissionsPresenter.kt | 25 ------------------- 17 files changed, 66 insertions(+), 106 deletions(-) delete mode 100644 libraries/fullscreenintent/api/src/main/kotlin/io/element/android/libraries/fullscreenintent/api/FullScreenIntentPermissionsPresenter.kt create mode 100644 libraries/fullscreenintent/api/src/main/kotlin/io/element/android/libraries/fullscreenintent/api/FullScreenIntentPermissionsStateProvider.kt rename libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/{DefaultFullScreenIntentPermissionsPresenter.kt => FullScreenIntentPermissionsPresenter.kt} (92%) create mode 100644 libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/di/FullScreenIntentModule.kt rename libraries/fullscreenintent/impl/src/test/kotlin/io/element/android/libraries/fullscreenintent/test/{DefaultFullScreenIntentPermissionsPresenterTest.kt => FullScreenIntentPermissionsPresenterTest.kt} (96%) delete mode 100644 libraries/fullscreenintent/test/build.gradle.kts delete mode 100644 libraries/fullscreenintent/test/src/main/kotlin/io/element/android/libraries/fullscreenintent/test/FakeFullScreenIntentPermissionsPresenter.kt diff --git a/features/preferences/impl/build.gradle.kts b/features/preferences/impl/build.gradle.kts index 7cd76442bf..5dff5a65d4 100644 --- a/features/preferences/impl/build.gradle.kts +++ b/features/preferences/impl/build.gradle.kts @@ -83,7 +83,6 @@ dependencies { testImplementation(projects.features.logout.test) testImplementation(projects.libraries.indicator.impl) testImplementation(projects.libraries.pushproviders.test) - testImplementation(projects.libraries.fullscreenintent.test) testImplementation(projects.features.logout.impl) testImplementation(projects.services.analytics.test) testImplementation(projects.services.toolbox.test) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenter.kt index ecfe60e0f9..66574f4c28 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenter.kt @@ -22,7 +22,7 @@ import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.runUpdatingStateNoSuccess -import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsPresenter +import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService import io.element.android.libraries.matrix.api.room.RoomNotificationMode @@ -47,7 +47,7 @@ class NotificationSettingsPresenter @Inject constructor( private val matrixClient: MatrixClient, private val pushService: PushService, private val systemNotificationsEnabledProvider: SystemNotificationsEnabledProvider, - private val fullScreenIntentPermissionsPresenter: FullScreenIntentPermissionsPresenter, + private val fullScreenIntentPermissionsPresenter: Presenter, ) : Presenter { @Composable override fun present(): NotificationSettingsState { diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsStateProvider.kt index 25b6bdacc9..0b1fcf43a8 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsStateProvider.kt @@ -11,6 +11,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState +import io.element.android.libraries.fullscreenintent.api.aFullScreenIntentPermissionsState import io.element.android.libraries.matrix.api.room.RoomNotificationMode import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList @@ -87,15 +88,3 @@ fun aInvalidNotificationSettingsState( fullScreenIntentPermissionsState = aFullScreenIntentPermissionsState(), eventSink = eventSink, ) - -internal fun aFullScreenIntentPermissionsState( - permissionGranted: Boolean = true, - shouldDisplay: Boolean = false, - openFullScreenIntentSettings: () -> Unit = {}, - dismissFullScreenIntentBanner: () -> Unit = {}, -) = FullScreenIntentPermissionsState( - permissionGranted = permissionGranted, - shouldDisplayBanner = shouldDisplay, - openFullScreenIntentSettings = openFullScreenIntentSettings, - dismissFullScreenIntentBanner = dismissFullScreenIntentBanner, -) diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenterTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenterTest.kt index 150b761432..96755a9717 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenterTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenterTest.kt @@ -12,7 +12,8 @@ import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.libraries.architecture.AsyncData -import io.element.android.libraries.fullscreenintent.test.FakeFullScreenIntentPermissionsPresenter +import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState +import io.element.android.libraries.fullscreenintent.api.aFullScreenIntentPermissionsState import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.room.RoomNotificationMode import io.element.android.libraries.matrix.test.A_THROWABLE @@ -263,12 +264,11 @@ class NotificationSettingsPresenterTest { @Test fun `present - RefreshSystemNotificationsEnabled also refreshes fullScreenIntentState`() = runTest { - val fullScreenIntentPermissionsPresenter = FakeFullScreenIntentPermissionsPresenter().apply { - state = state.copy(permissionGranted = false) - } + var lambdaResult = aFullScreenIntentPermissionsState(permissionGranted = false) + val fullScreenIntentPermissionsStateLambda = { lambdaResult } val presenter = createNotificationSettingsPresenter( pushService = createFakePushService(), - fullScreenIntentPermissionsPresenter = fullScreenIntentPermissionsPresenter, + fullScreenIntentPermissionsStateLambda = fullScreenIntentPermissionsStateLambda, ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -277,7 +277,7 @@ class NotificationSettingsPresenterTest { assertThat(initialState.fullScreenIntentPermissionsState.permissionGranted).isFalse() // Change the notification settings - fullScreenIntentPermissionsPresenter.state = fullScreenIntentPermissionsPresenter.state.copy(permissionGranted = true) + lambdaResult = lambdaResult.copy(permissionGranted = true) // Check it's not changed unless we refresh expectNoEvents() @@ -336,7 +336,7 @@ class NotificationSettingsPresenterTest { private fun createNotificationSettingsPresenter( notificationSettingsService: FakeNotificationSettingsService = FakeNotificationSettingsService(), pushService: PushService = FakePushService(), - fullScreenIntentPermissionsPresenter: FakeFullScreenIntentPermissionsPresenter = FakeFullScreenIntentPermissionsPresenter() + fullScreenIntentPermissionsStateLambda: () -> FullScreenIntentPermissionsState = { aFullScreenIntentPermissionsState() }, ): NotificationSettingsPresenter { val matrixClient = FakeMatrixClient(notificationSettingsService = notificationSettingsService) return NotificationSettingsPresenter( @@ -345,7 +345,7 @@ class NotificationSettingsPresenterTest { matrixClient = matrixClient, pushService = pushService, systemNotificationsEnabledProvider = FakeSystemNotificationsEnabledProvider(), - fullScreenIntentPermissionsPresenter = fullScreenIntentPermissionsPresenter, + fullScreenIntentPermissionsPresenter = { fullScreenIntentPermissionsStateLambda() }, ) } } diff --git a/features/roomlist/impl/build.gradle.kts b/features/roomlist/impl/build.gradle.kts index d6b30a2b17..c0e219016f 100644 --- a/features/roomlist/impl/build.gradle.kts +++ b/features/roomlist/impl/build.gradle.kts @@ -65,7 +65,6 @@ dependencies { testImplementation(projects.libraries.dateformatter.test) testImplementation(projects.libraries.eventformatter.test) testImplementation(projects.libraries.indicator.impl) - testImplementation(projects.libraries.fullscreenintent.test) testImplementation(projects.libraries.permissions.noop) testImplementation(projects.libraries.permissions.test) testImplementation(projects.libraries.preferences.test) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContentStateProvider.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContentStateProvider.kt index 6656ca8231..8b216f3854 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContentStateProvider.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContentStateProvider.kt @@ -10,6 +10,7 @@ package io.element.android.features.roomlist.impl import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.roomlist.impl.model.RoomListRoomSummary import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState +import io.element.android.libraries.fullscreenintent.api.aFullScreenIntentPermissionsState import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf @@ -37,15 +38,3 @@ internal fun aRoomsContentState( internal fun aSkeletonContentState() = RoomListContentState.Skeleton(16) internal fun anEmptyContentState() = RoomListContentState.Empty - -internal fun aFullScreenIntentPermissionsState( - permissionGranted: Boolean = true, - shouldDisplay: Boolean = false, - openFullScreenIntentSettings: () -> Unit = {}, - dismissFullScreenIntentBanner: () -> Unit = {}, -) = FullScreenIntentPermissionsState( - permissionGranted = permissionGranted, - shouldDisplayBanner = shouldDisplay, - openFullScreenIntentSettings = openFullScreenIntentSettings, - dismissFullScreenIntentBanner = dismissFullScreenIntentBanner, -) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt index a29ce74fd1..31a3ea3f01 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt @@ -44,7 +44,7 @@ import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatch import io.element.android.libraries.designsystem.utils.snackbar.collectSnackbarMessageAsState import io.element.android.libraries.featureflag.api.FeatureFlagService import io.element.android.libraries.featureflag.api.FeatureFlags -import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsPresenter +import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState import io.element.android.libraries.indicator.api.IndicatorService import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.core.RoomId @@ -89,7 +89,7 @@ class RoomListPresenter @Inject constructor( private val sessionPreferencesStore: SessionPreferencesStore, private val analyticsService: AnalyticsService, private val acceptDeclineInvitePresenter: Presenter, - private val fullScreenIntentPermissionsPresenter: FullScreenIntentPermissionsPresenter, + private val fullScreenIntentPermissionsPresenter: Presenter, private val notificationCleaner: NotificationCleaner, private val logoutPresenter: Presenter, ) : Presenter { diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/FullScreenIntentPermissionBanner.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/FullScreenIntentPermissionBanner.kt index 662cca8ca9..73c6210b77 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/FullScreenIntentPermissionBanner.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/FullScreenIntentPermissionBanner.kt @@ -10,11 +10,11 @@ package io.element.android.features.roomlist.impl.components import androidx.compose.runtime.Composable import androidx.compose.ui.res.stringResource import io.element.android.features.roomlist.impl.R -import io.element.android.features.roomlist.impl.aFullScreenIntentPermissionsState import io.element.android.libraries.designsystem.atomic.molecules.DialogLikeBannerMolecule import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState +import io.element.android.libraries.fullscreenintent.api.aFullScreenIntentPermissionsState @Composable fun FullScreenIntentPermissionBanner(state: FullScreenIntentPermissionsState) { diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt index 536971b7b6..5c91716c31 100644 --- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt +++ b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt @@ -38,7 +38,7 @@ import io.element.android.libraries.eventformatter.api.RoomLastMessageFormatter import io.element.android.libraries.eventformatter.test.FakeRoomLastMessageFormatter import io.element.android.libraries.featureflag.api.FeatureFlagService import io.element.android.libraries.featureflag.test.FakeFeatureFlagService -import io.element.android.libraries.fullscreenintent.test.FakeFullScreenIntentPermissionsPresenter +import io.element.android.libraries.fullscreenintent.api.aFullScreenIntentPermissionsState import io.element.android.libraries.indicator.impl.DefaultIndicatorService import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.core.RoomId @@ -709,7 +709,7 @@ class RoomListPresenterTest { filtersPresenter = filtersPresenter, analyticsService = analyticsService, acceptDeclineInvitePresenter = acceptDeclineInvitePresenter, - fullScreenIntentPermissionsPresenter = FakeFullScreenIntentPermissionsPresenter(), + fullScreenIntentPermissionsPresenter = { aFullScreenIntentPermissionsState() }, notificationCleaner = notificationCleaner, logoutPresenter = { aDirectLogoutState() }, ) diff --git a/libraries/fullscreenintent/api/src/main/kotlin/io/element/android/libraries/fullscreenintent/api/FullScreenIntentPermissionsPresenter.kt b/libraries/fullscreenintent/api/src/main/kotlin/io/element/android/libraries/fullscreenintent/api/FullScreenIntentPermissionsPresenter.kt deleted file mode 100644 index 4e56a4f938..0000000000 --- a/libraries/fullscreenintent/api/src/main/kotlin/io/element/android/libraries/fullscreenintent/api/FullScreenIntentPermissionsPresenter.kt +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.libraries.fullscreenintent.api - -import io.element.android.libraries.architecture.Presenter - -interface FullScreenIntentPermissionsPresenter : Presenter diff --git a/libraries/fullscreenintent/api/src/main/kotlin/io/element/android/libraries/fullscreenintent/api/FullScreenIntentPermissionsStateProvider.kt b/libraries/fullscreenintent/api/src/main/kotlin/io/element/android/libraries/fullscreenintent/api/FullScreenIntentPermissionsStateProvider.kt new file mode 100644 index 0000000000..d4e9417128 --- /dev/null +++ b/libraries/fullscreenintent/api/src/main/kotlin/io/element/android/libraries/fullscreenintent/api/FullScreenIntentPermissionsStateProvider.kt @@ -0,0 +1,20 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.fullscreenintent.api + +fun aFullScreenIntentPermissionsState( + permissionGranted: Boolean = true, + shouldDisplay: Boolean = false, + openFullScreenIntentSettings: () -> Unit = {}, + dismissFullScreenIntentBanner: () -> Unit = {}, +) = FullScreenIntentPermissionsState( + permissionGranted = permissionGranted, + shouldDisplayBanner = shouldDisplay, + openFullScreenIntentSettings = openFullScreenIntentSettings, + dismissFullScreenIntentBanner = dismissFullScreenIntentBanner, +) diff --git a/libraries/fullscreenintent/impl/build.gradle.kts b/libraries/fullscreenintent/impl/build.gradle.kts index a467e11fb2..cd32e316b0 100644 --- a/libraries/fullscreenintent/impl/build.gradle.kts +++ b/libraries/fullscreenintent/impl/build.gradle.kts @@ -27,7 +27,6 @@ dependencies { implementation(projects.services.toolbox.api) implementation(libs.androidx.datastore.preferences) - testImplementation(projects.libraries.fullscreenintent.test) testImplementation(libs.test.junit) testImplementation(libs.coroutines.test) testImplementation(libs.molecule.runtime) diff --git a/libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/DefaultFullScreenIntentPermissionsPresenter.kt b/libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/FullScreenIntentPermissionsPresenter.kt similarity index 92% rename from libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/DefaultFullScreenIntentPermissionsPresenter.kt rename to libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/FullScreenIntentPermissionsPresenter.kt index 939ecd474a..bc1dd24956 100644 --- a/libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/DefaultFullScreenIntentPermissionsPresenter.kt +++ b/libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/FullScreenIntentPermissionsPresenter.kt @@ -19,11 +19,10 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.core.app.NotificationManagerCompat import androidx.datastore.preferences.core.booleanPreferencesKey import androidx.datastore.preferences.core.edit -import com.squareup.anvil.annotations.ContributesBinding +import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.meta.BuildMeta import io.element.android.libraries.di.AppScope import io.element.android.libraries.di.SingleIn -import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsPresenter import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState import io.element.android.libraries.preferences.api.store.PreferenceDataStoreFactory import io.element.android.services.toolbox.api.intent.ExternalIntentLauncher @@ -33,14 +32,13 @@ import kotlinx.coroutines.launch import javax.inject.Inject @SingleIn(AppScope::class) -@ContributesBinding(AppScope::class) -class DefaultFullScreenIntentPermissionsPresenter @Inject constructor( +class FullScreenIntentPermissionsPresenter @Inject constructor( private val buildVersionSdkIntProvider: BuildVersionSdkIntProvider, private val externalIntentLauncher: ExternalIntentLauncher, private val buildMeta: BuildMeta, private val notificationManagerCompat: NotificationManagerCompat, preferencesDataStoreFactory: PreferenceDataStoreFactory, -) : FullScreenIntentPermissionsPresenter { +) : Presenter { companion object { private const val PREF_KEY_FULL_SCREEN_INTENT_BANNER_DISMISSED = "PREF_KEY_FULL_SCREEN_INTENT_BANNER_DISMISSED" } diff --git a/libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/di/FullScreenIntentModule.kt b/libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/di/FullScreenIntentModule.kt new file mode 100644 index 0000000000..2dca4dbbc7 --- /dev/null +++ b/libraries/fullscreenintent/impl/src/main/kotlin/io/element/android/libraries/fullscreenintent/impl/di/FullScreenIntentModule.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.fullscreenintent.impl.di + +import com.squareup.anvil.annotations.ContributesTo +import dagger.Binds +import dagger.Module +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.di.AppScope +import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState +import io.element.android.libraries.fullscreenintent.impl.FullScreenIntentPermissionsPresenter + +@ContributesTo(AppScope::class) +@Module +interface FullScreenIntentModule { + @Binds + fun bindFullScreenIntentPermissionsPresenter(presenter: FullScreenIntentPermissionsPresenter): Presenter +} diff --git a/libraries/fullscreenintent/impl/src/test/kotlin/io/element/android/libraries/fullscreenintent/test/DefaultFullScreenIntentPermissionsPresenterTest.kt b/libraries/fullscreenintent/impl/src/test/kotlin/io/element/android/libraries/fullscreenintent/test/FullScreenIntentPermissionsPresenterTest.kt similarity index 96% rename from libraries/fullscreenintent/impl/src/test/kotlin/io/element/android/libraries/fullscreenintent/test/DefaultFullScreenIntentPermissionsPresenterTest.kt rename to libraries/fullscreenintent/impl/src/test/kotlin/io/element/android/libraries/fullscreenintent/test/FullScreenIntentPermissionsPresenterTest.kt index 9de5287f42..415b53befd 100644 --- a/libraries/fullscreenintent/impl/src/test/kotlin/io/element/android/libraries/fullscreenintent/test/DefaultFullScreenIntentPermissionsPresenterTest.kt +++ b/libraries/fullscreenintent/impl/src/test/kotlin/io/element/android/libraries/fullscreenintent/test/FullScreenIntentPermissionsPresenterTest.kt @@ -15,7 +15,7 @@ import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.libraries.core.meta.BuildMeta -import io.element.android.libraries.fullscreenintent.impl.DefaultFullScreenIntentPermissionsPresenter +import io.element.android.libraries.fullscreenintent.impl.FullScreenIntentPermissionsPresenter import io.element.android.libraries.matrix.test.core.aBuildMeta import io.element.android.libraries.preferences.test.FakePreferenceDataStoreFactory import io.element.android.services.toolbox.api.intent.ExternalIntentLauncher @@ -32,7 +32,7 @@ import org.junit.Rule import org.junit.Test @OptIn(ExperimentalCoroutinesApi::class) -class DefaultFullScreenIntentPermissionsPresenterTest { +class FullScreenIntentPermissionsPresenterTest { @get:Rule val warmUpRule = WarmUpRule() @@ -129,7 +129,7 @@ class DefaultFullScreenIntentPermissionsPresenterTest { externalIntentLauncher: ExternalIntentLauncher = FakeExternalIntentLauncher(), buildMeta: BuildMeta = aBuildMeta(), notificationManagerCompat: NotificationManagerCompat = mockk(relaxed = true) - ) = DefaultFullScreenIntentPermissionsPresenter( + ) = FullScreenIntentPermissionsPresenter( buildVersionSdkIntProvider = buildVersionSdkIntProvider, externalIntentLauncher = externalIntentLauncher, buildMeta = buildMeta, diff --git a/libraries/fullscreenintent/test/build.gradle.kts b/libraries/fullscreenintent/test/build.gradle.kts deleted file mode 100644 index 01712589e3..0000000000 --- a/libraries/fullscreenintent/test/build.gradle.kts +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -plugins { - id("io.element.android-compose-library") -} - -android { - namespace = "io.element.android.libraries.fullscreenintent.test" -} - -dependencies { - api(projects.libraries.fullscreenintent.api) - implementation(projects.libraries.architecture) -} diff --git a/libraries/fullscreenintent/test/src/main/kotlin/io/element/android/libraries/fullscreenintent/test/FakeFullScreenIntentPermissionsPresenter.kt b/libraries/fullscreenintent/test/src/main/kotlin/io/element/android/libraries/fullscreenintent/test/FakeFullScreenIntentPermissionsPresenter.kt deleted file mode 100644 index f1613b9fbb..0000000000 --- a/libraries/fullscreenintent/test/src/main/kotlin/io/element/android/libraries/fullscreenintent/test/FakeFullScreenIntentPermissionsPresenter.kt +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.libraries.fullscreenintent.test - -import androidx.compose.runtime.Composable -import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsPresenter -import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState - -class FakeFullScreenIntentPermissionsPresenter : FullScreenIntentPermissionsPresenter { - var state = FullScreenIntentPermissionsState( - permissionGranted = true, - shouldDisplayBanner = false, - dismissFullScreenIntentBanner = {}, - openFullScreenIntentSettings = {}, - ) - @Composable - override fun present(): FullScreenIntentPermissionsState { - return state - } -} From 8db9c22f97fd9a9cc4562bd72f0da84273380a31 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 09:53:34 +0200 Subject: [PATCH 114/151] Remove dependencies to other presenters to AnalyticsPreferencesPresenter. --- .../AnalyticsPreferencesPresenter.kt | 12 ---------- .../analytics/impl/di/AnalyticsModule.kt | 23 +++++++++++++++++++ ...er.kt => AnalyticsPreferencesPresenter.kt} | 9 +++----- .../AnalyticsPreferencesPresenterTest.kt | 6 ++--- .../analytics/AnalyticsSettingsPresenter.kt | 8 +++---- .../impl/analytics/AnalyticsSettingsState.kt | 2 +- .../AnalyticsSettingsStateProvider.kt | 2 +- .../impl/analytics/AnalyticsSettingsView.kt | 2 +- .../AnalyticsSettingsPresenterTest.kt | 9 +++----- 9 files changed, 39 insertions(+), 34 deletions(-) delete mode 100644 features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesPresenter.kt create mode 100644 features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/di/AnalyticsModule.kt rename features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/preferences/{DefaultAnalyticsPreferencesPresenter.kt => AnalyticsPreferencesPresenter.kt} (83%) diff --git a/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesPresenter.kt b/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesPresenter.kt deleted file mode 100644 index 81108b2376..0000000000 --- a/features/analytics/api/src/main/kotlin/io/element/android/features/analytics/api/preferences/AnalyticsPreferencesPresenter.kt +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Copyright 2023, 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.analytics.api.preferences - -import io.element.android.libraries.architecture.Presenter - -interface AnalyticsPreferencesPresenter : Presenter diff --git a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/di/AnalyticsModule.kt b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/di/AnalyticsModule.kt new file mode 100644 index 0000000000..a8172896f8 --- /dev/null +++ b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/di/AnalyticsModule.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.analytics.impl.di + +import com.squareup.anvil.annotations.ContributesTo +import dagger.Binds +import dagger.Module +import io.element.android.features.analytics.api.preferences.AnalyticsPreferencesState +import io.element.android.features.analytics.impl.preferences.AnalyticsPreferencesPresenter +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.di.AppScope + +@ContributesTo(AppScope::class) +@Module +interface AnalyticsModule { + @Binds + fun bindAnalyticsPreferencesPresenter(presenter: AnalyticsPreferencesPresenter): Presenter +} diff --git a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/preferences/DefaultAnalyticsPreferencesPresenter.kt b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/preferences/AnalyticsPreferencesPresenter.kt similarity index 83% rename from features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/preferences/DefaultAnalyticsPreferencesPresenter.kt rename to features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/preferences/AnalyticsPreferencesPresenter.kt index b715f73f6f..22cb8f603c 100644 --- a/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/preferences/DefaultAnalyticsPreferencesPresenter.kt +++ b/features/analytics/impl/src/main/kotlin/io/element/android/features/analytics/impl/preferences/AnalyticsPreferencesPresenter.kt @@ -10,23 +10,20 @@ package io.element.android.features.analytics.impl.preferences import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.rememberCoroutineScope -import com.squareup.anvil.annotations.ContributesBinding import io.element.android.appconfig.AnalyticsConfig import io.element.android.features.analytics.api.AnalyticsOptInEvents -import io.element.android.features.analytics.api.preferences.AnalyticsPreferencesPresenter import io.element.android.features.analytics.api.preferences.AnalyticsPreferencesState +import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.meta.BuildMeta -import io.element.android.libraries.di.AppScope import io.element.android.services.analytics.api.AnalyticsService import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import javax.inject.Inject -@ContributesBinding(AppScope::class) -class DefaultAnalyticsPreferencesPresenter @Inject constructor( +class AnalyticsPreferencesPresenter @Inject constructor( private val analyticsService: AnalyticsService, private val buildMeta: BuildMeta, -) : AnalyticsPreferencesPresenter { +) : Presenter { @Composable override fun present(): AnalyticsPreferencesState { val localCoroutineScope = rememberCoroutineScope() diff --git a/features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/preferences/AnalyticsPreferencesPresenterTest.kt b/features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/preferences/AnalyticsPreferencesPresenterTest.kt index 14f6badfe8..1aa2bc26b4 100644 --- a/features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/preferences/AnalyticsPreferencesPresenterTest.kt +++ b/features/analytics/impl/src/test/kotlin/io/element/android/features/analytics/impl/preferences/AnalyticsPreferencesPresenterTest.kt @@ -25,7 +25,7 @@ class AnalyticsPreferencesPresenterTest { @Test fun `present - initial state available`() = runTest { - val presenter = DefaultAnalyticsPreferencesPresenter( + val presenter = AnalyticsPreferencesPresenter( FakeAnalyticsService(isEnabled = true, didAskUserConsent = true), aBuildMeta() ) @@ -41,7 +41,7 @@ class AnalyticsPreferencesPresenterTest { @Test fun `present - initial state not available`() = runTest { - val presenter = DefaultAnalyticsPreferencesPresenter( + val presenter = AnalyticsPreferencesPresenter( FakeAnalyticsService(isEnabled = false, didAskUserConsent = false), aBuildMeta() ) @@ -55,7 +55,7 @@ class AnalyticsPreferencesPresenterTest { @Test fun `present - enable and disable`() = runTest { - val presenter = DefaultAnalyticsPreferencesPresenter( + val presenter = AnalyticsPreferencesPresenter( FakeAnalyticsService(isEnabled = true, didAskUserConsent = true), aBuildMeta() ) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsPresenter.kt index c7d9c521fa..6056e53bf9 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsPresenter.kt @@ -8,19 +8,19 @@ package io.element.android.features.preferences.impl.analytics import androidx.compose.runtime.Composable -import io.element.android.features.analytics.api.preferences.AnalyticsPreferencesPresenter +import io.element.android.features.analytics.api.preferences.AnalyticsPreferencesState import io.element.android.libraries.architecture.Presenter import javax.inject.Inject class AnalyticsSettingsPresenter @Inject constructor( - private val analyticsPresenter: AnalyticsPreferencesPresenter, + private val analyticsPreferencesPresenter: Presenter, ) : Presenter { @Composable override fun present(): AnalyticsSettingsState { - val analyticsState = analyticsPresenter.present() + val analyticsPreferencesState = analyticsPreferencesPresenter.present() return AnalyticsSettingsState( - analyticsState = analyticsState, + analyticsPreferencesState = analyticsPreferencesState, ) } } diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsState.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsState.kt index f86e5aca5f..948369f8b8 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsState.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsState.kt @@ -11,5 +11,5 @@ import io.element.android.features.analytics.api.preferences.AnalyticsPreference // Do not use default value, so no member get forgotten in the presenters. data class AnalyticsSettingsState( - val analyticsState: AnalyticsPreferencesState, + val analyticsPreferencesState: AnalyticsPreferencesState, ) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsStateProvider.kt index 97f8a72785..fc58b7a255 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/analytics/AnalyticsSettingsStateProvider.kt @@ -18,5 +18,5 @@ open class AnalyticsSettingsStateProvider : PreviewParameterProvider Date: Mon, 7 Oct 2024 10:05:42 +0200 Subject: [PATCH 115/151] Remove dependencies to other presenters to ChangeServerPresenter. --- .../features/login/impl/di/LoginModule.kt | 23 ++++++++++++ .../ChangeAccountProviderPresenter.kt | 4 +-- .../SearchAccountProviderPresenter.kt | 4 +-- .../ChangeAccountProviderPresenterTest.kt | 10 ++---- .../SearchAccountProviderPresenterTest.kt | 36 +++++-------------- 5 files changed, 38 insertions(+), 39 deletions(-) create mode 100644 features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/LoginModule.kt diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/LoginModule.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/LoginModule.kt new file mode 100644 index 0000000000..02b32ad66d --- /dev/null +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/LoginModule.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.login.impl.di + +import com.squareup.anvil.annotations.ContributesTo +import dagger.Binds +import dagger.Module +import io.element.android.features.login.impl.changeserver.ChangeServerPresenter +import io.element.android.features.login.impl.changeserver.ChangeServerState +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.di.AppScope + +@ContributesTo(AppScope::class) +@Module +interface LoginModule { + @Binds + fun bindChangeServerPresenter(presenter: ChangeServerPresenter): Presenter +} diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt index 83f0a4f1b3..de68fdd3f4 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenter.kt @@ -10,12 +10,12 @@ package io.element.android.features.login.impl.screens.changeaccountprovider import androidx.compose.runtime.Composable import io.element.android.appconfig.AuthenticationConfig import io.element.android.features.login.impl.accountprovider.AccountProvider -import io.element.android.features.login.impl.changeserver.ChangeServerPresenter +import io.element.android.features.login.impl.changeserver.ChangeServerState import io.element.android.libraries.architecture.Presenter import javax.inject.Inject class ChangeAccountProviderPresenter @Inject constructor( - private val changeServerPresenter: ChangeServerPresenter, + private val changeServerPresenter: Presenter, ) : Presenter { @Composable override fun present(): ChangeAccountProviderState { diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenter.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenter.kt index 06ae31d6ca..710f18a4f5 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenter.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenter.kt @@ -15,7 +15,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue -import io.element.android.features.login.impl.changeserver.ChangeServerPresenter +import io.element.android.features.login.impl.changeserver.ChangeServerState import io.element.android.features.login.impl.resolver.HomeserverData import io.element.android.features.login.impl.resolver.HomeserverResolver import io.element.android.libraries.architecture.AsyncData @@ -27,7 +27,7 @@ import javax.inject.Inject class SearchAccountProviderPresenter @Inject constructor( private val homeserverResolver: HomeserverResolver, - private val changeServerPresenter: ChangeServerPresenter, + private val changeServerPresenter: Presenter, ) : Presenter { @Composable override fun present(): SearchAccountProviderState { diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt index bd653bbfae..6f71edf6f1 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderPresenterTest.kt @@ -12,9 +12,7 @@ import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.features.login.impl.accountprovider.AccountProvider -import io.element.android.features.login.impl.accountprovider.AccountProviderDataSource -import io.element.android.features.login.impl.changeserver.ChangeServerPresenter -import io.element.android.libraries.matrix.test.auth.FakeMatrixAuthenticationService +import io.element.android.features.login.impl.changeserver.aChangeServerState import io.element.android.tests.testutils.WarmUpRule import kotlinx.coroutines.test.runTest import org.junit.Rule @@ -26,12 +24,8 @@ class ChangeAccountProviderPresenterTest { @Test fun `present - initial state`() = runTest { - val changeServerPresenter = ChangeServerPresenter( - FakeMatrixAuthenticationService(), - AccountProviderDataSource() - ) val presenter = ChangeAccountProviderPresenter( - changeServerPresenter + changeServerPresenter = { aChangeServerState() } ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt index a7529643ba..91b2698d97 100644 --- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt +++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/searchaccountprovider/SearchAccountProviderPresenterTest.kt @@ -11,15 +11,13 @@ import app.cash.molecule.RecompositionMode import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat -import io.element.android.features.login.impl.accountprovider.AccountProviderDataSource -import io.element.android.features.login.impl.changeserver.ChangeServerPresenter +import io.element.android.features.login.impl.changeserver.aChangeServerState import io.element.android.features.login.impl.resolver.HomeserverResolver import io.element.android.features.login.impl.resolver.network.FakeWellknownRequest import io.element.android.features.login.impl.resolver.network.WellKnown import io.element.android.features.login.impl.resolver.network.WellKnownBaseConfig import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.test.A_HOMESERVER_URL -import io.element.android.libraries.matrix.test.auth.FakeMatrixAuthenticationService import io.element.android.tests.testutils.WarmUpRule import io.element.android.tests.testutils.testCoroutineDispatchers import kotlinx.coroutines.test.runTest @@ -33,13 +31,9 @@ class SearchAccountProviderPresenterTest { @Test fun `present - initial state`() = runTest { val fakeWellknownRequest = FakeWellknownRequest() - val changeServerPresenter = ChangeServerPresenter( - FakeMatrixAuthenticationService(), - AccountProviderDataSource() - ) val presenter = SearchAccountProviderPresenter( - HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest), - changeServerPresenter + homeserverResolver = HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest), + changeServerPresenter = { aChangeServerState() } ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -53,13 +47,9 @@ class SearchAccountProviderPresenterTest { @Test fun `present - enter text no result`() = runTest { val fakeWellknownRequest = FakeWellknownRequest() - val changeServerPresenter = ChangeServerPresenter( - FakeMatrixAuthenticationService(), - AccountProviderDataSource() - ) val presenter = SearchAccountProviderPresenter( - HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest), - changeServerPresenter + homeserverResolver = HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest), + changeServerPresenter = { aChangeServerState() } ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -77,13 +67,9 @@ class SearchAccountProviderPresenterTest { @Test fun `present - enter valid url no wellknown`() = runTest { val fakeWellknownRequest = FakeWellknownRequest() - val changeServerPresenter = ChangeServerPresenter( - FakeMatrixAuthenticationService(), - AccountProviderDataSource() - ) val presenter = SearchAccountProviderPresenter( - HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest), - changeServerPresenter + homeserverResolver = HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest), + changeServerPresenter = { aChangeServerState() } ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -112,13 +98,9 @@ class SearchAccountProviderPresenterTest { "https://test.io" to aWellKnown(), ) ) - val changeServerPresenter = ChangeServerPresenter( - FakeMatrixAuthenticationService(), - AccountProviderDataSource() - ) val presenter = SearchAccountProviderPresenter( - HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest), - changeServerPresenter + homeserverResolver = HomeserverResolver(testCoroutineDispatchers(), fakeWellknownRequest), + changeServerPresenter = { aChangeServerState() } ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() From 0a7de7cc7d4b62b0e76387f2f1a917f979ed279e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 10:36:14 +0200 Subject: [PATCH 116/151] Remove dependencies to other presenters to LeaveRoomPresenter. --- .../leaveroom/api/LeaveRoomPresenter.kt | 16 ------------- ...RoomPresenter.kt => LeaveRoomPresenter.kt} | 9 +++---- .../leaveroom/impl/di/LeaveRoomModule.kt | 23 ++++++++++++++++++ ...enterTest.kt => LeaveRoomPresenterTest.kt} | 24 +++++++++---------- .../leaveroom/fake/FakeLeaveRoomPresenter.kt | 4 ++-- .../roomdetails/impl/RoomDetailsPresenter.kt | 4 ++-- .../roomdetails/RoomDetailsPresenterTest.kt | 5 ++-- .../roomlist/impl/RoomListPresenter.kt | 4 ++-- .../roomlist/impl/RoomListPresenterTest.kt | 4 ++-- 9 files changed, 49 insertions(+), 44 deletions(-) delete mode 100644 features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomPresenter.kt rename features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/{DefaultLeaveRoomPresenter.kt => LeaveRoomPresenter.kt} (93%) create mode 100644 features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/di/LeaveRoomModule.kt rename features/leaveroom/impl/src/test/kotlin/io/element/android/features/leaveroom/impl/{DefaultLeaveRoomPresenterTest.kt => LeaveRoomPresenterTest.kt} (92%) diff --git a/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomPresenter.kt b/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomPresenter.kt deleted file mode 100644 index f7d7cf7297..0000000000 --- a/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomPresenter.kt +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2023, 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.leaveroom.api - -import androidx.compose.runtime.Composable -import io.element.android.libraries.architecture.Presenter - -interface LeaveRoomPresenter : Presenter { - @Composable - override fun present(): LeaveRoomState -} diff --git a/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/DefaultLeaveRoomPresenter.kt b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomPresenter.kt similarity index 93% rename from features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/DefaultLeaveRoomPresenter.kt rename to features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomPresenter.kt index bb249846ee..168a684922 100644 --- a/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/DefaultLeaveRoomPresenter.kt +++ b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomPresenter.kt @@ -12,16 +12,14 @@ import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope -import com.squareup.anvil.annotations.ContributesBinding import io.element.android.features.leaveroom.api.LeaveRoomEvent -import io.element.android.features.leaveroom.api.LeaveRoomPresenter import io.element.android.features.leaveroom.api.LeaveRoomState import io.element.android.features.leaveroom.api.LeaveRoomState.Confirmation.Dm import io.element.android.features.leaveroom.api.LeaveRoomState.Confirmation.Generic import io.element.android.features.leaveroom.api.LeaveRoomState.Confirmation.LastUserInRoom import io.element.android.features.leaveroom.api.LeaveRoomState.Confirmation.PrivateRoom +import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.coroutine.CoroutineDispatchers -import io.element.android.libraries.di.SessionScope import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.room.RoomMembershipObserver @@ -30,12 +28,11 @@ import kotlinx.coroutines.launch import timber.log.Timber import javax.inject.Inject -@ContributesBinding(SessionScope::class) -class DefaultLeaveRoomPresenter @Inject constructor( +class LeaveRoomPresenter @Inject constructor( private val client: MatrixClient, private val roomMembershipObserver: RoomMembershipObserver, private val dispatchers: CoroutineDispatchers, -) : LeaveRoomPresenter { +) : Presenter { @Composable override fun present(): LeaveRoomState { val scope = rememberCoroutineScope() diff --git a/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/di/LeaveRoomModule.kt b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/di/LeaveRoomModule.kt new file mode 100644 index 0000000000..8dbe4db368 --- /dev/null +++ b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/di/LeaveRoomModule.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.leaveroom.impl.di + +import com.squareup.anvil.annotations.ContributesTo +import dagger.Binds +import dagger.Module +import io.element.android.features.leaveroom.api.LeaveRoomState +import io.element.android.features.leaveroom.impl.LeaveRoomPresenter +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.di.SessionScope + +@ContributesTo(SessionScope::class) +@Module +interface LeaveRoomModule { + @Binds + fun bindLeaveRoomPresenter(presenter: LeaveRoomPresenter): Presenter +} diff --git a/features/leaveroom/impl/src/test/kotlin/io/element/android/features/leaveroom/impl/DefaultLeaveRoomPresenterTest.kt b/features/leaveroom/impl/src/test/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomPresenterTest.kt similarity index 92% rename from features/leaveroom/impl/src/test/kotlin/io/element/android/features/leaveroom/impl/DefaultLeaveRoomPresenterTest.kt rename to features/leaveroom/impl/src/test/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomPresenterTest.kt index 1454c84296..9689de4eb2 100644 --- a/features/leaveroom/impl/src/test/kotlin/io/element/android/features/leaveroom/impl/DefaultLeaveRoomPresenterTest.kt +++ b/features/leaveroom/impl/src/test/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomPresenterTest.kt @@ -27,13 +27,13 @@ import kotlinx.coroutines.test.runTest import org.junit.Rule import org.junit.Test -class DefaultLeaveRoomPresenterTest { +class LeaveRoomPresenterTest { @get:Rule val warmUpRule = WarmUpRule() @Test fun `present - initial state hides all dialogs`() = runTest { - val presenter = createDefaultLeaveRoomPresenter() + val presenter = createLeaveRoomPresenter() moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -46,7 +46,7 @@ class DefaultLeaveRoomPresenterTest { @Test fun `present - show generic confirmation`() = runTest { - val presenter = createDefaultLeaveRoomPresenter( + val presenter = createLeaveRoomPresenter( client = FakeMatrixClient().apply { givenGetRoomResult( roomId = A_ROOM_ID, @@ -66,7 +66,7 @@ class DefaultLeaveRoomPresenterTest { @Test fun `present - show private room confirmation`() = runTest { - val presenter = createDefaultLeaveRoomPresenter( + val presenter = createLeaveRoomPresenter( client = FakeMatrixClient().apply { givenGetRoomResult( roomId = A_ROOM_ID, @@ -86,7 +86,7 @@ class DefaultLeaveRoomPresenterTest { @Test fun `present - show last user in room confirmation`() = runTest { - val presenter = createDefaultLeaveRoomPresenter( + val presenter = createLeaveRoomPresenter( client = FakeMatrixClient().apply { givenGetRoomResult( roomId = A_ROOM_ID, @@ -106,7 +106,7 @@ class DefaultLeaveRoomPresenterTest { @Test fun `present - show DM confirmation`() = runTest { - val presenter = createDefaultLeaveRoomPresenter( + val presenter = createLeaveRoomPresenter( client = FakeMatrixClient().apply { givenGetRoomResult( roomId = A_ROOM_ID, @@ -127,7 +127,7 @@ class DefaultLeaveRoomPresenterTest { @Test fun `present - leaving a room leaves the room`() = runTest { val roomMembershipObserver = RoomMembershipObserver() - val presenter = createDefaultLeaveRoomPresenter( + val presenter = createLeaveRoomPresenter( client = FakeMatrixClient().apply { givenGetRoomResult( roomId = A_ROOM_ID, @@ -151,7 +151,7 @@ class DefaultLeaveRoomPresenterTest { @Test fun `present - show error if leave room fails`() = runTest { - val presenter = createDefaultLeaveRoomPresenter( + val presenter = createLeaveRoomPresenter( client = FakeMatrixClient().apply { givenGetRoomResult( roomId = A_ROOM_ID, @@ -175,7 +175,7 @@ class DefaultLeaveRoomPresenterTest { @Test fun `present - show progress indicator while leaving a room`() = runTest { - val presenter = createDefaultLeaveRoomPresenter( + val presenter = createLeaveRoomPresenter( client = FakeMatrixClient().apply { givenGetRoomResult( roomId = A_ROOM_ID, @@ -199,7 +199,7 @@ class DefaultLeaveRoomPresenterTest { @Test fun `present - hide error hides the error`() = runTest { - val presenter = createDefaultLeaveRoomPresenter( + val presenter = createLeaveRoomPresenter( client = FakeMatrixClient().apply { givenGetRoomResult( roomId = A_ROOM_ID, @@ -225,10 +225,10 @@ class DefaultLeaveRoomPresenterTest { } } -private fun TestScope.createDefaultLeaveRoomPresenter( +private fun TestScope.createLeaveRoomPresenter( client: MatrixClient = FakeMatrixClient(), roomMembershipObserver: RoomMembershipObserver = RoomMembershipObserver(), -): DefaultLeaveRoomPresenter = DefaultLeaveRoomPresenter( +): LeaveRoomPresenter = LeaveRoomPresenter( client = client, roomMembershipObserver = roomMembershipObserver, dispatchers = testCoroutineDispatchers(false), diff --git a/features/leaveroom/test/src/main/kotlin/io/element/android/features/leaveroom/fake/FakeLeaveRoomPresenter.kt b/features/leaveroom/test/src/main/kotlin/io/element/android/features/leaveroom/fake/FakeLeaveRoomPresenter.kt index 2aa9961c39..6de7c631d9 100644 --- a/features/leaveroom/test/src/main/kotlin/io/element/android/features/leaveroom/fake/FakeLeaveRoomPresenter.kt +++ b/features/leaveroom/test/src/main/kotlin/io/element/android/features/leaveroom/fake/FakeLeaveRoomPresenter.kt @@ -9,10 +9,10 @@ package io.element.android.features.leaveroom.fake import androidx.compose.runtime.Composable import io.element.android.features.leaveroom.api.LeaveRoomEvent -import io.element.android.features.leaveroom.api.LeaveRoomPresenter import io.element.android.features.leaveroom.api.LeaveRoomState +import io.element.android.libraries.architecture.Presenter -class FakeLeaveRoomPresenter : LeaveRoomPresenter { +class FakeLeaveRoomPresenter : Presenter { val events = mutableListOf() private fun handleEvent(event: LeaveRoomEvent) { diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsPresenter.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsPresenter.kt index ee63be7643..eccc8dd9d2 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsPresenter.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsPresenter.kt @@ -19,7 +19,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import im.vector.app.features.analytics.plan.Interaction import io.element.android.features.leaveroom.api.LeaveRoomEvent -import io.element.android.features.leaveroom.api.LeaveRoomPresenter +import io.element.android.features.leaveroom.api.LeaveRoomState import io.element.android.features.messages.api.pinned.IsPinnedMessagesFeatureEnabled import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsPresenter import io.element.android.libraries.architecture.Presenter @@ -56,7 +56,7 @@ class RoomDetailsPresenter @Inject constructor( private val featureFlagService: FeatureFlagService, private val notificationSettingsService: NotificationSettingsService, private val roomMembersDetailsPresenterFactory: RoomMemberDetailsPresenter.Factory, - private val leaveRoomPresenter: LeaveRoomPresenter, + private val leaveRoomPresenter: Presenter, private val dispatchers: CoroutineDispatchers, private val analyticsService: AnalyticsService, private val isPinnedMessagesFeatureEnabled: IsPinnedMessagesFeatureEnabled, diff --git a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/RoomDetailsPresenterTest.kt b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/RoomDetailsPresenterTest.kt index 84f6f5f341..2644bd5073 100644 --- a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/RoomDetailsPresenterTest.kt +++ b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/RoomDetailsPresenterTest.kt @@ -16,7 +16,7 @@ import com.google.common.truth.Truth.assertThat import im.vector.app.features.analytics.plan.Interaction import io.element.android.features.createroom.test.FakeStartDMAction import io.element.android.features.leaveroom.api.LeaveRoomEvent -import io.element.android.features.leaveroom.api.LeaveRoomPresenter +import io.element.android.features.leaveroom.api.LeaveRoomState import io.element.android.features.leaveroom.fake.FakeLeaveRoomPresenter import io.element.android.features.roomdetails.impl.RoomDetailsEvent import io.element.android.features.roomdetails.impl.RoomDetailsPresenter @@ -25,6 +25,7 @@ import io.element.android.features.roomdetails.impl.RoomDetailsType import io.element.android.features.roomdetails.impl.RoomTopicState import io.element.android.features.roomdetails.impl.members.aRoomMember import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsPresenter +import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.featureflag.api.FeatureFlags import io.element.android.libraries.featureflag.test.FakeFeatureFlagService @@ -72,7 +73,7 @@ class RoomDetailsPresenterTest { private fun TestScope.createRoomDetailsPresenter( room: MatrixRoom = aMatrixRoom(), - leaveRoomPresenter: LeaveRoomPresenter = FakeLeaveRoomPresenter(), + leaveRoomPresenter: Presenter = FakeLeaveRoomPresenter(), dispatchers: CoroutineDispatchers = testCoroutineDispatchers(), notificationSettingsService: FakeNotificationSettingsService = FakeNotificationSettingsService(), analyticsService: AnalyticsService = FakeAnalyticsService(), diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt index 31a3ea3f01..8b034ad181 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt @@ -28,7 +28,7 @@ import io.element.android.features.invite.api.response.AcceptDeclineInviteEvents import io.element.android.features.invite.api.response.AcceptDeclineInviteState import io.element.android.features.invite.api.response.InviteData import io.element.android.features.leaveroom.api.LeaveRoomEvent -import io.element.android.features.leaveroom.api.LeaveRoomPresenter +import io.element.android.features.leaveroom.api.LeaveRoomState import io.element.android.features.logout.api.direct.DirectLogoutState import io.element.android.features.networkmonitor.api.NetworkMonitor import io.element.android.features.networkmonitor.api.NetworkStatus @@ -80,7 +80,7 @@ class RoomListPresenter @Inject constructor( private val client: MatrixClient, private val networkMonitor: NetworkMonitor, private val snackbarDispatcher: SnackbarDispatcher, - private val leaveRoomPresenter: LeaveRoomPresenter, + private val leaveRoomPresenter: Presenter, private val roomListDataSource: RoomListDataSource, private val featureFlagService: FeatureFlagService, private val indicatorService: IndicatorService, diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt index 5c91716c31..259f6a8ed9 100644 --- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt +++ b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt @@ -16,7 +16,7 @@ import io.element.android.features.invite.api.response.AcceptDeclineInviteEvents import io.element.android.features.invite.api.response.AcceptDeclineInviteState import io.element.android.features.invite.api.response.anAcceptDeclineInviteState import io.element.android.features.leaveroom.api.LeaveRoomEvent -import io.element.android.features.leaveroom.api.LeaveRoomPresenter +import io.element.android.features.leaveroom.api.LeaveRoomState import io.element.android.features.leaveroom.fake.FakeLeaveRoomPresenter import io.element.android.features.logout.api.direct.aDirectLogoutState import io.element.android.features.networkmonitor.api.NetworkMonitor @@ -671,7 +671,7 @@ class RoomListPresenterTest { client: MatrixClient = FakeMatrixClient(), networkMonitor: NetworkMonitor = FakeNetworkMonitor(), snackbarDispatcher: SnackbarDispatcher = SnackbarDispatcher(), - leaveRoomPresenter: LeaveRoomPresenter = FakeLeaveRoomPresenter(), + leaveRoomPresenter: Presenter = FakeLeaveRoomPresenter(), lastMessageTimestampFormatter: LastMessageTimestampFormatter = FakeLastMessageTimestampFormatter().apply { givenFormat(A_FORMATTED_DATE) }, From 2e5450c4b41340e46f7d5f0fa516f77438657675 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 11:14:24 +0200 Subject: [PATCH 117/151] Remove dependencies to other presenters to RoomMembersModerationPresenter. Move canDisplayModerationActions from presenter API to the state it emits. --- .../roomdetails/impl/di/RoomDetailsModule.kt | 23 +++ .../impl/members/RoomMemberListPresenter.kt | 6 +- .../DefaultRoomMembersModerationPresenter.kt | 174 ----------------- .../RoomMembersModerationPresenter.kt | 184 ++++++++++++++++-- .../moderation/RoomMembersModerationState.kt | 1 + ...omMembersModerationStatePreviewProvider.kt | 2 + .../members/RoomMemberListPresenterTest.kt | 29 ++- .../FakeRoomMembersModerationPresenter.kt | 34 ---- ... => RoomMembersModerationPresenterTest.kt} | 47 +++-- 9 files changed, 243 insertions(+), 257 deletions(-) create mode 100644 features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/di/RoomDetailsModule.kt delete mode 100644 features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/DefaultRoomMembersModerationPresenter.kt delete mode 100644 features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/moderation/FakeRoomMembersModerationPresenter.kt rename features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/moderation/{DefaultRoomMembersModerationPresenterTest.kt => RoomMembersModerationPresenterTest.kt} (89%) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/di/RoomDetailsModule.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/di/RoomDetailsModule.kt new file mode 100644 index 0000000000..0cabbdd09c --- /dev/null +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/di/RoomDetailsModule.kt @@ -0,0 +1,23 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.roomdetails.impl.di + +import com.squareup.anvil.annotations.ContributesTo +import dagger.Binds +import dagger.Module +import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationPresenter +import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationState +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.di.RoomScope + +@Module +@ContributesTo(RoomScope::class) +interface RoomDetailsModule { + @Binds + fun bindRoomMembersModerationPresenter(presenter: RoomMembersModerationPresenter): Presenter +} diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListPresenter.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListPresenter.kt index 4ef746b0e7..c6fd2bc0b8 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListPresenter.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/RoomMemberListPresenter.kt @@ -21,7 +21,7 @@ import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationEvents -import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationPresenter +import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationState import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.coroutine.CoroutineDispatchers @@ -40,7 +40,7 @@ class RoomMemberListPresenter @AssistedInject constructor( private val room: MatrixRoom, private val roomMemberListDataSource: RoomMemberListDataSource, private val coroutineDispatchers: CoroutineDispatchers, - private val roomMembersModerationPresenter: RoomMembersModerationPresenter, + private val roomMembersModerationPresenter: Presenter, @Assisted private val navigator: RoomMemberListNavigator, ) : Presenter { @AssistedFactory @@ -136,7 +136,7 @@ class RoomMemberListPresenter @AssistedInject constructor( is RoomMemberListEvents.OnSearchActiveChanged -> isSearchActive = event.active is RoomMemberListEvents.UpdateSearchQuery -> searchQuery = event.query is RoomMemberListEvents.RoomMemberSelected -> coroutineScope.launch { - if (roomMembersModerationPresenter.canDisplayModerationActions()) { + if (roomModerationState.canDisplayModerationActions) { roomModerationState.eventSink(RoomMembersModerationEvents.SelectRoomMember(event.roomMember)) } else { navigator.openRoomMemberDetails(event.roomMember.userId) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/DefaultRoomMembersModerationPresenter.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/DefaultRoomMembersModerationPresenter.kt deleted file mode 100644 index e2081f6c6f..0000000000 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/DefaultRoomMembersModerationPresenter.kt +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.roomdetails.impl.members.moderation - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.MutableState -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.produceState -import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.runtime.setValue -import com.squareup.anvil.annotations.ContributesBinding -import im.vector.app.features.analytics.plan.RoomModeration -import io.element.android.libraries.architecture.AsyncAction -import io.element.android.libraries.architecture.runUpdatingState -import io.element.android.libraries.core.coroutine.CoroutineDispatchers -import io.element.android.libraries.core.extensions.finally -import io.element.android.libraries.di.RoomScope -import io.element.android.libraries.matrix.api.core.UserId -import io.element.android.libraries.matrix.api.room.MatrixRoom -import io.element.android.libraries.matrix.api.room.RoomMember -import io.element.android.libraries.matrix.api.room.RoomMembershipState -import io.element.android.libraries.matrix.api.room.isDm -import io.element.android.libraries.matrix.api.room.powerlevels.canBan -import io.element.android.libraries.matrix.api.room.powerlevels.canKick -import io.element.android.services.analytics.api.AnalyticsService -import kotlinx.collections.immutable.persistentListOf -import kotlinx.collections.immutable.toPersistentList -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.flow.drop -import kotlinx.coroutines.flow.take -import kotlinx.coroutines.launch -import javax.inject.Inject - -@ContributesBinding(RoomScope::class) -class DefaultRoomMembersModerationPresenter @Inject constructor( - private val room: MatrixRoom, - private val dispatchers: CoroutineDispatchers, - private val analyticsService: AnalyticsService, -) : RoomMembersModerationPresenter { - private var selectedMember by mutableStateOf(null) - - private suspend fun canBan() = room.canBan().getOrDefault(false) - private suspend fun canKick() = room.canKick().getOrDefault(false) - - override suspend fun canDisplayModerationActions(): Boolean { - return !room.isDm && (canBan() || canKick()) - } - - @Composable - override fun present(): RoomMembersModerationState { - val coroutineScope = rememberCoroutineScope() - var moderationActions by remember { mutableStateOf(persistentListOf()) } - - val kickUserAsyncAction = remember { mutableStateOf(AsyncAction.Uninitialized as AsyncAction) } - val banUserAsyncAction = remember { mutableStateOf(AsyncAction.Uninitialized as AsyncAction) } - val unbanUserAsyncAction = remember { mutableStateOf(AsyncAction.Uninitialized as AsyncAction) } - - val canDisplayBannedUsers by produceState(initialValue = false) { - value = !room.isDm && canBan() - } - - fun handleEvent(event: RoomMembersModerationEvents) { - when (event) { - is RoomMembersModerationEvents.SelectRoomMember -> { - coroutineScope.launch { - selectedMember = event.roomMember - if (event.roomMember.membership == RoomMembershipState.BAN && canBan()) { - unbanUserAsyncAction.value = AsyncAction.Confirming - } else { - moderationActions = buildList { - add(ModerationAction.DisplayProfile(event.roomMember.userId)) - val currentUserMemberPowerLevel = room.userRole(room.sessionId).getOrDefault(RoomMember.Role.USER).powerLevel - if (currentUserMemberPowerLevel > event.roomMember.powerLevel) { - if (canKick()) { - add(ModerationAction.KickUser(event.roomMember.userId)) - } - if (canBan()) { - add(ModerationAction.BanUser(event.roomMember.userId)) - } - } - }.toPersistentList() - } - } - } - is RoomMembersModerationEvents.KickUser -> { - moderationActions = persistentListOf() - selectedMember?.let { - coroutineScope.kickUser(it.userId, kickUserAsyncAction) - } - } - is RoomMembersModerationEvents.BanUser -> { - if (banUserAsyncAction.value.isConfirming()) { - moderationActions = persistentListOf() - selectedMember?.let { - coroutineScope.banUser(it.userId, banUserAsyncAction) - } - } else { - banUserAsyncAction.value = AsyncAction.Confirming - } - } - is RoomMembersModerationEvents.UnbanUser -> { - if (unbanUserAsyncAction.value.isConfirming()) { - moderationActions = persistentListOf() - selectedMember?.let { - coroutineScope.unbanUser(it.userId, unbanUserAsyncAction) - } - } else { - unbanUserAsyncAction.value = AsyncAction.Confirming - } - } - is RoomMembersModerationEvents.Reset -> { - selectedMember = null - moderationActions = persistentListOf() - kickUserAsyncAction.value = AsyncAction.Uninitialized - banUserAsyncAction.value = AsyncAction.Uninitialized - unbanUserAsyncAction.value = AsyncAction.Uninitialized - } - } - } - - return RoomMembersModerationState( - selectedRoomMember = selectedMember, - actions = moderationActions, - kickUserAsyncAction = kickUserAsyncAction.value, - banUserAsyncAction = banUserAsyncAction.value, - unbanUserAsyncAction = unbanUserAsyncAction.value, - canDisplayBannedUsers = canDisplayBannedUsers, - eventSink = { handleEvent(it) }, - ) - } - - private fun CoroutineScope.kickUser( - userId: UserId, - kickUserAction: MutableState>, - ) = runActionAndWaitForMembershipChange(kickUserAction) { - analyticsService.capture(RoomModeration(RoomModeration.Action.KickMember)) - room.kickUser(userId).finally { selectedMember = null } - } - - private fun CoroutineScope.banUser( - userId: UserId, - banUserAction: MutableState>, - ) = runActionAndWaitForMembershipChange(banUserAction) { - analyticsService.capture(RoomModeration(RoomModeration.Action.BanMember)) - room.banUser(userId).finally { selectedMember = null } - } - - private fun CoroutineScope.unbanUser( - userId: UserId, - unbanUserAction: MutableState>, - ) = runActionAndWaitForMembershipChange(unbanUserAction) { - analyticsService.capture(RoomModeration(RoomModeration.Action.UnbanMember)) - room.unbanUser(userId).finally { selectedMember = null } - } - - private fun CoroutineScope.runActionAndWaitForMembershipChange(action: MutableState>, block: suspend () -> Result) { - launch(dispatchers.io) { - action.runUpdatingState { - val result = block() - if (result.isSuccess) { - room.membersStateFlow.drop(1).take(1) - } - result - } - } - } -} diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationPresenter.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationPresenter.kt index cdc3ecce03..a2dce0fe2d 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationPresenter.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationPresenter.kt @@ -7,20 +7,180 @@ package io.element.android.features.roomdetails.impl.members.moderation +import androidx.compose.runtime.Composable +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.produceState +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import com.squareup.anvil.annotations.ContributesBinding +import im.vector.app.features.analytics.plan.RoomModeration import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.architecture.runUpdatingState +import io.element.android.libraries.core.coroutine.CoroutineDispatchers +import io.element.android.libraries.core.extensions.finally +import io.element.android.libraries.di.RoomScope +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.RoomMember +import io.element.android.libraries.matrix.api.room.RoomMembershipState +import io.element.android.libraries.matrix.api.room.isDm +import io.element.android.libraries.matrix.api.room.powerlevels.canBan +import io.element.android.libraries.matrix.api.room.powerlevels.canKick +import io.element.android.services.analytics.api.AnalyticsService import kotlinx.collections.immutable.persistentListOf +import kotlinx.collections.immutable.toPersistentList +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.flow.drop +import kotlinx.coroutines.flow.take +import kotlinx.coroutines.launch +import javax.inject.Inject -interface RoomMembersModerationPresenter : Presenter { - suspend fun canDisplayModerationActions(): Boolean - - fun dummyState() = RoomMembersModerationState( - selectedRoomMember = null, - actions = persistentListOf(), - kickUserAsyncAction = AsyncAction.Uninitialized, - banUserAsyncAction = AsyncAction.Uninitialized, - unbanUserAsyncAction = AsyncAction.Uninitialized, - canDisplayBannedUsers = false, - eventSink = {} - ) +class RoomMembersModerationPresenter @Inject constructor( + private val room: MatrixRoom, + private val dispatchers: CoroutineDispatchers, + private val analyticsService: AnalyticsService, +) : Presenter { + private var selectedMember by mutableStateOf(null) + + private suspend fun canBan() = room.canBan().getOrDefault(false) + private suspend fun canKick() = room.canKick().getOrDefault(false) + + @Composable + override fun present(): RoomMembersModerationState { + val coroutineScope = rememberCoroutineScope() + var moderationActions by remember { mutableStateOf(persistentListOf()) } + + val syncUpdateFlow = room.syncUpdateFlow.collectAsState() + val canDisplayModerationActions by produceState( + initialValue = false, + key1 = syncUpdateFlow.value + ) { + value = !room.isDm && (canBan() || canKick()) + } + val kickUserAsyncAction = + remember { mutableStateOf(AsyncAction.Uninitialized as AsyncAction) } + val banUserAsyncAction = + remember { mutableStateOf(AsyncAction.Uninitialized as AsyncAction) } + val unbanUserAsyncAction = + remember { mutableStateOf(AsyncAction.Uninitialized as AsyncAction) } + + val canDisplayBannedUsers by produceState(initialValue = false) { + value = !room.isDm && canBan() + } + + fun handleEvent(event: RoomMembersModerationEvents) { + when (event) { + is RoomMembersModerationEvents.SelectRoomMember -> { + coroutineScope.launch { + selectedMember = event.roomMember + if (event.roomMember.membership == RoomMembershipState.BAN && canBan()) { + unbanUserAsyncAction.value = AsyncAction.Confirming + } else { + moderationActions = buildList { + add(ModerationAction.DisplayProfile(event.roomMember.userId)) + val currentUserMemberPowerLevel = room.userRole(room.sessionId) + .getOrDefault(RoomMember.Role.USER).powerLevel + if (currentUserMemberPowerLevel > event.roomMember.powerLevel) { + if (canKick()) { + add(ModerationAction.KickUser(event.roomMember.userId)) + } + if (canBan()) { + add(ModerationAction.BanUser(event.roomMember.userId)) + } + } + }.toPersistentList() + } + } + } + is RoomMembersModerationEvents.KickUser -> { + moderationActions = persistentListOf() + selectedMember?.let { + coroutineScope.kickUser(it.userId, kickUserAsyncAction) + } + } + is RoomMembersModerationEvents.BanUser -> { + if (banUserAsyncAction.value.isConfirming()) { + moderationActions = persistentListOf() + selectedMember?.let { + coroutineScope.banUser(it.userId, banUserAsyncAction) + } + } else { + banUserAsyncAction.value = AsyncAction.Confirming + } + } + is RoomMembersModerationEvents.UnbanUser -> { + if (unbanUserAsyncAction.value.isConfirming()) { + moderationActions = persistentListOf() + selectedMember?.let { + coroutineScope.unbanUser(it.userId, unbanUserAsyncAction) + } + } else { + unbanUserAsyncAction.value = AsyncAction.Confirming + } + } + is RoomMembersModerationEvents.Reset -> { + selectedMember = null + moderationActions = persistentListOf() + kickUserAsyncAction.value = AsyncAction.Uninitialized + banUserAsyncAction.value = AsyncAction.Uninitialized + unbanUserAsyncAction.value = AsyncAction.Uninitialized + } + } + } + + return RoomMembersModerationState( + canDisplayModerationActions = canDisplayModerationActions, + selectedRoomMember = selectedMember, + actions = moderationActions, + kickUserAsyncAction = kickUserAsyncAction.value, + banUserAsyncAction = banUserAsyncAction.value, + unbanUserAsyncAction = unbanUserAsyncAction.value, + canDisplayBannedUsers = canDisplayBannedUsers, + eventSink = { handleEvent(it) }, + ) + } + + private fun CoroutineScope.kickUser( + userId: UserId, + kickUserAction: MutableState>, + ) = runActionAndWaitForMembershipChange(kickUserAction) { + analyticsService.capture(RoomModeration(RoomModeration.Action.KickMember)) + room.kickUser(userId).finally { selectedMember = null } + } + + private fun CoroutineScope.banUser( + userId: UserId, + banUserAction: MutableState>, + ) = runActionAndWaitForMembershipChange(banUserAction) { + analyticsService.capture(RoomModeration(RoomModeration.Action.BanMember)) + room.banUser(userId).finally { selectedMember = null } + } + + private fun CoroutineScope.unbanUser( + userId: UserId, + unbanUserAction: MutableState>, + ) = runActionAndWaitForMembershipChange(unbanUserAction) { + analyticsService.capture(RoomModeration(RoomModeration.Action.UnbanMember)) + room.unbanUser(userId).finally { selectedMember = null } + } + + private fun CoroutineScope.runActionAndWaitForMembershipChange( + action: MutableState>, + block: suspend () -> Result + ) { + launch(dispatchers.io) { + action.runUpdatingState { + val result = block() + if (result.isSuccess) { + room.membersStateFlow.drop(1).take(1) + } + result + } + } + } } diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationState.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationState.kt index c906ebd561..18db706438 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationState.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationState.kt @@ -13,6 +13,7 @@ import io.element.android.libraries.matrix.api.room.RoomMember import kotlinx.collections.immutable.ImmutableList data class RoomMembersModerationState( + val canDisplayModerationActions: Boolean, val selectedRoomMember: RoomMember?, val actions: ImmutableList, val kickUserAsyncAction: AsyncAction, diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationStatePreviewProvider.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationStatePreviewProvider.kt index 18030139e5..d7fb509995 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationStatePreviewProvider.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationStatePreviewProvider.kt @@ -71,6 +71,7 @@ class RoomMembersModerationStatePreviewProvider : PreviewParameterProvider = emptyList(), kickUserAsyncAction: AsyncAction = AsyncAction.Uninitialized, @@ -79,6 +80,7 @@ fun aRoomMembersModerationState( canDisplayBannedUsers: Boolean = false, eventSink: (RoomMembersModerationEvents) -> Unit = {}, ) = RoomMembersModerationState( + canDisplayModerationActions = canDisplayModerationActions, selectedRoomMember = selectedRoomMember, actions = actions.toPersistentList(), kickUserAsyncAction = kickUserAsyncAction, diff --git a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/RoomMemberListPresenterTest.kt b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/RoomMemberListPresenterTest.kt index 6ba283d7ef..e9414f90be 100644 --- a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/RoomMemberListPresenterTest.kt +++ b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/RoomMemberListPresenterTest.kt @@ -19,8 +19,8 @@ import io.element.android.features.roomdetails.impl.members.aRoomMemberList import io.element.android.features.roomdetails.impl.members.aVictor import io.element.android.features.roomdetails.impl.members.aWalter import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationEvents +import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationState import io.element.android.features.roomdetails.impl.members.moderation.aRoomMembersModerationState -import io.element.android.features.roomdetails.members.moderation.FakeRoomMembersModerationPresenter import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.designsystem.theme.components.SearchBarResultState import io.element.android.libraries.matrix.api.core.UserId @@ -28,6 +28,7 @@ import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.MatrixRoomMembersState import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.matrix.test.room.aRoomInfo +import io.element.android.tests.testutils.EventsRecorder import io.element.android.tests.testutils.WarmUpRule import io.element.android.tests.testutils.testCoroutineDispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi @@ -194,9 +195,9 @@ class RoomMemberListPresenterTest { @Test fun `present - RoomMemberSelected by default opens the room member details through the navigator`() = runTest { val navigator = FakeRoomMemberListNavigator() - val moderationPresenter = FakeRoomMembersModerationPresenter(canDisplayModerationActions = false) + val roomMembersModerationStateLambda = { aRoomMembersModerationState(canDisplayModerationActions = false) } val presenter = createPresenter( - moderationPresenter = moderationPresenter, + roomMembersModerationStateLambda = roomMembersModerationStateLambda, navigator = navigator, matrixRoom = FakeMatrixRoom( updateMembersResult = { Result.success(Unit) }, @@ -215,17 +216,15 @@ class RoomMemberListPresenterTest { @Test fun `present - RoomMemberSelected will open the moderation options if the current user can use them`() = runTest { val navigator = FakeRoomMemberListNavigator() - var selectRoomMemberCallCounts = 0 - val capturingState = aRoomMembersModerationState(eventSink = { event -> - if (event is RoomMembersModerationEvents.SelectRoomMember) { - selectRoomMemberCallCounts++ - } - }) - val moderationPresenter = FakeRoomMembersModerationPresenter(canDisplayModerationActions = true).apply { - givenState(capturingState) + val eventsRecorder = EventsRecorder() + val roomMembersModerationStateLambda = { + aRoomMembersModerationState( + canDisplayModerationActions = true, + eventSink = eventsRecorder, + ) } val presenter = createPresenter( - moderationPresenter = moderationPresenter, + roomMembersModerationStateLambda = roomMembersModerationStateLambda, navigator = navigator, matrixRoom = FakeMatrixRoom( updateMembersResult = { Result.success(Unit) }, @@ -237,7 +236,7 @@ class RoomMemberListPresenterTest { }.test { skipItems(1) awaitItem().eventSink(RoomMemberListEvents.RoomMemberSelected(aVictor())) - assertThat(selectRoomMemberCallCounts).isEqualTo(1) + eventsRecorder.assertSingle(RoomMembersModerationEvents.SelectRoomMember(aVictor())) } } } @@ -266,12 +265,12 @@ private fun TestScope.createPresenter( updateMembersResult = { Result.success(Unit) } ), roomMemberListDataSource: RoomMemberListDataSource = createDataSource(coroutineDispatchers = coroutineDispatchers), - moderationPresenter: FakeRoomMembersModerationPresenter = FakeRoomMembersModerationPresenter(), + roomMembersModerationStateLambda: () -> RoomMembersModerationState = { aRoomMembersModerationState() }, navigator: RoomMemberListNavigator = object : RoomMemberListNavigator {} ) = RoomMemberListPresenter( room = matrixRoom, roomMemberListDataSource = roomMemberListDataSource, coroutineDispatchers = coroutineDispatchers, - roomMembersModerationPresenter = moderationPresenter, + roomMembersModerationPresenter = { roomMembersModerationStateLambda() }, navigator = navigator ) diff --git a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/moderation/FakeRoomMembersModerationPresenter.kt b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/moderation/FakeRoomMembersModerationPresenter.kt deleted file mode 100644 index 96745130b7..0000000000 --- a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/moderation/FakeRoomMembersModerationPresenter.kt +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.roomdetails.members.moderation - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.setValue -import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationPresenter -import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationState - -class FakeRoomMembersModerationPresenter( - private val canDisplayModerationActions: Boolean = true, -) : RoomMembersModerationPresenter { - private var state by mutableStateOf(dummyState()) - - override suspend fun canDisplayModerationActions(): Boolean { - return canDisplayModerationActions - } - - @Composable - override fun present(): RoomMembersModerationState { - return state - } - - fun givenState(state: RoomMembersModerationState) { - this.state = state - } -} diff --git a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/moderation/DefaultRoomMembersModerationPresenterTest.kt b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/moderation/RoomMembersModerationPresenterTest.kt similarity index 89% rename from features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/moderation/DefaultRoomMembersModerationPresenterTest.kt rename to features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/moderation/RoomMembersModerationPresenterTest.kt index 926ca659d5..c2acd0a7de 100644 --- a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/moderation/DefaultRoomMembersModerationPresenterTest.kt +++ b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/members/moderation/RoomMembersModerationPresenterTest.kt @@ -14,9 +14,9 @@ import com.google.common.truth.Truth.assertThat import im.vector.app.features.analytics.plan.RoomModeration import io.element.android.features.roomdetails.impl.members.aRoomMember import io.element.android.features.roomdetails.impl.members.aVictor -import io.element.android.features.roomdetails.impl.members.moderation.DefaultRoomMembersModerationPresenter import io.element.android.features.roomdetails.impl.members.moderation.ModerationAction import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationEvents +import io.element.android.features.roomdetails.impl.members.moderation.RoomMembersModerationPresenter import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.matrix.api.room.MatrixRoomMembersState @@ -27,20 +27,23 @@ import io.element.android.libraries.matrix.test.A_USER_ID_2 import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.matrix.test.room.aRoomInfo import io.element.android.services.analytics.test.FakeAnalyticsService +import io.element.android.tests.testutils.test import io.element.android.tests.testutils.testCoroutineDispatchers import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runTest import org.junit.Test -class DefaultRoomMembersModerationPresenterTest { +class RoomMembersModerationPresenterTest { @Test fun `canDisplayModerationActions - when room is DM is false`() = runTest { val room = FakeMatrixRoom(isDirect = true, isPublic = true, activeMemberCount = 2).apply { givenRoomInfo(aRoomInfo(isDirect = true, isPublic = false, activeMembersCount = 2)) } - val presenter = createDefaultRoomMembersModerationPresenter(matrixRoom = room) - assertThat(presenter.canDisplayModerationActions()).isFalse() + val presenter = createRoomMembersModerationPresenter(matrixRoom = room) + presenter.test { + assertThat(awaitItem().canDisplayModerationActions).isFalse() + } } @Test @@ -51,8 +54,11 @@ class DefaultRoomMembersModerationPresenterTest { canKickResult = { Result.success(true) }, canBanResult = { Result.success(true) }, ) - val presenter = createDefaultRoomMembersModerationPresenter(matrixRoom = room) - assertThat(presenter.canDisplayModerationActions()).isTrue() + val presenter = createRoomMembersModerationPresenter(matrixRoom = room) + presenter.test { + skipItems(1) + assertThat(awaitItem().canDisplayModerationActions).isTrue() + } } @Test @@ -62,8 +68,11 @@ class DefaultRoomMembersModerationPresenterTest { activeMemberCount = 10, canBanResult = { Result.success(true) }, ) - val presenter = createDefaultRoomMembersModerationPresenter(matrixRoom = room) - assertThat(presenter.canDisplayModerationActions()).isTrue() + val presenter = createRoomMembersModerationPresenter(matrixRoom = room) + presenter.test { + skipItems(1) + assertThat(awaitItem().canDisplayModerationActions).isTrue() + } } @Test @@ -74,7 +83,7 @@ class DefaultRoomMembersModerationPresenterTest { userRoleResult = { Result.success(RoomMember.Role.ADMIN) }, ) val selectedMember = aVictor() - val presenter = createDefaultRoomMembersModerationPresenter(matrixRoom = room) + val presenter = createRoomMembersModerationPresenter(matrixRoom = room) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -101,7 +110,7 @@ class DefaultRoomMembersModerationPresenterTest { userRoleResult = { Result.success(RoomMember.Role.ADMIN) }, ) val selectedMember = aRoomMember(A_USER_ID_2, powerLevel = 100L) - val presenter = createDefaultRoomMembersModerationPresenter(matrixRoom = room) + val presenter = createRoomMembersModerationPresenter(matrixRoom = room) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -125,7 +134,7 @@ class DefaultRoomMembersModerationPresenterTest { canBanResult = { Result.success(true) }, userRoleResult = { Result.success(RoomMember.Role.ADMIN) }, ) - val presenter = createDefaultRoomMembersModerationPresenter(matrixRoom = room) + val presenter = createRoomMembersModerationPresenter(matrixRoom = room) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -148,7 +157,7 @@ class DefaultRoomMembersModerationPresenterTest { kickUserResult = { _, _ -> Result.success(Unit) }, ) val selectedMember = aVictor() - val presenter = createDefaultRoomMembersModerationPresenter(matrixRoom = room, analyticsService = analyticsService) + val presenter = createRoomMembersModerationPresenter(matrixRoom = room, analyticsService = analyticsService) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -176,7 +185,7 @@ class DefaultRoomMembersModerationPresenterTest { banUserResult = { _, _ -> Result.success(Unit) }, ) val selectedMember = aVictor() - val presenter = createDefaultRoomMembersModerationPresenter(matrixRoom = room, analyticsService = analyticsService) + val presenter = createRoomMembersModerationPresenter(matrixRoom = room, analyticsService = analyticsService) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -211,7 +220,7 @@ class DefaultRoomMembersModerationPresenterTest { ).apply { givenRoomMembersState(MatrixRoomMembersState.Ready(persistentListOf(selectedMember))) } - val presenter = createDefaultRoomMembersModerationPresenter(matrixRoom = room, analyticsService = analyticsService) + val presenter = createRoomMembersModerationPresenter(matrixRoom = room, analyticsService = analyticsService) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -237,7 +246,7 @@ class DefaultRoomMembersModerationPresenterTest { canBanResult = { Result.success(true) }, userRoleResult = { Result.success(RoomMember.Role.USER) }, ) - val presenter = createDefaultRoomMembersModerationPresenter(matrixRoom = room) + val presenter = createRoomMembersModerationPresenter(matrixRoom = room) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -261,7 +270,7 @@ class DefaultRoomMembersModerationPresenterTest { unBanUserResult = { _, _ -> Result.failure(Throwable("Eek")) }, userRoleResult = { Result.success(RoomMember.Role.USER) }, ) - val presenter = createDefaultRoomMembersModerationPresenter(matrixRoom = room) + val presenter = createRoomMembersModerationPresenter(matrixRoom = room) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -301,12 +310,12 @@ class DefaultRoomMembersModerationPresenterTest { } } - private fun TestScope.createDefaultRoomMembersModerationPresenter( + private fun TestScope.createRoomMembersModerationPresenter( matrixRoom: FakeMatrixRoom = FakeMatrixRoom(), dispatchers: CoroutineDispatchers = testCoroutineDispatchers(), analyticsService: FakeAnalyticsService = FakeAnalyticsService(), - ): DefaultRoomMembersModerationPresenter { - return DefaultRoomMembersModerationPresenter( + ): RoomMembersModerationPresenter { + return RoomMembersModerationPresenter( room = matrixRoom, dispatchers = dispatchers, analyticsService = analyticsService, From d744e075d58a3dc53c3f51299e5a54022675dfc2 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 11:38:12 +0200 Subject: [PATCH 118/151] Remove dependencies to other presenters in MessagesPresenter. --- .../messages/impl/MessagesPresenter.kt | 19 +- .../messages/impl/di/MessagesModule.kt | 25 ++ .../MessageComposerStateProvider.kt | 3 +- .../messages/impl/MessagesPresenterTest.kt | 378 ++++++++---------- .../actionlist/FakeActionListPresenter.kt | 8 +- .../list/PinnedMessagesListPresenterTest.kt | 2 +- .../impl/timeline/TimelinePresenterTest.kt | 58 +-- 7 files changed, 237 insertions(+), 256 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt index 388780d384..236ea211fe 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt @@ -32,22 +32,21 @@ import io.element.android.features.messages.impl.actionlist.ActionListPresenter import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.actionlist.model.TimelineItemActionPostProcessor import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents -import io.element.android.features.messages.impl.messagecomposer.MessageComposerPresenter import io.element.android.features.messages.impl.messagecomposer.MessageComposerState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerState import io.element.android.features.messages.impl.timeline.TimelineController import io.element.android.features.messages.impl.timeline.TimelineEvents import io.element.android.features.messages.impl.timeline.TimelinePresenter import io.element.android.features.messages.impl.timeline.TimelineState -import io.element.android.features.messages.impl.timeline.components.customreaction.CustomReactionPresenter -import io.element.android.features.messages.impl.timeline.components.reactionsummary.ReactionSummaryPresenter -import io.element.android.features.messages.impl.timeline.components.receipt.bottomsheet.ReadReceiptBottomSheetPresenter +import io.element.android.features.messages.impl.timeline.components.customreaction.CustomReactionState +import io.element.android.features.messages.impl.timeline.components.reactionsummary.ReactionSummaryState +import io.element.android.features.messages.impl.timeline.components.receipt.bottomsheet.ReadReceiptBottomSheetState import io.element.android.features.messages.impl.timeline.model.TimelineItem import io.element.android.features.messages.impl.timeline.model.event.TimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemStateContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextBasedContent import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState -import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPresenter +import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerState import io.element.android.features.networkmonitor.api.NetworkMonitor import io.element.android.features.networkmonitor.api.NetworkStatus import io.element.android.libraries.androidutils.clipboard.ClipboardHelper @@ -88,14 +87,14 @@ import timber.log.Timber class MessagesPresenter @AssistedInject constructor( @Assisted private val navigator: MessagesNavigator, private val room: MatrixRoom, - private val composerPresenter: MessageComposerPresenter, - private val voiceMessageComposerPresenter: VoiceMessageComposerPresenter, + private val composerPresenter: Presenter, + private val voiceMessageComposerPresenter: Presenter, timelinePresenterFactory: TimelinePresenter.Factory, private val timelineProtectionPresenter: Presenter, private val actionListPresenterFactory: ActionListPresenter.Factory, - private val customReactionPresenter: CustomReactionPresenter, - private val reactionSummaryPresenter: ReactionSummaryPresenter, - private val readReceiptBottomSheetPresenter: ReadReceiptBottomSheetPresenter, + private val customReactionPresenter: Presenter, + private val reactionSummaryPresenter: Presenter, + private val readReceiptBottomSheetPresenter: Presenter, private val pinnedMessagesBannerPresenter: Presenter, private val networkMonitor: NetworkMonitor, private val snackbarDispatcher: SnackbarDispatcher, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt index 1a5aa1c7d1..31c1d6a758 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt @@ -12,12 +12,22 @@ import dagger.Binds import dagger.Module import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailurePresenter import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState +import io.element.android.features.messages.impl.messagecomposer.MessageComposerPresenter +import io.element.android.features.messages.impl.messagecomposer.MessageComposerState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerPresenter import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerState +import io.element.android.features.messages.impl.timeline.components.customreaction.CustomReactionPresenter +import io.element.android.features.messages.impl.timeline.components.customreaction.CustomReactionState +import io.element.android.features.messages.impl.timeline.components.reactionsummary.ReactionSummaryPresenter +import io.element.android.features.messages.impl.timeline.components.reactionsummary.ReactionSummaryState +import io.element.android.features.messages.impl.timeline.components.receipt.bottomsheet.ReadReceiptBottomSheetPresenter +import io.element.android.features.messages.impl.timeline.components.receipt.bottomsheet.ReadReceiptBottomSheetState import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionPresenter import io.element.android.features.messages.impl.timeline.protection.TimelineProtectionState import io.element.android.features.messages.impl.typing.TypingNotificationPresenter import io.element.android.features.messages.impl.typing.TypingNotificationState +import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPresenter +import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerState import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.di.RoomScope @@ -35,4 +45,19 @@ interface MessagesModule { @Binds fun bindTimelineProtectionPresenter(presenter: TimelineProtectionPresenter): Presenter + + @Binds + fun bindMessageComposerPresenter(presenter: MessageComposerPresenter): Presenter + + @Binds + fun bindVoiceMessageComposerPresenter(presenter: VoiceMessageComposerPresenter): Presenter + + @Binds + fun bindCustomReactionPresenter(presenter: CustomReactionPresenter): Presenter + + @Binds + fun bindReactionSummaryPresenter(presenter: ReactionSummaryPresenter): Presenter + + @Binds + fun bindReadReceiptBottomSheetPresenter(presenter: ReadReceiptBottomSheetPresenter): Presenter } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerStateProvider.kt index 63a5eeb8c2..2730872072 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/messagecomposer/MessageComposerStateProvider.kt @@ -33,6 +33,7 @@ fun aMessageComposerState( canCreatePoll: Boolean = true, attachmentsState: AttachmentsState = AttachmentsState.None, suggestions: ImmutableList = persistentListOf(), + eventSink: (MessageComposerEvents) -> Unit = {}, ) = MessageComposerState( textEditorState = textEditorState, isFullScreen = isFullScreen, @@ -44,5 +45,5 @@ fun aMessageComposerState( attachmentsState = attachmentsState, suggestions = suggestions, resolveMentionDisplay = { _, _ -> TextDisplay.Plain }, - eventSink = {}, + eventSink = eventSink, ) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index 209d719b82..730206e696 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -7,33 +7,23 @@ package io.element.android.features.messages.impl -import android.net.Uri import app.cash.molecule.RecompositionMode import app.cash.molecule.moleculeFlow -import app.cash.turbine.ReceiveTurbine import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import im.vector.app.features.analytics.plan.PinUnpinAction +import io.element.android.features.messages.impl.actionlist.ActionListEvents import io.element.android.features.messages.impl.actionlist.ActionListState import io.element.android.features.messages.impl.actionlist.FakeActionListPresenter import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction -import io.element.android.features.messages.impl.crypto.sendfailure.resolve.aResolveVerifiedUserSendFailureState -import io.element.android.features.messages.impl.draft.FakeComposerDraftService import io.element.android.features.messages.impl.fixtures.aMessageEvent -import io.element.android.features.messages.impl.fixtures.aTimelineItemsFactoryCreator -import io.element.android.features.messages.impl.messagecomposer.DefaultMessageComposerContext -import io.element.android.features.messages.impl.messagecomposer.FakeRoomAliasSuggestionsDataSource -import io.element.android.features.messages.impl.messagecomposer.MessageComposerPresenter -import io.element.android.features.messages.impl.messagecomposer.TestRichTextEditorStateFactory -import io.element.android.features.messages.impl.messagecomposer.suggestions.SuggestionsProcessor +import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents +import io.element.android.features.messages.impl.messagecomposer.MessageComposerState +import io.element.android.features.messages.impl.messagecomposer.aMessageComposerState import io.element.android.features.messages.impl.pinned.banner.aLoadedPinnedMessagesBannerState import io.element.android.features.messages.impl.timeline.TimelineController -import io.element.android.features.messages.impl.timeline.TimelineItemIndexer import io.element.android.features.messages.impl.timeline.TimelinePresenter -import io.element.android.features.messages.impl.timeline.components.customreaction.CustomReactionPresenter -import io.element.android.features.messages.impl.timeline.components.customreaction.FakeEmojibaseProvider -import io.element.android.features.messages.impl.timeline.components.reactionsummary.ReactionSummaryPresenter -import io.element.android.features.messages.impl.timeline.components.receipt.bottomsheet.ReadReceiptBottomSheetPresenter +import io.element.android.features.messages.impl.timeline.createTimelinePresenter import io.element.android.features.messages.impl.timeline.model.event.TimelineItemFileContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemImageContent import io.element.android.features.messages.impl.timeline.model.event.TimelineItemTextContent @@ -41,25 +31,19 @@ import io.element.android.features.messages.impl.timeline.model.event.TimelineIt import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemPollContent import io.element.android.features.messages.impl.timeline.model.event.aTimelineItemTextContent import io.element.android.features.messages.impl.timeline.protection.aTimelineProtectionState -import io.element.android.features.messages.impl.typing.aTypingNotificationState -import io.element.android.features.messages.impl.utils.FakeTextPillificationHelper -import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPlayer -import io.element.android.features.messages.impl.voicemessages.composer.VoiceMessageComposerPresenter -import io.element.android.features.messages.impl.voicemessages.timeline.FakeRedactedVoiceMessageManager -import io.element.android.features.messages.test.FakeMessageComposerContext +import io.element.android.features.messages.impl.voicemessages.composer.aVoiceMessageComposerState import io.element.android.features.messages.test.timeline.FakeHtmlConverterProvider import io.element.android.features.networkmonitor.test.FakeNetworkMonitor import io.element.android.features.poll.api.actions.EndPollAction import io.element.android.features.poll.test.actions.FakeEndPollAction -import io.element.android.features.poll.test.actions.FakeSendPollResponseAction import io.element.android.libraries.androidutils.clipboard.FakeClipboardHelper import io.element.android.libraries.architecture.AsyncData +import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.core.mimetype.MimeTypes import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.avatar.AvatarSize import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher -import io.element.android.libraries.featureflag.api.FeatureFlags import io.element.android.libraries.featureflag.test.FakeFeatureFlagService import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.TransactionId @@ -72,33 +56,24 @@ import io.element.android.libraries.matrix.api.room.MatrixRoomMembersState import io.element.android.libraries.matrix.api.room.MessageEventType import io.element.android.libraries.matrix.api.room.RoomMembershipState import io.element.android.libraries.matrix.test.AN_AVATAR_URL +import io.element.android.libraries.matrix.test.AN_EVENT_ID import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.A_SESSION_ID import io.element.android.libraries.matrix.test.A_SESSION_ID_2 import io.element.android.libraries.matrix.test.A_THROWABLE import io.element.android.libraries.matrix.test.A_UNIQUE_ID import io.element.android.libraries.matrix.test.core.aBuildMeta -import io.element.android.libraries.matrix.test.permalink.FakePermalinkBuilder import io.element.android.libraries.matrix.test.permalink.FakePermalinkParser import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.matrix.test.room.aRoomInfo import io.element.android.libraries.matrix.test.room.aRoomMember import io.element.android.libraries.matrix.test.timeline.FakeTimeline -import io.element.android.libraries.matrix.ui.messages.RoomMemberProfilesCache import io.element.android.libraries.matrix.ui.messages.reply.InReplyToDetails -import io.element.android.libraries.mediapickers.test.FakePickerProvider -import io.element.android.libraries.mediaplayer.test.FakeMediaPlayer -import io.element.android.libraries.mediaupload.api.MediaSender -import io.element.android.libraries.mediaupload.test.FakeMediaPreProcessor -import io.element.android.libraries.mediaviewer.test.FakeLocalMediaFactory -import io.element.android.libraries.permissions.api.PermissionsPresenter -import io.element.android.libraries.permissions.test.FakePermissionsPresenter -import io.element.android.libraries.permissions.test.FakePermissionsPresenterFactory -import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore -import io.element.android.libraries.textcomposer.mentions.MentionSpanProvider +import io.element.android.libraries.textcomposer.model.MarkdownTextEditorState import io.element.android.libraries.textcomposer.model.MessageComposerMode -import io.element.android.libraries.voicerecorder.test.FakeVoiceRecorder +import io.element.android.libraries.textcomposer.model.TextEditorState import io.element.android.services.analytics.test.FakeAnalyticsService +import io.element.android.tests.testutils.EventsRecorder import io.element.android.tests.testutils.WarmUpRule import io.element.android.tests.testutils.consumeItemsUntilPredicate import io.element.android.tests.testutils.consumeItemsUntilTimeout @@ -107,7 +82,6 @@ import io.element.android.tests.testutils.lambda.lambdaError import io.element.android.tests.testutils.lambda.lambdaRecorder import io.element.android.tests.testutils.lambda.value import io.element.android.tests.testutils.testCoroutineDispatchers -import io.mockk.mockk import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.delay @@ -123,8 +97,6 @@ class MessagesPresenterTest { @get:Rule val warmUpRule = WarmUpRule() - private val mockMediaUrl: Uri = mockk("localMediaUri") - @Test fun `present - initial state`() = runTest { val presenter = createMessagesPresenter() @@ -212,15 +184,13 @@ class MessagesPresenterTest { }.test { skipItems(1) val initialState = awaitItem() - initialState.eventSink.invoke(MessagesEvents.ToggleReaction("👍", A_UNIQUE_ID)) - // No crashes when sending a reaction failed - timeline.apply { toggleReactionLambda = toggleReactionFailure } - initialState.eventSink.invoke(MessagesEvents.ToggleReaction("👍", A_UNIQUE_ID)) - assertThat(awaitItem().actionListState.target).isEqualTo(ActionListState.Target.None) - + initialState.eventSink(MessagesEvents.ToggleReaction("👍", A_UNIQUE_ID)) assert(toggleReactionSuccess) .isCalledOnce() .with(value("👍"), value(A_UNIQUE_ID)) + // No crashes when sending a reaction failed + timeline.apply { toggleReactionLambda = toggleReactionFailure } + initialState.eventSink(MessagesEvents.ToggleReaction("👍", A_UNIQUE_ID)) assert(toggleReactionFailure) .isCalledOnce() .with(value("👍"), value(A_UNIQUE_ID)) @@ -248,15 +218,16 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() - initialState.eventSink.invoke(MessagesEvents.ToggleReaction("👍", A_UNIQUE_ID)) - initialState.eventSink.invoke(MessagesEvents.ToggleReaction("👍", A_UNIQUE_ID)) + val initialState = awaitItem() + initialState.eventSink(MessagesEvents.ToggleReaction("👍", A_UNIQUE_ID)) + initialState.eventSink(MessagesEvents.ToggleReaction("👍", A_UNIQUE_ID)) assert(toggleReactionSuccess) .isCalledExactly(2) .withSequence( listOf(value("👍"), value(A_UNIQUE_ID)), listOf(value("👍"), value(A_UNIQUE_ID)), ) + skipItems(1) } } @@ -267,9 +238,8 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - skipItems(1) val initialState = awaitItem() - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Forward, aMessageEvent())) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Forward, aMessageEvent())) assertThat(awaitItem().actionListState.target).isEqualTo(ActionListState.Target.None) assertThat(navigator.onForwardEventClickedCount).isEqualTo(1) } @@ -283,9 +253,9 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Copy, event)) - assertThat(awaitItem().actionListState.target).isEqualTo(ActionListState.Target.None) + val initialState = awaitItem() + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Copy, event)) + skipItems(2) assertThat(clipboardHelper.clipboardContents).isEqualTo((event.content as TimelineItemTextContent).body) } } @@ -310,24 +280,33 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.CopyLink, event)) - assertThat(awaitItem().actionListState.target).isEqualTo(ActionListState.Target.None) + val initialState = awaitItem() + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.CopyLink, event)) + skipItems(2) assertThat(clipboardHelper.clipboardContents).isEqualTo("a link") } } @Test fun `present - handle action reply`() = runTest { - val presenter = createMessagesPresenter() + val composerRecorder = EventsRecorder() + val presenter = createMessagesPresenter( + messageComposerPresenter = { aMessageComposerState(eventSink = composerRecorder) }, + ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Reply, aMessageEvent())) - val finalState = awaitItem() - assertThat(finalState.composerState.mode).isInstanceOf(MessageComposerMode.Reply::class.java) - assertThat(finalState.actionListState.target).isEqualTo(ActionListState.Target.None) + val initialState = awaitItem() + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Reply, aMessageEvent())) + awaitItem() + composerRecorder.assertSingle( + MessageComposerEvents.SetMode( + composerMode = MessageComposerMode.Reply( + replyToDetails = InReplyToDetails.Loading(AN_EVENT_ID), + hideImage = false, + ) + ) + ) } } @@ -337,21 +316,22 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Reply, aMessageEvent(eventId = null))) - assertThat(initialState.actionListState.target).isEqualTo(ActionListState.Target.None) - // Otherwise we would have some extra items here - ensureAllEventsConsumed() + val initialState = awaitItem() + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Reply, aMessageEvent(eventId = null))) + skipItems(1) } } @Test fun `present - handle action reply to an image media message`() = runTest { - val presenter = createMessagesPresenter() + val composerRecorder = EventsRecorder() + val presenter = createMessagesPresenter( + messageComposerPresenter = { aMessageComposerState(eventSink = composerRecorder) }, + ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() + val initialState = awaitItem() val mediaMessage = aMessageEvent( content = TimelineItemImageContent( body = "image.jpg", @@ -368,22 +348,29 @@ class MessagesPresenterTest { formattedFileSize = "4MB" ) ) - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Reply, mediaMessage)) - val finalState = awaitItem() - assertThat(finalState.composerState.mode).isInstanceOf(MessageComposerMode.Reply::class.java) - val replyMode = finalState.composerState.mode as MessageComposerMode.Reply - assertThat(replyMode.replyToDetails).isInstanceOf(InReplyToDetails.Loading::class.java) - assertThat(finalState.actionListState.target).isEqualTo(ActionListState.Target.None) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Reply, mediaMessage)) + awaitItem() + composerRecorder.assertSingle( + MessageComposerEvents.SetMode( + composerMode = MessageComposerMode.Reply( + replyToDetails = InReplyToDetails.Loading(AN_EVENT_ID), + hideImage = false, + ) + ) + ) } } @Test fun `present - handle action reply to a video media message`() = runTest { - val presenter = createMessagesPresenter() + val composerRecorder = EventsRecorder() + val presenter = createMessagesPresenter( + messageComposerPresenter = { aMessageComposerState(eventSink = composerRecorder) }, + ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() + val initialState = awaitItem() val mediaMessage = aMessageEvent( content = TimelineItemVideoContent( body = "video.mp4", @@ -401,22 +388,29 @@ class MessagesPresenterTest { formattedFileSize = "50MB" ) ) - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Reply, mediaMessage)) - val finalState = awaitItem() - assertThat(finalState.composerState.mode).isInstanceOf(MessageComposerMode.Reply::class.java) - val replyMode = finalState.composerState.mode as MessageComposerMode.Reply - assertThat(replyMode.replyToDetails).isInstanceOf(InReplyToDetails.Loading::class.java) - assertThat(finalState.actionListState.target).isEqualTo(ActionListState.Target.None) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Reply, mediaMessage)) + awaitItem() + composerRecorder.assertSingle( + MessageComposerEvents.SetMode( + composerMode = MessageComposerMode.Reply( + replyToDetails = InReplyToDetails.Loading(AN_EVENT_ID), + hideImage = false, + ) + ) + ) } } @Test fun `present - handle action reply to a file media message`() = runTest { - val presenter = createMessagesPresenter() + val composerRecorder = EventsRecorder() + val presenter = createMessagesPresenter( + messageComposerPresenter = { aMessageComposerState(eventSink = composerRecorder) }, + ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() + val initialState = awaitItem() val mediaMessage = aMessageEvent( content = TimelineItemFileContent( body = "file.pdf", @@ -427,26 +421,40 @@ class MessagesPresenterTest { fileExtension = "pdf", ) ) - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Reply, mediaMessage)) - val finalState = awaitItem() - assertThat(finalState.composerState.mode).isInstanceOf(MessageComposerMode.Reply::class.java) - val replyMode = finalState.composerState.mode as MessageComposerMode.Reply - assertThat(replyMode.replyToDetails).isInstanceOf(InReplyToDetails.Loading::class.java) - assertThat(finalState.actionListState.target).isEqualTo(ActionListState.Target.None) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Reply, mediaMessage)) + awaitItem() + composerRecorder.assertSingle( + MessageComposerEvents.SetMode( + composerMode = MessageComposerMode.Reply( + replyToDetails = InReplyToDetails.Loading(AN_EVENT_ID), + hideImage = false, + ) + ) + ) } } @Test fun `present - handle action edit`() = runTest { - val presenter = createMessagesPresenter() + val composerRecorder = EventsRecorder() + val presenter = createMessagesPresenter( + messageComposerPresenter = { aMessageComposerState(eventSink = composerRecorder) }, + ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Edit, aMessageEvent())) - val finalState = awaitItem() - assertThat(finalState.composerState.mode).isInstanceOf(MessageComposerMode.Edit::class.java) - assertThat(finalState.actionListState.target).isEqualTo(ActionListState.Target.None) + val initialState = awaitItem() + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Edit, aMessageEvent())) + awaitItem() + composerRecorder.assertSingle( + MessageComposerEvents.SetMode( + composerMode = MessageComposerMode.Edit( + eventId = AN_EVENT_ID, + transactionId = null, + content = (aMessageEvent().content as TimelineItemTextContent).body + ) + ) + ) } } @@ -457,8 +465,9 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Edit, aMessageEvent(content = aTimelineItemPollContent()))) + val initialState = awaitItem() + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Edit, aMessageEvent(content = aTimelineItemPollContent()))) + awaitItem() assertThat(navigator.onEditPollClickedCount).isEqualTo(1) } } @@ -470,9 +479,9 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() + val initialState = awaitItem() endPollAction.verifyExecutionCount(0) - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.EndPoll, aMessageEvent(content = aTimelineItemPollContent()))) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.EndPoll, aMessageEvent(content = aTimelineItemPollContent()))) delay(1) endPollAction.verifyExecutionCount(1) cancelAndIgnoreRemainingEvents() @@ -496,16 +505,17 @@ class MessagesPresenterTest { val redactEventLambda = lambdaRecorder { _: EventId?, _: TransactionId?, _: String? -> Result.success(Unit) } liveTimeline.redactEventLambda = redactEventLambda - - val presenter = createMessagesPresenter(matrixRoom = matrixRoom, coroutineDispatchers = coroutineDispatchers) + val presenter = createMessagesPresenter( + matrixRoom = matrixRoom, + coroutineDispatchers = coroutineDispatchers, + ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - skipItems(1) val initialState = awaitItem() val messageEvent = aMessageEvent() - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Redact, messageEvent)) - assertThat(awaitItem().actionListState.target).isEqualTo(ActionListState.Target.None) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Redact, messageEvent)) + awaitItem() assert(redactEventLambda) .isCalledOnce() .with(value(messageEvent.eventId), value(messageEvent.transactionId), value(null)) @@ -519,9 +529,8 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - skipItems(1) val initialState = awaitItem() - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.ReportContent, aMessageEvent())) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.ReportContent, aMessageEvent())) assertThat(awaitItem().actionListState.target).isEqualTo(ActionListState.Target.None) assertThat(navigator.onReportContentClickedCount).isEqualTo(1) } @@ -533,9 +542,8 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - skipItems(1) val initialState = awaitItem() - initialState.eventSink.invoke(MessagesEvents.Dismiss) + initialState.eventSink(MessagesEvents.Dismiss) assertThat(awaitItem().actionListState.target).isEqualTo(ActionListState.Target.None) } } @@ -547,9 +555,8 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - skipItems(1) val initialState = awaitItem() - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.ViewSource, aMessageEvent())) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.ViewSource, aMessageEvent())) assertThat(awaitItem().actionListState.target).isEqualTo(ActionListState.Target.None) assertThat(navigator.onShowEventDebugInfoClickedCount).isEqualTo(1) } @@ -572,21 +579,18 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - skipItems(1) val initialState = awaitItem() // Initially the composer doesn't have focus, so we don't show the alert assertThat(initialState.showReinvitePrompt).isFalse() // When the input field is focused we show the alert - initialState.composerState.textEditorState.requestFocus() - val focusedState = consumeItemsUntilPredicate(timeout = 250.milliseconds) { state -> - state.showReinvitePrompt - }.last() + (initialState.composerState.textEditorState as TextEditorState.Markdown).state.hasFocus = true + skipItems(1) + val focusedState = awaitItem() assertThat(focusedState.showReinvitePrompt).isTrue() // If it's dismissed then we stop showing the alert initialState.eventSink(MessagesEvents.InviteDialogDismissed(InviteDialogAction.Cancel)) - val dismissedState = consumeItemsUntilPredicate(timeout = 250.milliseconds) { state -> - !state.showReinvitePrompt - }.last() + skipItems(1) + val dismissedState = awaitItem() assertThat(dismissedState.showReinvitePrompt).isFalse() } } @@ -608,9 +612,9 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() + val initialState = awaitItem() assertThat(initialState.showReinvitePrompt).isFalse() - initialState.composerState.textEditorState.requestFocus() + (initialState.composerState.textEditorState as TextEditorState.Markdown).state.hasFocus = true val focusedState = awaitItem() assertThat(focusedState.showReinvitePrompt).isFalse() } @@ -633,9 +637,9 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() + val initialState = awaitItem() assertThat(initialState.showReinvitePrompt).isFalse() - initialState.composerState.textEditorState.requestFocus() + (initialState.composerState.textEditorState as TextEditorState.Markdown).state.hasFocus = true val focusedState = awaitItem() assertThat(focusedState.showReinvitePrompt).isFalse() } @@ -799,7 +803,8 @@ class MessagesPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val state = awaitFirstItem() + skipItems(1) + val state = awaitItem() assertThat(state.userEventPermissions.canSendMessage).isTrue() } } @@ -826,9 +831,7 @@ class MessagesPresenterTest { }.test { // Default value assertThat(awaitItem().userEventPermissions.canSendMessage).isTrue() - skipItems(1) assertThat(awaitItem().userEventPermissions.canSendMessage).isFalse() - cancelAndIgnoreRemainingEvents() } } @@ -876,21 +879,27 @@ class MessagesPresenterTest { @Test fun `present - handle action reply to a poll`() = runTest { - val presenter = createMessagesPresenter() + val composerRecorder = EventsRecorder() + val presenter = createMessagesPresenter( + messageComposerPresenter = { aMessageComposerState(eventSink = composerRecorder) }, + ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - val initialState = awaitFirstItem() + val initialState = awaitItem() val poll = aMessageEvent( content = aTimelineItemPollContent() ) - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Reply, poll)) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Reply, poll)) val finalState = awaitItem() - assertThat(finalState.composerState.mode).isInstanceOf(MessageComposerMode.Reply::class.java) - val replyMode = finalState.composerState.mode as MessageComposerMode.Reply - - assertThat(replyMode.replyToDetails).isInstanceOf(InReplyToDetails.Loading::class.java) - assertThat(finalState.actionListState.target).isEqualTo(ActionListState.Target.None) + composerRecorder.assertSingle( + MessageComposerEvents.SetMode( + composerMode = MessageComposerMode.Reply( + replyToDetails = InReplyToDetails.Loading(AN_EVENT_ID), + hideImage = false, + ) + ) + ) } } @@ -916,15 +925,16 @@ class MessagesPresenterTest { val messageEvent = aMessageEvent( content = aTimelineItemTextContent() ) - val initialState = awaitFirstItem() + val initialState = awaitItem() timeline.pinEventLambda = successPinEventLambda - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Pin, messageEvent)) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Pin, messageEvent)) assert(successPinEventLambda).isCalledOnce().with(value(messageEvent.eventId)) timeline.pinEventLambda = failurePinEventLambda - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Pin, messageEvent)) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Pin, messageEvent)) assert(failurePinEventLambda).isCalledOnce().with(value(messageEvent.eventId)) + skipItems(1) assertThat(awaitItem().snackbarMessage).isNotNull() assertThat(analyticsService.capturedEvents).containsExactly( PinUnpinAction(kind = PinUnpinAction.Kind.Pin, from = PinUnpinAction.From.Timeline), @@ -955,15 +965,16 @@ class MessagesPresenterTest { val messageEvent = aMessageEvent( content = aTimelineItemTextContent() ) - val initialState = awaitFirstItem() + val initialState = awaitItem() timeline.unpinEventLambda = successUnpinEventLambda - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Unpin, messageEvent)) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Unpin, messageEvent)) assert(successUnpinEventLambda).isCalledOnce().with(value(messageEvent.eventId)) timeline.unpinEventLambda = failureUnpinEventLambda - initialState.eventSink.invoke(MessagesEvents.HandleAction(TimelineItemAction.Unpin, messageEvent)) + initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Unpin, messageEvent)) assert(failureUnpinEventLambda).isCalledOnce().with(value(messageEvent.eventId)) + skipItems(1) assertThat(awaitItem().snackbarMessage).isNotNull() assertThat(analyticsService.capturedEvents).containsExactly( PinUnpinAction(kind = PinUnpinAction.Kind.Unpin, from = PinUnpinAction.From.Timeline), @@ -972,12 +983,6 @@ class MessagesPresenterTest { } } - private suspend fun ReceiveTurbine.awaitFirstItem(): T { - // Skip 2 item if Mentions feature is enabled, else 1 - skipItems(if (FeatureFlags.Mentions.defaultValue(aBuildMeta())) 2 else 1) - return awaitItem() - } - private fun TestScope.createMessagesPresenter( coroutineDispatchers: CoroutineDispatchers = testCoroutineDispatchers(), matrixRoom: MatrixRoom = FakeMatrixRoom( @@ -993,83 +998,34 @@ class MessagesPresenterTest { navigator: FakeMessagesNavigator = FakeMessagesNavigator(), clipboardHelper: FakeClipboardHelper = FakeClipboardHelper(), analyticsService: FakeAnalyticsService = FakeAnalyticsService(), - permissionsPresenter: PermissionsPresenter = FakePermissionsPresenter(), endPollAction: EndPollAction = FakeEndPollAction(), permalinkParser: PermalinkParser = FakePermalinkParser(), + messageComposerPresenter: Presenter = Presenter { + aMessageComposerState( + // Use TextEditorState.Markdown, so that we can request focus manually. + textEditorState = TextEditorState.Markdown(MarkdownTextEditorState(initialText = "", initialFocus = false)) + ) + }, + actionListEventSink: (ActionListEvents) -> Unit = {}, ): MessagesPresenter { - val mediaSender = MediaSender(FakeMediaPreProcessor(), matrixRoom) - val permissionsPresenterFactory = FakePermissionsPresenterFactory(permissionsPresenter) - val sessionPreferencesStore = InMemorySessionPreferencesStore() - val mentionSpanProvider = MentionSpanProvider(FakePermalinkParser()) - val messageComposerPresenter = MessageComposerPresenter( - appCoroutineScope = this, - room = matrixRoom, - mediaPickerProvider = FakePickerProvider(), - featureFlagService = FakeFeatureFlagService(mapOf(FeatureFlags.NotificationSettings.key to true)), - sessionPreferencesStore = InMemorySessionPreferencesStore(), - localMediaFactory = FakeLocalMediaFactory(mockMediaUrl), - mediaSender = mediaSender, - snackbarDispatcher = SnackbarDispatcher(), - analyticsService = analyticsService, - messageComposerContext = DefaultMessageComposerContext(), - richTextEditorStateFactory = TestRichTextEditorStateFactory(), - roomAliasSuggestionsDataSource = FakeRoomAliasSuggestionsDataSource(), - permissionsPresenterFactory = permissionsPresenterFactory, - permalinkParser = FakePermalinkParser(), - permalinkBuilder = FakePermalinkBuilder(), - timelineController = TimelineController(matrixRoom), - draftService = FakeComposerDraftService(), - mentionSpanProvider = mentionSpanProvider, - pillificationHelper = FakeTextPillificationHelper(), - roomMemberProfilesCache = RoomMemberProfilesCache(), - suggestionsProcessor = SuggestionsProcessor(), - ).apply { - showTextFormatting = true - isTesting = true - } - val voiceMessageComposerPresenter = VoiceMessageComposerPresenter( - this, - FakeVoiceRecorder(), - analyticsService, - mediaSender, - player = VoiceMessageComposerPlayer(FakeMediaPlayer(), this), - messageComposerContext = FakeMessageComposerContext(), - permissionsPresenterFactory, - ) - val timelinePresenter = TimelinePresenter( - timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(), - room = matrixRoom, - dispatchers = coroutineDispatchers, - appScope = this, - navigator = navigator, - redactedVoiceMessageManager = FakeRedactedVoiceMessageManager(), - endPollAction = endPollAction, - sendPollResponseAction = FakeSendPollResponseAction(), - sessionPreferencesStore = sessionPreferencesStore, - timelineItemIndexer = TimelineItemIndexer(), - timelineController = TimelineController(matrixRoom), - resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() }, - typingNotificationPresenter = { aTypingNotificationState() }, - ) val timelinePresenterFactory = object : TimelinePresenter.Factory { override fun create(navigator: MessagesNavigator): TimelinePresenter { - return timelinePresenter + return createTimelinePresenter( + endPollAction = endPollAction, + ) } } val featureFlagService = FakeFeatureFlagService() - val readReceiptBottomSheetPresenter = ReadReceiptBottomSheetPresenter() - val customReactionPresenter = CustomReactionPresenter(emojibaseProvider = FakeEmojibaseProvider()) - val reactionSummaryPresenter = ReactionSummaryPresenter(room = matrixRoom) return MessagesPresenter( room = matrixRoom, composerPresenter = messageComposerPresenter, - voiceMessageComposerPresenter = voiceMessageComposerPresenter, + voiceMessageComposerPresenter = { aVoiceMessageComposerState() }, timelinePresenterFactory = timelinePresenterFactory, timelineProtectionPresenter = { aTimelineProtectionState() }, - actionListPresenterFactory = FakeActionListPresenter.Factory, - customReactionPresenter = customReactionPresenter, - reactionSummaryPresenter = reactionSummaryPresenter, - readReceiptBottomSheetPresenter = readReceiptBottomSheetPresenter, + actionListPresenterFactory = FakeActionListPresenter.Factory(actionListEventSink), + customReactionPresenter = { aCustomReactionState() }, + reactionSummaryPresenter = { aReactionSummaryState() }, + readReceiptBottomSheetPresenter = { aReadReceiptBottomSheetState() }, pinnedMessagesBannerPresenter = { aLoadedPinnedMessagesBannerState() }, networkMonitor = FakeNetworkMonitor(), snackbarDispatcher = SnackbarDispatcher(), diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/actionlist/FakeActionListPresenter.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/actionlist/FakeActionListPresenter.kt index 468fd0620b..14f62a1daf 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/actionlist/FakeActionListPresenter.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/actionlist/FakeActionListPresenter.kt @@ -10,15 +10,15 @@ package io.element.android.features.messages.impl.actionlist import androidx.compose.runtime.Composable import io.element.android.features.messages.impl.actionlist.model.TimelineItemActionPostProcessor -class FakeActionListPresenter : ActionListPresenter { - object Factory : ActionListPresenter.Factory { +class FakeActionListPresenter(private val eventSink: (ActionListEvents) -> Unit = {}) : ActionListPresenter { + class Factory(private val eventSink: (ActionListEvents) -> Unit = {}) : ActionListPresenter.Factory { override fun create(postProcessor: TimelineItemActionPostProcessor): ActionListPresenter { - return FakeActionListPresenter() + return FakeActionListPresenter(eventSink) } } @Composable override fun present(): ActionListState { - return anActionListState() + return anActionListState(eventSink = eventSink) } } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt index b8715568d1..1036788cbb 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/pinned/list/PinnedMessagesListPresenterTest.kt @@ -312,7 +312,7 @@ class PinnedMessagesListPresenterTest { timelineProvider = timelineProvider, timelineProtectionPresenter = { aTimelineProtectionState() }, snackbarDispatcher = SnackbarDispatcher(), - actionListPresenterFactory = FakeActionListPresenter.Factory, + actionListPresenterFactory = FakeActionListPresenter.Factory(), analyticsService = analyticsService, appCoroutineScope = this, ) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt index a008feac24..74df8ee46c 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenterTest.kt @@ -656,34 +656,34 @@ import kotlin.time.Duration.Companion.seconds private suspend fun ReceiveTurbine.awaitFirstItem(): T { return awaitItem() } +} - private fun TestScope.createTimelinePresenter( - timeline: Timeline = FakeTimeline(), - room: FakeMatrixRoom = FakeMatrixRoom( - liveTimeline = timeline, - canUserSendMessageResult = { _, _ -> Result.success(true) } - ), - redactedVoiceMessageManager: RedactedVoiceMessageManager = FakeRedactedVoiceMessageManager(), - messagesNavigator: FakeMessagesNavigator = FakeMessagesNavigator(), - endPollAction: EndPollAction = FakeEndPollAction(), - sendPollResponseAction: SendPollResponseAction = FakeSendPollResponseAction(), - sessionPreferencesStore: InMemorySessionPreferencesStore = InMemorySessionPreferencesStore(), - timelineItemIndexer: TimelineItemIndexer = TimelineItemIndexer(), - ): TimelinePresenter { - return TimelinePresenter( - timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(), - room = room, - dispatchers = testCoroutineDispatchers(), - appScope = this, - navigator = messagesNavigator, - redactedVoiceMessageManager = redactedVoiceMessageManager, - endPollAction = endPollAction, - sendPollResponseAction = sendPollResponseAction, - sessionPreferencesStore = sessionPreferencesStore, - timelineItemIndexer = timelineItemIndexer, - timelineController = TimelineController(room), - resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() }, - typingNotificationPresenter = { aTypingNotificationState() }, - ) - } +internal fun TestScope.createTimelinePresenter( + timeline: Timeline = FakeTimeline(), + room: FakeMatrixRoom = FakeMatrixRoom( + liveTimeline = timeline, + canUserSendMessageResult = { _, _ -> Result.success(true) } + ), + redactedVoiceMessageManager: RedactedVoiceMessageManager = FakeRedactedVoiceMessageManager(), + messagesNavigator: FakeMessagesNavigator = FakeMessagesNavigator(), + endPollAction: EndPollAction = FakeEndPollAction(), + sendPollResponseAction: SendPollResponseAction = FakeSendPollResponseAction(), + sessionPreferencesStore: InMemorySessionPreferencesStore = InMemorySessionPreferencesStore(), + timelineItemIndexer: TimelineItemIndexer = TimelineItemIndexer(), +): TimelinePresenter { + return TimelinePresenter( + timelineItemsFactoryCreator = aTimelineItemsFactoryCreator(), + room = room, + dispatchers = testCoroutineDispatchers(), + appScope = this, + navigator = messagesNavigator, + redactedVoiceMessageManager = redactedVoiceMessageManager, + endPollAction = endPollAction, + sendPollResponseAction = sendPollResponseAction, + sessionPreferencesStore = sessionPreferencesStore, + timelineItemIndexer = timelineItemIndexer, + timelineController = TimelineController(room), + resolveVerifiedUserSendFailurePresenter = { aResolveVerifiedUserSendFailureState() }, + typingNotificationPresenter = { aTypingNotificationState() }, + ) } From 6cfebc18fa9f1f3c9d8959026ebde432748cd27f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 15:23:25 +0200 Subject: [PATCH 119/151] Cleanup --- .../android/features/messages/impl/MessagesPresenterTest.kt | 2 +- .../members/moderation/RoomMembersModerationPresenter.kt | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index 730206e696..284f141d41 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -891,7 +891,7 @@ class MessagesPresenterTest { content = aTimelineItemPollContent() ) initialState.eventSink(MessagesEvents.HandleAction(TimelineItemAction.Reply, poll)) - val finalState = awaitItem() + skipItems(1) composerRecorder.assertSingle( MessageComposerEvents.SetMode( composerMode = MessageComposerMode.Reply( diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationPresenter.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationPresenter.kt index a2dce0fe2d..0b9e744dd2 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationPresenter.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/members/moderation/RoomMembersModerationPresenter.kt @@ -16,14 +16,12 @@ import androidx.compose.runtime.produceState import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue -import com.squareup.anvil.annotations.ContributesBinding import im.vector.app.features.analytics.plan.RoomModeration import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.runUpdatingState import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.core.extensions.finally -import io.element.android.libraries.di.RoomScope import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.RoomMember @@ -84,7 +82,8 @@ class RoomMembersModerationPresenter @Inject constructor( moderationActions = buildList { add(ModerationAction.DisplayProfile(event.roomMember.userId)) val currentUserMemberPowerLevel = room.userRole(room.sessionId) - .getOrDefault(RoomMember.Role.USER).powerLevel + .getOrDefault(RoomMember.Role.USER) + .powerLevel if (currentUserMemberPowerLevel > event.roomMember.powerLevel) { if (canKick()) { add(ModerationAction.KickUser(event.roomMember.userId)) From 25e5fde061328980f0c856e513c8fa9cba139c3f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 15:27:58 +0200 Subject: [PATCH 120/151] Fix compilation issue on minimal app. --- .../android/samples/minimal/RoomListScreen.kt | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt index c6a2d49c89..59969ec622 100644 --- a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt +++ b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt @@ -13,8 +13,8 @@ import androidx.compose.runtime.DisposableEffect import androidx.compose.ui.Modifier import io.element.android.features.invite.impl.response.AcceptDeclineInvitePresenter import io.element.android.features.invite.impl.response.AcceptDeclineInviteView -import io.element.android.features.leaveroom.impl.DefaultLeaveRoomPresenter -import io.element.android.features.logout.impl.direct.DefaultDirectLogoutPresenter +import io.element.android.features.leaveroom.impl.LeaveRoomPresenter +import io.element.android.features.logout.impl.direct.DirectLogoutPresenter import io.element.android.features.networkmonitor.impl.DefaultNetworkMonitor import io.element.android.features.roomlist.impl.RoomListPresenter import io.element.android.features.roomlist.impl.RoomListView @@ -33,8 +33,7 @@ import io.element.android.libraries.eventformatter.impl.DefaultRoomLastMessageFo import io.element.android.libraries.eventformatter.impl.ProfileChangeContentFormatter import io.element.android.libraries.eventformatter.impl.RoomMembershipContentFormatter import io.element.android.libraries.eventformatter.impl.StateContentFormatter -import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsPresenter -import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState +import io.element.android.libraries.fullscreenintent.api.aFullScreenIntentPermissionsState import io.element.android.libraries.indicator.impl.DefaultIndicatorService import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.core.RoomId @@ -87,7 +86,7 @@ class RoomListScreen( client = matrixClient, networkMonitor = DefaultNetworkMonitor(context, Singleton.appScope), snackbarDispatcher = SnackbarDispatcher(), - leaveRoomPresenter = DefaultLeaveRoomPresenter(matrixClient, RoomMembershipObserver(), coroutineDispatchers), + leaveRoomPresenter = LeaveRoomPresenter(matrixClient, RoomMembershipObserver(), coroutineDispatchers), roomListDataSource = RoomListDataSource( roomListService = matrixClient.roomListService, roomListRoomSummaryFactory = roomListRoomSummaryFactory, @@ -123,19 +122,9 @@ class RoomListScreen( notificationCleaner = FakeNotificationCleaner(), ), analyticsService = NoopAnalyticsService(), - fullScreenIntentPermissionsPresenter = object : FullScreenIntentPermissionsPresenter { - @Composable - override fun present(): FullScreenIntentPermissionsState { - return FullScreenIntentPermissionsState( - permissionGranted = true, - shouldDisplayBanner = false, - dismissFullScreenIntentBanner = {}, - openFullScreenIntentSettings = {} - ) - } - }, + fullScreenIntentPermissionsPresenter = { aFullScreenIntentPermissionsState() }, notificationCleaner = FakeNotificationCleaner(), - logoutPresenter = DefaultDirectLogoutPresenter(matrixClient, encryptionService), + logoutPresenter = DirectLogoutPresenter(matrixClient, encryptionService), ) @Composable From 792bc25ca25dfff0744a38c39dc7d8381db576fe Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 16:39:04 +0200 Subject: [PATCH 121/151] Remove FakeLeaveRoomPresenter --- .../leaveroom/api/LeaveRoomStateProvider.kt | 3 +- features/leaveroom/test/build.gradle.kts | 21 ---------- .../leaveroom/fake/FakeLeaveRoomPresenter.kt | 38 ------------------- features/roomdetails/impl/build.gradle.kts | 1 - .../roomdetails/RoomDetailsPresenterTest.kt | 22 ++++------- features/roomlist/impl/build.gradle.kts | 1 - .../roomlist/impl/RoomListPresenterTest.kt | 15 +++++--- 7 files changed, 18 insertions(+), 83 deletions(-) delete mode 100644 features/leaveroom/test/build.gradle.kts delete mode 100644 features/leaveroom/test/src/main/kotlin/io/element/android/features/leaveroom/fake/FakeLeaveRoomPresenter.kt diff --git a/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomStateProvider.kt b/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomStateProvider.kt index eb7a90fd31..fef638310c 100644 --- a/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomStateProvider.kt +++ b/features/leaveroom/api/src/main/kotlin/io/element/android/features/leaveroom/api/LeaveRoomStateProvider.kt @@ -57,9 +57,10 @@ fun aLeaveRoomState( confirmation: LeaveRoomState.Confirmation = LeaveRoomState.Confirmation.Hidden, progress: LeaveRoomState.Progress = LeaveRoomState.Progress.Hidden, error: LeaveRoomState.Error = LeaveRoomState.Error.Hidden, + eventSink: (LeaveRoomEvent) -> Unit = {}, ) = LeaveRoomState( confirmation = confirmation, progress = progress, error = error, - eventSink = {}, + eventSink = eventSink, ) diff --git a/features/leaveroom/test/build.gradle.kts b/features/leaveroom/test/build.gradle.kts deleted file mode 100644 index 395542cab1..0000000000 --- a/features/leaveroom/test/build.gradle.kts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2022-2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -plugins { - id("io.element.android-compose-library") -} - -android { - namespace = "io.element.android.features.leaveroom.test" -} - -dependencies { - implementation(projects.libraries.core) - implementation(projects.libraries.architecture) - implementation(projects.libraries.matrix.api) - api(projects.features.leaveroom.api) -} diff --git a/features/leaveroom/test/src/main/kotlin/io/element/android/features/leaveroom/fake/FakeLeaveRoomPresenter.kt b/features/leaveroom/test/src/main/kotlin/io/element/android/features/leaveroom/fake/FakeLeaveRoomPresenter.kt deleted file mode 100644 index 6de7c631d9..0000000000 --- a/features/leaveroom/test/src/main/kotlin/io/element/android/features/leaveroom/fake/FakeLeaveRoomPresenter.kt +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright 2023, 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.leaveroom.fake - -import androidx.compose.runtime.Composable -import io.element.android.features.leaveroom.api.LeaveRoomEvent -import io.element.android.features.leaveroom.api.LeaveRoomState -import io.element.android.libraries.architecture.Presenter - -class FakeLeaveRoomPresenter : Presenter { - val events = mutableListOf() - - private fun handleEvent(event: LeaveRoomEvent) { - events += event - } - - private var state = LeaveRoomState( - confirmation = LeaveRoomState.Confirmation.Hidden, - progress = LeaveRoomState.Progress.Hidden, - error = LeaveRoomState.Error.Hidden, - eventSink = ::handleEvent, - ) - set(value) { - field = value.copy(eventSink = ::handleEvent) - } - - fun givenState(state: LeaveRoomState) { - this.state = state - } - - @Composable - override fun present(): LeaveRoomState = state -} diff --git a/features/roomdetails/impl/build.gradle.kts b/features/roomdetails/impl/build.gradle.kts index c8bf9d36f1..42f27963f3 100644 --- a/features/roomdetails/impl/build.gradle.kts +++ b/features/roomdetails/impl/build.gradle.kts @@ -64,7 +64,6 @@ dependencies { testImplementation(projects.libraries.usersearch.test) testImplementation(projects.libraries.featureflag.test) testImplementation(projects.tests.testutils) - testImplementation(projects.features.leaveroom.test) testImplementation(projects.features.createroom.test) testImplementation(projects.services.analytics.test) testImplementation(libs.androidx.compose.ui.test.junit) diff --git a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/RoomDetailsPresenterTest.kt b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/RoomDetailsPresenterTest.kt index 2644bd5073..73eee2092e 100644 --- a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/RoomDetailsPresenterTest.kt +++ b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/RoomDetailsPresenterTest.kt @@ -17,7 +17,7 @@ import im.vector.app.features.analytics.plan.Interaction import io.element.android.features.createroom.test.FakeStartDMAction import io.element.android.features.leaveroom.api.LeaveRoomEvent import io.element.android.features.leaveroom.api.LeaveRoomState -import io.element.android.features.leaveroom.fake.FakeLeaveRoomPresenter +import io.element.android.features.leaveroom.api.aLeaveRoomState import io.element.android.features.roomdetails.impl.RoomDetailsEvent import io.element.android.features.roomdetails.impl.RoomDetailsPresenter import io.element.android.features.roomdetails.impl.RoomDetailsState @@ -25,7 +25,6 @@ import io.element.android.features.roomdetails.impl.RoomDetailsType import io.element.android.features.roomdetails.impl.RoomTopicState import io.element.android.features.roomdetails.impl.members.aRoomMember import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsPresenter -import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.featureflag.api.FeatureFlags import io.element.android.libraries.featureflag.test.FakeFeatureFlagService @@ -46,6 +45,7 @@ import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.matrix.test.room.aRoomInfo import io.element.android.services.analytics.api.AnalyticsService import io.element.android.services.analytics.test.FakeAnalyticsService +import io.element.android.tests.testutils.EventsRecorder import io.element.android.tests.testutils.FakeLifecycleOwner import io.element.android.tests.testutils.WarmUpRule import io.element.android.tests.testutils.consumeItemsUntilPredicate @@ -73,7 +73,7 @@ class RoomDetailsPresenterTest { private fun TestScope.createRoomDetailsPresenter( room: MatrixRoom = aMatrixRoom(), - leaveRoomPresenter: Presenter = FakeLeaveRoomPresenter(), + leaveRoomState: LeaveRoomState = aLeaveRoomState(), dispatchers: CoroutineDispatchers = testCoroutineDispatchers(), notificationSettingsService: FakeNotificationSettingsService = FakeNotificationSettingsService(), analyticsService: AnalyticsService = FakeAnalyticsService(), @@ -94,7 +94,7 @@ class RoomDetailsPresenterTest { featureFlagService = featureFlagService, notificationSettingsService = matrixClient.notificationSettingsService(), roomMembersDetailsPresenterFactory = roomMemberDetailsPresenterFactory, - leaveRoomPresenter = leaveRoomPresenter, + leaveRoomPresenter = { leaveRoomState }, dispatchers = dispatchers, isPinnedMessagesFeatureEnabled = { isPinnedMessagesFeatureEnabled }, analyticsService = analyticsService, @@ -476,7 +476,7 @@ class RoomDetailsPresenterTest { @Test fun `present - leave room event is passed on to leave room presenter`() = runTest { - val leaveRoomPresenter = FakeLeaveRoomPresenter() + val leaveRoomEventRecorder = EventsRecorder() val room = aMatrixRoom( canInviteResult = { Result.success(true) }, canUserJoinCallResult = { Result.success(true) }, @@ -484,25 +484,18 @@ class RoomDetailsPresenterTest { ) val presenter = createRoomDetailsPresenter( room = room, - leaveRoomPresenter = leaveRoomPresenter, + leaveRoomState = aLeaveRoomState(eventSink = leaveRoomEventRecorder), dispatchers = testCoroutineDispatchers() ) presenter.test { awaitItem().eventSink(RoomDetailsEvent.LeaveRoom) - - assertThat(leaveRoomPresenter.events).contains( - LeaveRoomEvent.ShowConfirmation( - room.roomId - ) - ) - + leaveRoomEventRecorder.assertSingle(LeaveRoomEvent.ShowConfirmation(room.roomId)) cancelAndIgnoreRemainingEvents() } } @Test fun `present - notification mode changes`() = runTest { - val leaveRoomPresenter = FakeLeaveRoomPresenter() val notificationSettingsService = FakeNotificationSettingsService() val room = aMatrixRoom( notificationSettingsService = notificationSettingsService, @@ -512,7 +505,6 @@ class RoomDetailsPresenterTest { ) val presenter = createRoomDetailsPresenter( room = room, - leaveRoomPresenter = leaveRoomPresenter, notificationSettingsService = notificationSettingsService, ) presenter.test { diff --git a/features/roomlist/impl/build.gradle.kts b/features/roomlist/impl/build.gradle.kts index c0e219016f..cb9c8670d0 100644 --- a/features/roomlist/impl/build.gradle.kts +++ b/features/roomlist/impl/build.gradle.kts @@ -74,5 +74,4 @@ dependencies { testImplementation(projects.features.networkmonitor.test) testImplementation(projects.features.logout.test) testImplementation(projects.tests.testutils) - testImplementation(projects.features.leaveroom.test) } diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt index 259f6a8ed9..9fad11783d 100644 --- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt +++ b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt @@ -17,7 +17,7 @@ import io.element.android.features.invite.api.response.AcceptDeclineInviteState import io.element.android.features.invite.api.response.anAcceptDeclineInviteState import io.element.android.features.leaveroom.api.LeaveRoomEvent import io.element.android.features.leaveroom.api.LeaveRoomState -import io.element.android.features.leaveroom.fake.FakeLeaveRoomPresenter +import io.element.android.features.leaveroom.api.aLeaveRoomState import io.element.android.features.logout.api.direct.aDirectLogoutState import io.element.android.features.networkmonitor.api.NetworkMonitor import io.element.android.features.networkmonitor.test.FakeNetworkMonitor @@ -368,15 +368,18 @@ class RoomListPresenterTest { @Test fun `present - leave room calls into leave room presenter`() = runTest { - val leaveRoomPresenter = FakeLeaveRoomPresenter() + val leaveRoomEventsRecorder = EventsRecorder() val scope = CoroutineScope(coroutineContext + SupervisorJob()) - val presenter = createRoomListPresenter(leaveRoomPresenter = leaveRoomPresenter, coroutineScope = scope) + val presenter = createRoomListPresenter( + leaveRoomState = aLeaveRoomState(eventSink = leaveRoomEventsRecorder), + coroutineScope = scope, + ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { val initialState = awaitItem() initialState.eventSink(RoomListEvents.LeaveRoom(A_ROOM_ID)) - assertThat(leaveRoomPresenter.events).containsExactly(LeaveRoomEvent.ShowConfirmation(A_ROOM_ID)) + leaveRoomEventsRecorder.assertSingle(LeaveRoomEvent.ShowConfirmation(A_ROOM_ID)) cancelAndIgnoreRemainingEvents() scope.cancel() } @@ -671,7 +674,7 @@ class RoomListPresenterTest { client: MatrixClient = FakeMatrixClient(), networkMonitor: NetworkMonitor = FakeNetworkMonitor(), snackbarDispatcher: SnackbarDispatcher = SnackbarDispatcher(), - leaveRoomPresenter: Presenter = FakeLeaveRoomPresenter(), + leaveRoomState: LeaveRoomState = aLeaveRoomState(), lastMessageTimestampFormatter: LastMessageTimestampFormatter = FakeLastMessageTimestampFormatter().apply { givenFormat(A_FORMATTED_DATE) }, @@ -688,7 +691,7 @@ class RoomListPresenterTest { client = client, networkMonitor = networkMonitor, snackbarDispatcher = snackbarDispatcher, - leaveRoomPresenter = leaveRoomPresenter, + leaveRoomPresenter = { leaveRoomState }, roomListDataSource = RoomListDataSource( roomListService = client.roomListService, roomListRoomSummaryFactory = RoomListRoomSummaryFactory( From b60d7ba54a16a749aaf7de5e2be04ba75ea1bca9 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 16:44:32 +0200 Subject: [PATCH 122/151] Use backgroundScope --- .../ftue/impl/DefaultFtueServiceTest.kt | 52 ++++------------ .../roomlist/impl/RoomListPresenterTest.kt | 59 +++---------------- ...aultOnMissedCallNotificationHandlerTest.kt | 8 +-- 3 files changed, 20 insertions(+), 99 deletions(-) diff --git a/features/ftue/impl/src/test/kotlin/io/element/android/features/ftue/impl/DefaultFtueServiceTest.kt b/features/ftue/impl/src/test/kotlin/io/element/android/features/ftue/impl/DefaultFtueServiceTest.kt index 2abf5b8d18..10189c3c67 100644 --- a/features/ftue/impl/src/test/kotlin/io/element/android/features/ftue/impl/DefaultFtueServiceTest.kt +++ b/features/ftue/impl/src/test/kotlin/io/element/android/features/ftue/impl/DefaultFtueServiceTest.kt @@ -15,18 +15,19 @@ import io.element.android.features.ftue.impl.state.DefaultFtueService import io.element.android.features.ftue.impl.state.FtueStep import io.element.android.features.lockscreen.api.LockScreenService import io.element.android.features.lockscreen.test.FakeLockScreenService +import io.element.android.libraries.matrix.api.verification.SessionVerificationService import io.element.android.libraries.matrix.api.verification.SessionVerifiedStatus import io.element.android.libraries.matrix.test.verification.FakeSessionVerificationService +import io.element.android.libraries.permissions.api.PermissionStateProvider import io.element.android.libraries.permissions.impl.FakePermissionStateProvider +import io.element.android.libraries.preferences.api.store.SessionPreferencesStore import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore import io.element.android.services.analytics.api.AnalyticsService import io.element.android.services.analytics.test.FakeAnalyticsService import io.element.android.services.toolbox.test.sdk.FakeBuildVersionSdkIntProvider import io.element.android.tests.testutils.lambda.lambdaRecorder import io.element.android.tests.testutils.lambda.value -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.SupervisorJob -import kotlinx.coroutines.cancel +import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runTest import org.junit.Test @@ -36,8 +37,9 @@ class DefaultFtueServiceTest { val sessionVerificationService = FakeSessionVerificationService().apply { givenVerifiedStatus(SessionVerifiedStatus.Unknown) } - val coroutineScope = CoroutineScope(coroutineContext + SupervisorJob()) - val service = createDefaultFtueService(coroutineScope, sessionVerificationService) + val service = createDefaultFtueService( + sessionVerificationService = sessionVerificationService, + ) service.state.test { // Verification state is unknown, we don't display the flow yet @@ -47,9 +49,6 @@ class DefaultFtueServiceTest { sessionVerificationService.givenVerifiedStatus(SessionVerifiedStatus.NotVerified) assertThat(awaitItem()).isEqualTo(FtueState.Incomplete) } - - // Cleanup - coroutineScope.cancel() } @Test @@ -58,10 +57,7 @@ class DefaultFtueServiceTest { val sessionVerificationService = FakeSessionVerificationService() val permissionStateProvider = FakePermissionStateProvider(permissionGranted = true) val lockScreenService = FakeLockScreenService() - val coroutineScope = CoroutineScope(coroutineContext + SupervisorJob()) - val service = createDefaultFtueService( - coroutineScope = coroutineScope, sessionVerificationService = sessionVerificationService, analyticsService = analyticsService, permissionStateProvider = permissionStateProvider, @@ -75,9 +71,6 @@ class DefaultFtueServiceTest { service.updateState() assertThat(service.state.value).isEqualTo(FtueState.Complete) - - // Cleanup - coroutineScope.cancel() } @Test @@ -88,10 +81,7 @@ class DefaultFtueServiceTest { val analyticsService = FakeAnalyticsService() val permissionStateProvider = FakePermissionStateProvider(permissionGranted = false) val lockScreenService = FakeLockScreenService() - val coroutineScope = CoroutineScope(coroutineContext + SupervisorJob()) - val service = createDefaultFtueService( - coroutineScope = coroutineScope, sessionVerificationService = sessionVerificationService, analyticsService = analyticsService, permissionStateProvider = permissionStateProvider, @@ -126,20 +116,15 @@ class DefaultFtueServiceTest { // Final state null, ) - - // Cleanup - coroutineScope.cancel() } @Test fun `if a check for a step is true, start from the next one`() = runTest { - val coroutineScope = CoroutineScope(coroutineContext + SupervisorJob()) val sessionVerificationService = FakeSessionVerificationService() val analyticsService = FakeAnalyticsService() val permissionStateProvider = FakePermissionStateProvider(permissionGranted = false) val lockScreenService = FakeLockScreenService() val service = createDefaultFtueService( - coroutineScope = coroutineScope, sessionVerificationService = sessionVerificationService, analyticsService = analyticsService, permissionStateProvider = permissionStateProvider, @@ -155,14 +140,10 @@ class DefaultFtueServiceTest { analyticsService.setDidAskUserConsent() assertThat(service.getNextStep(null)).isNull() - - // Cleanup - coroutineScope.cancel() } @Test fun `if version is older than 13 we don't display the notification opt in screen`() = runTest { - val coroutineScope = CoroutineScope(coroutineContext + SupervisorJob()) val sessionVerificationService = FakeSessionVerificationService() val analyticsService = FakeAnalyticsService() val lockScreenService = FakeLockScreenService() @@ -170,7 +151,6 @@ class DefaultFtueServiceTest { val service = createDefaultFtueService( sdkIntVersion = Build.VERSION_CODES.M, sessionVerificationService = sessionVerificationService, - coroutineScope = coroutineScope, analyticsService = analyticsService, lockScreenService = lockScreenService, ) @@ -182,14 +162,10 @@ class DefaultFtueServiceTest { analyticsService.setDidAskUserConsent() assertThat(service.getNextStep(null)).isNull() - - // Cleanup - coroutineScope.cancel() } @Test fun `reset do the expected actions S`() = runTest { - val coroutineScope = CoroutineScope(coroutineContext + SupervisorJob()) val resetAnalyticsLambda = lambdaRecorder { } val analyticsService = FakeAnalyticsService( resetLambda = resetAnalyticsLambda @@ -199,7 +175,6 @@ class DefaultFtueServiceTest { resetPermissionLambda = resetPermissionLambda ) val service = createDefaultFtueService( - coroutineScope = coroutineScope, sdkIntVersion = Build.VERSION_CODES.S, permissionStateProvider = permissionStateProvider, analyticsService = analyticsService, @@ -211,7 +186,6 @@ class DefaultFtueServiceTest { @Test fun `reset do the expected actions TIRAMISU`() = runTest { - val coroutineScope = CoroutineScope(coroutineContext + SupervisorJob()) val resetLambda = lambdaRecorder { } val analyticsService = FakeAnalyticsService( resetLambda = resetLambda @@ -221,7 +195,6 @@ class DefaultFtueServiceTest { resetPermissionLambda = resetPermissionLambda ) val service = createDefaultFtueService( - coroutineScope = coroutineScope, sdkIntVersion = Build.VERSION_CODES.TIRAMISU, permissionStateProvider = permissionStateProvider, analyticsService = analyticsService, @@ -232,17 +205,16 @@ class DefaultFtueServiceTest { .with(value("android.permission.POST_NOTIFICATIONS")) } - private fun createDefaultFtueService( - coroutineScope: CoroutineScope, - sessionVerificationService: FakeSessionVerificationService = FakeSessionVerificationService(), + private fun TestScope.createDefaultFtueService( + sessionVerificationService: SessionVerificationService = FakeSessionVerificationService(), analyticsService: AnalyticsService = FakeAnalyticsService(), - permissionStateProvider: FakePermissionStateProvider = FakePermissionStateProvider(permissionGranted = false), + permissionStateProvider: PermissionStateProvider = FakePermissionStateProvider(permissionGranted = false), lockScreenService: LockScreenService = FakeLockScreenService(), - sessionPreferencesStore: InMemorySessionPreferencesStore = InMemorySessionPreferencesStore(), + sessionPreferencesStore: SessionPreferencesStore = InMemorySessionPreferencesStore(), // First version where notification permission is required sdkIntVersion: Int = Build.VERSION_CODES.TIRAMISU, ) = DefaultFtueService( - sessionCoroutineScope = coroutineScope, + sessionCoroutineScope = backgroundScope, sessionVerificationService = sessionVerificationService, sdkVersionProvider = FakeBuildVersionSdkIntProvider(sdkIntVersion), analyticsService = analyticsService, diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt index 9fad11783d..91242df095 100644 --- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt +++ b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt @@ -82,10 +82,7 @@ import io.element.android.tests.testutils.lambda.lambdaRecorder import io.element.android.tests.testutils.lambda.value import io.element.android.tests.testutils.test import io.element.android.tests.testutils.testCoroutineDispatchers -import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.SupervisorJob -import kotlinx.coroutines.cancel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.advanceTimeBy @@ -100,7 +97,6 @@ class RoomListPresenterTest { @Test fun `present - should start with no user and then load user with success`() = runTest { - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val matrixClient = FakeMatrixClient( userDisplayName = null, userAvatarUrl = null, @@ -108,7 +104,6 @@ class RoomListPresenterTest { matrixClient.givenGetProfileResult(matrixClient.sessionId, Result.success(MatrixUser(matrixClient.sessionId, A_USER_NAME, AN_AVATAR_URL))) val presenter = createRoomListPresenter( client = matrixClient, - coroutineScope = scope, ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -120,13 +115,11 @@ class RoomListPresenterTest { assertThat(withUserState.matrixUser.displayName).isEqualTo(A_USER_NAME) assertThat(withUserState.matrixUser.avatarUrl).isEqualTo(AN_AVATAR_URL) assertThat(withUserState.showAvatarIndicator).isTrue() - scope.cancel() } } @Test fun `present - show avatar indicator`() = runTest { - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val encryptionService = FakeEncryptionService() val sessionVerificationService = FakeSessionVerificationService() val matrixClient = FakeMatrixClient( @@ -135,7 +128,6 @@ class RoomListPresenterTest { ) val presenter = createRoomListPresenter( client = matrixClient, - coroutineScope = scope ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -146,7 +138,6 @@ class RoomListPresenterTest { encryptionService.emitBackupState(BackupState.ENABLED) val finalState = awaitItem() assertThat(finalState.showAvatarIndicator).isFalse() - scope.cancel() } } @@ -157,8 +148,7 @@ class RoomListPresenterTest { userAvatarUrl = null, ) matrixClient.givenGetProfileResult(matrixClient.sessionId, Result.failure(AN_EXCEPTION)) - val scope = CoroutineScope(coroutineContext + SupervisorJob()) - val presenter = createRoomListPresenter(client = matrixClient, coroutineScope = scope) + val presenter = createRoomListPresenter(client = matrixClient) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -174,8 +164,7 @@ class RoomListPresenterTest { val matrixClient = FakeMatrixClient( roomListService = roomListService ) - val scope = CoroutineScope(coroutineContext + SupervisorJob()) - val presenter = createRoomListPresenter(client = matrixClient, coroutineScope = scope) + val presenter = createRoomListPresenter(client = matrixClient) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -200,13 +189,11 @@ class RoomListPresenterTest { ) ) cancelAndIgnoreRemainingEvents() - scope.cancel() } } @Test fun `present - handle DismissRequestVerificationPrompt`() = runTest { - val scope = CoroutineScope(context = coroutineContext + SupervisorJob()) val roomListService = FakeRoomListService().apply { postAllRoomsLoadingState(RoomList.LoadingState.Loaded(1)) } @@ -216,7 +203,6 @@ class RoomListPresenterTest { val syncService = FakeSyncService(MutableStateFlow(SyncState.Running)) val presenter = createRoomListPresenter( client = FakeMatrixClient(roomListService = roomListService, encryptionService = encryptionService, syncService = syncService), - coroutineScope = scope, ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -228,7 +214,6 @@ class RoomListPresenterTest { assertThat(eventWithContentAsRooms.contentAsRooms().securityBannerState).isEqualTo(SecurityBannerState.RecoveryKeyConfirmation) eventSink(RoomListEvents.DismissRequestVerificationPrompt) assertThat(awaitItem().contentAsRooms().securityBannerState).isEqualTo(SecurityBannerState.None) - scope.cancel() } } @@ -248,10 +233,8 @@ class RoomListPresenterTest { }, syncService = FakeSyncService(MutableStateFlow(SyncState.Running)), ) - val scope = CoroutineScope(context = coroutineContext + SupervisorJob()) val presenter = createRoomListPresenter( client = matrixClient, - coroutineScope = scope, ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -277,18 +260,16 @@ class RoomListPresenterTest { nextState.eventSink(RoomListEvents.DismissBanner) val finalState = awaitItem() assertThat(finalState.contentAsRooms().securityBannerState).isEqualTo(SecurityBannerState.None) - scope.cancel() } } @Test fun `present - show context menu`() = runTest { - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val room = FakeMatrixRoom() val client = FakeMatrixClient().apply { givenGetRoomResult(A_ROOM_ID, room) } - val presenter = createRoomListPresenter(client = client, coroutineScope = scope) + val presenter = createRoomListPresenter(client = client) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -326,18 +307,16 @@ class RoomListPresenterTest { ) ) } - scope.cancel() } } @Test fun `present - hide context menu`() = runTest { - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val room = FakeMatrixRoom() val client = FakeMatrixClient().apply { givenGetRoomResult(A_ROOM_ID, room) } - val presenter = createRoomListPresenter(client = client, coroutineScope = scope) + val presenter = createRoomListPresenter(client = client) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -362,17 +341,14 @@ class RoomListPresenterTest { val hiddenState = awaitItem() assertThat(hiddenState.contextMenu).isEqualTo(RoomListState.ContextMenu.Hidden) - scope.cancel() } } @Test fun `present - leave room calls into leave room presenter`() = runTest { val leaveRoomEventsRecorder = EventsRecorder() - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val presenter = createRoomListPresenter( leaveRoomState = aLeaveRoomState(eventSink = leaveRoomEventsRecorder), - coroutineScope = scope, ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -381,7 +357,6 @@ class RoomListPresenterTest { initialState.eventSink(RoomListEvents.LeaveRoom(A_ROOM_ID)) leaveRoomEventsRecorder.assertSingle(LeaveRoomEvent.ShowConfirmation(A_ROOM_ID)) cancelAndIgnoreRemainingEvents() - scope.cancel() } } @@ -393,9 +368,7 @@ class RoomListPresenterTest { eventSink = eventRecorder ) } - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val presenter = createRoomListPresenter( - coroutineScope = scope, searchPresenter = searchPresenter, ) moleculeFlow(RecompositionMode.Immediate) { @@ -414,7 +387,6 @@ class RoomListPresenterTest { RoomListSearchEvents.ToggleSearchVisibility ) ) - scope.cancel() } } @@ -429,8 +401,7 @@ class RoomListPresenterTest { roomListService = roomListService, notificationSettingsService = notificationSettingsService ) - val scope = CoroutineScope(coroutineContext + SupervisorJob()) - val presenter = createRoomListPresenter(client = matrixClient, coroutineScope = scope) + val presenter = createRoomListPresenter(client = matrixClient) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -444,13 +415,11 @@ class RoomListPresenterTest { val room = updatedState.contentAsRooms().summaries.find { it.id == A_ROOM_ID.value } assertThat(room?.userDefinedNotificationMode).isEqualTo(userDefinedMode) cancelAndIgnoreRemainingEvents() - scope.cancel() } } @Test fun `present - when set is favorite event is emitted, then the action is called`() = runTest { - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val setIsFavoriteResult = lambdaRecorder { _: Boolean -> Result.success(Unit) } val room = FakeMatrixRoom( setIsFavoriteResult = setIsFavoriteResult @@ -459,7 +428,7 @@ class RoomListPresenterTest { val client = FakeMatrixClient().apply { givenGetRoomResult(A_ROOM_ID, room) } - val presenter = createRoomListPresenter(client = client, coroutineScope = scope, analyticsService = analyticsService) + val presenter = createRoomListPresenter(client = client, analyticsService = analyticsService) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -477,13 +446,11 @@ class RoomListPresenterTest { Interaction(name = Interaction.Name.MobileRoomListRoomContextMenuFavouriteToggle) ) cancelAndIgnoreRemainingEvents() - scope.cancel() } } @Test fun `present - when room service returns no room, then contentState is Empty`() = runTest { - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val roomListService = FakeRoomListService() roomListService.postAllRoomsLoadingState(RoomList.LoadingState.Loaded(0)) val matrixClient = FakeMatrixClient( @@ -491,13 +458,11 @@ class RoomListPresenterTest { ) val presenter = createRoomListPresenter( client = matrixClient, - coroutineScope = scope, ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { assertThat(awaitItem().contentState).isInstanceOf(RoomListContentState.Empty::class.java) - scope.cancel() } } @@ -514,14 +479,12 @@ class RoomListPresenterTest { givenGetRoomResult(A_ROOM_ID_3, room3) } val analyticsService = FakeAnalyticsService() - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val clearMessagesForRoomLambda = lambdaRecorder { _, _ -> } val notificationCleaner = FakeNotificationCleaner( clearMessagesForRoomLambda = clearMessagesForRoomLambda, ) val presenter = createRoomListPresenter( client = matrixClient, - coroutineScope = scope, sessionPreferencesStore = sessionPreferencesStore, analyticsService = analyticsService, notificationCleaner = notificationCleaner, @@ -558,7 +521,6 @@ class RoomListPresenterTest { Interaction(name = Interaction.Name.MobileRoomListRoomContextMenuUnreadToggle), ) cancelAndIgnoreRemainingEvents() - scope.cancel() } } @@ -569,7 +531,6 @@ class RoomListPresenterTest { anAcceptDeclineInviteState(eventSink = eventSinkRecorder) } val roomListService = FakeRoomListService() - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val matrixClient = FakeMatrixClient( roomListService = roomListService, ) @@ -579,7 +540,6 @@ class RoomListPresenterTest { roomListService.postAllRoomsLoadingState(RoomList.LoadingState.Loaded(1)) roomListService.postAllRooms(listOf(roomSummary)) val presenter = createRoomListPresenter( - coroutineScope = scope, client = matrixClient, acceptDeclineInvitePresenter = acceptDeclinePresenter ) @@ -610,7 +570,6 @@ class RoomListPresenterTest { fun `present - UpdateVisibleRange will cancel the previous subscription if called too soon`() = runTest { val subscribeToVisibleRoomsLambda = lambdaRecorder { _: List -> } val roomListService = FakeRoomListService(subscribeToVisibleRoomsLambda = subscribeToVisibleRoomsLambda) - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val matrixClient = FakeMatrixClient( roomListService = roomListService, ) @@ -620,7 +579,6 @@ class RoomListPresenterTest { roomListService.postAllRoomsLoadingState(RoomList.LoadingState.Loaded(1)) roomListService.postAllRooms(listOf(roomSummary)) val presenter = createRoomListPresenter( - coroutineScope = scope, client = matrixClient, ) presenter.test { @@ -641,7 +599,6 @@ class RoomListPresenterTest { fun `present - UpdateVisibleRange subscribes to rooms in visible range`() = runTest { val subscribeToVisibleRoomsLambda = lambdaRecorder { _: List -> } val roomListService = FakeRoomListService(subscribeToVisibleRoomsLambda = subscribeToVisibleRoomsLambda) - val scope = CoroutineScope(coroutineContext + SupervisorJob()) val matrixClient = FakeMatrixClient( roomListService = roomListService, ) @@ -651,7 +608,6 @@ class RoomListPresenterTest { roomListService.postAllRoomsLoadingState(RoomList.LoadingState.Loaded(1)) roomListService.postAllRooms(listOf(roomSummary)) val presenter = createRoomListPresenter( - coroutineScope = scope, client = matrixClient, ) presenter.test { @@ -681,7 +637,6 @@ class RoomListPresenterTest { roomLastMessageFormatter: RoomLastMessageFormatter = FakeRoomLastMessageFormatter(), sessionPreferencesStore: SessionPreferencesStore = InMemorySessionPreferencesStore(), featureFlagService: FeatureFlagService = FakeFeatureFlagService(), - coroutineScope: CoroutineScope, analyticsService: AnalyticsService = FakeAnalyticsService(), filtersPresenter: Presenter = Presenter { aRoomListFiltersState() }, searchPresenter: Presenter = Presenter { aRoomListSearchState() }, @@ -700,7 +655,7 @@ class RoomListPresenterTest { ), coroutineDispatchers = testCoroutineDispatchers(), notificationSettingsService = client.notificationSettingsService(), - appScope = coroutineScope + appScope = backgroundScope ), featureFlagService = featureFlagService, indicatorService = DefaultIndicatorService( diff --git a/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultOnMissedCallNotificationHandlerTest.kt b/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultOnMissedCallNotificationHandlerTest.kt index 41b4a5a340..5d2b11db76 100644 --- a/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultOnMissedCallNotificationHandlerTest.kt +++ b/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultOnMissedCallNotificationHandlerTest.kt @@ -24,9 +24,7 @@ import io.element.android.libraries.push.test.notifications.FakeImageLoaderHolde import io.element.android.services.appnavstate.test.FakeAppNavigationStateService import io.element.android.tests.testutils.lambda.lambdaRecorder import io.mockk.mockk -import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.cancel import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest @@ -39,7 +37,6 @@ class DefaultOnMissedCallNotificationHandlerTest { @OptIn(ExperimentalCoroutinesApi::class) @Test fun `addMissedCallNotification - should add missed call notification`() = runTest { - val childScope = CoroutineScope(coroutineContext + SupervisorJob()) val dataFactory = FakeNotificationDataFactory( messageEventToNotificationsResult = lambdaRecorder { _, _, _ -> emptyList() } ) @@ -59,7 +56,7 @@ class DefaultOnMissedCallNotificationHandlerTest { notificationDataFactory = dataFactory, ), appNavigationStateService = FakeAppNavigationStateService(), - coroutineScope = childScope, + coroutineScope = backgroundScope, matrixClientProvider = FakeMatrixClientProvider(), imageLoaderHolder = FakeImageLoaderHolder(), activeNotificationsProvider = FakeActiveNotificationsProvider(), @@ -76,8 +73,5 @@ class DefaultOnMissedCallNotificationHandlerTest { runCurrent() dataFactory.messageEventToNotificationsResult.assertions().isCalledOnce() - - // Cancel the coroutine scope so the test can finish - childScope.cancel() } } From d390b4fc2bccd530bb3d02d9c0ff5262e7f03a02 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 18:08:51 +0200 Subject: [PATCH 123/151] Remove unused import. --- .../notifications/DefaultOnMissedCallNotificationHandlerTest.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultOnMissedCallNotificationHandlerTest.kt b/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultOnMissedCallNotificationHandlerTest.kt index 5d2b11db76..e06540f7a4 100644 --- a/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultOnMissedCallNotificationHandlerTest.kt +++ b/libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/DefaultOnMissedCallNotificationHandlerTest.kt @@ -25,7 +25,6 @@ import io.element.android.services.appnavstate.test.FakeAppNavigationStateServic import io.element.android.tests.testutils.lambda.lambdaRecorder import io.mockk.mockk import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.cancel import kotlinx.coroutines.test.runCurrent import kotlinx.coroutines.test.runTest import org.junit.Test From 0c96deef37ad15df1960be6601086efa53f1f3e4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 16:30:15 +0000 Subject: [PATCH 124/151] fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v0.2.52 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6dfb7d378c..64cf54285d 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -167,7 +167,7 @@ jsoup = "org.jsoup:jsoup:1.18.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.51" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.52" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } From 81fc52dcfa8ffe44bbf5e8b58b20b2ea8bc741d3 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 30 Sep 2024 20:15:01 +0200 Subject: [PATCH 125/151] Add component ComposerAlertMolecule --- .../atomic/molecules/ComposerAlertMolecule.kt | 105 ++++++++++++++++++ .../components/avatar/AvatarSize.kt | 2 + 2 files changed, 107 insertions(+) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMolecule.kt diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMolecule.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMolecule.kt new file mode 100644 index 0000000000..e94eb0ee60 --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/ComposerAlertMolecule.kt @@ -0,0 +1,105 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.designsystem.atomic.molecules + +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Brush +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.unit.dp +import io.element.android.compound.theme.ElementTheme +import io.element.android.libraries.designsystem.components.avatar.Avatar +import io.element.android.libraries.designsystem.components.avatar.AvatarData +import io.element.android.libraries.designsystem.components.avatar.AvatarSize +import io.element.android.libraries.designsystem.components.avatar.anAvatarData +import io.element.android.libraries.designsystem.preview.ElementPreview +import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.designsystem.text.toAnnotatedString +import io.element.android.libraries.designsystem.theme.components.Button +import io.element.android.libraries.designsystem.theme.components.ButtonSize +import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.designsystem.utils.BooleanProvider +import io.element.android.libraries.ui.strings.CommonStrings + +@Composable +fun ComposerAlertMolecule( + avatar: AvatarData, + content: AnnotatedString, + onSubmitClick: () -> Unit, + modifier: Modifier = Modifier, + isCritical: Boolean = false, + submitText: String = stringResource(CommonStrings.action_ok), +) { + Column( + modifier.fillMaxWidth() + ) { + val lineColor = if (isCritical) ElementTheme.colors.borderCriticalSubtle else ElementTheme.colors.borderInfoSubtle + Box( + modifier = Modifier + .fillMaxWidth() + .height(1.dp) + .background(lineColor) + ) + val startColor = if (isCritical) ElementTheme.colors.bgCriticalSubtle else ElementTheme.colors.bgInfoSubtle + val brush = Brush.verticalGradient( + listOf(startColor, ElementTheme.materialColors.background), + ) + Box( + modifier = Modifier + .background(brush) + .padding(start = 16.dp, end = 16.dp, top = 16.dp, bottom = 8.dp) + ) { + Column( + verticalArrangement = Arrangement.spacedBy(16.dp) + ) { + Row( + horizontalArrangement = Arrangement.spacedBy(16.dp) + ) { + Avatar( + avatarData = avatar, + ) + Text( + text = content, + modifier = Modifier.weight(1f), + style = ElementTheme.typography.fontBodyMdRegular, + color = ElementTheme.colors.textPrimary, + textAlign = TextAlign.Start, + ) + } + Button( + text = submitText, + size = ButtonSize.Medium, + modifier = Modifier.fillMaxWidth(), + onClick = onSubmitClick, + ) + } + } + } +} + +@PreviewsDayNight +@Composable +internal fun ComposerAlertMoleculePreview(@PreviewParameter(BooleanProvider::class) isCritical: Boolean) = ElementPreview { + ComposerAlertMolecule( + avatar = anAvatarData(size = AvatarSize.ComposerAlert), + content = "Alice’s verified identity has changed. Learn more".toAnnotatedString(), + isCritical = isCritical, + onSubmitClick = {}, + ) +} diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarSize.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarSize.kt index c8f572a66a..49a3e93e87 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarSize.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/AvatarSize.kt @@ -33,6 +33,8 @@ enum class AvatarSize(val dp: Dp) { TimelineSender(32.dp), TimelineReadReceipt(16.dp), + ComposerAlert(32.dp), + ReadReceiptList(32.dp), MessageActionSender(32.dp), From c69e5f47e5f0c8dc8a5eba953ee033110d0e85d7 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 1 Oct 2024 17:35:42 +0200 Subject: [PATCH 126/151] Render PinViolation above the composer. --- .../messages/impl/MessagesPresenter.kt | 4 + .../features/messages/impl/MessagesState.kt | 2 + .../messages/impl/MessagesStateProvider.kt | 2 + .../features/messages/impl/MessagesView.kt | 7 ++ .../crypto/identity/IdentityChangeEvent.kt | 14 +++ .../crypto/identity/IdentityChangeState.kt | 22 ++++ .../identity/IdentityChangeStatePresenter.kt | 102 +++++++++++++++++ .../identity/IdentityChangeStateProvider.kt | 35 ++++++ .../identity/IdentityChangeStateView.kt | 78 +++++++++++++ .../MessagesViewWithIdentityChangePreview.kt | 35 ++++++ .../messages/impl/MessagesPresenterTest.kt | 5 + .../IdentityChangeStatePresenterTest.kt | 104 ++++++++++++++++++ .../api/encryption/identity/IdentityState.kt | 34 ++++++ .../identity/IdentityStateChange.kt | 15 +++ .../libraries/matrix/api/room/MatrixRoom.kt | 2 + .../matrix/impl/mapper/IdentityState.kt | 18 +++ .../matrix/impl/room/RustMatrixRoom.kt | 21 ++++ .../matrix/test/room/FakeMatrixRoom.kt | 10 +- 18 files changed, 509 insertions(+), 1 deletion(-) create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeEvent.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeState.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateProvider.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt create mode 100644 features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt create mode 100644 libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityState.kt create mode 100644 libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityStateChange.kt create mode 100644 libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/IdentityState.kt diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt index 236ea211fe..1e2fbb591f 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt @@ -31,6 +31,7 @@ import io.element.android.features.messages.impl.actionlist.ActionListEvents import io.element.android.features.messages.impl.actionlist.ActionListPresenter import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.actionlist.model.TimelineItemActionPostProcessor +import io.element.android.features.messages.impl.crypto.identity.IdentityChangeStatePresenter import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents import io.element.android.features.messages.impl.messagecomposer.MessageComposerState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerState @@ -91,6 +92,7 @@ class MessagesPresenter @AssistedInject constructor( private val voiceMessageComposerPresenter: Presenter, timelinePresenterFactory: TimelinePresenter.Factory, private val timelineProtectionPresenter: Presenter, + private val identityChangeStatePresenter: IdentityChangeStatePresenter, private val actionListPresenterFactory: ActionListPresenter.Factory, private val customReactionPresenter: Presenter, private val reactionSummaryPresenter: Presenter, @@ -125,6 +127,7 @@ class MessagesPresenter @AssistedInject constructor( val voiceMessageComposerState = voiceMessageComposerPresenter.present() val timelineState = timelinePresenter.present() val timelineProtectionState = timelineProtectionPresenter.present() + val identityChangeState = identityChangeStatePresenter.present() val actionListState = actionListPresenter.present() val customReactionState = customReactionPresenter.present() val reactionSummaryState = reactionSummaryPresenter.present() @@ -217,6 +220,7 @@ class MessagesPresenter @AssistedInject constructor( voiceMessageComposerState = voiceMessageComposerState, timelineState = timelineState, timelineProtectionState = timelineProtectionState, + identityChangeState = identityChangeState, actionListState = actionListState, customReactionState = customReactionState, reactionSummaryState = reactionSummaryState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt index 2e03cbdb9d..2dc43030a4 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesState.kt @@ -9,6 +9,7 @@ package io.element.android.features.messages.impl import androidx.compose.runtime.Immutable import io.element.android.features.messages.impl.actionlist.ActionListState +import io.element.android.features.messages.impl.crypto.identity.IdentityChangeState import io.element.android.features.messages.impl.messagecomposer.MessageComposerState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerState import io.element.android.features.messages.impl.timeline.TimelineState @@ -34,6 +35,7 @@ data class MessagesState( val voiceMessageComposerState: VoiceMessageComposerState, val timelineState: TimelineState, val timelineProtectionState: TimelineProtectionState, + val identityChangeState: IdentityChangeState, val actionListState: ActionListState, val customReactionState: CustomReactionState, val reactionSummaryState: ReactionSummaryState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt index 985471c641..f42af8231c 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt @@ -10,6 +10,7 @@ package io.element.android.features.messages.impl import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.messages.impl.actionlist.ActionListState import io.element.android.features.messages.impl.actionlist.anActionListState +import io.element.android.features.messages.impl.crypto.identity.anIdentityChangeState import io.element.android.features.messages.impl.messagecomposer.AttachmentsState import io.element.android.features.messages.impl.messagecomposer.MessageComposerState import io.element.android.features.messages.impl.messagecomposer.aMessageComposerState @@ -125,6 +126,7 @@ fun aMessagesState( composerState = composerState, voiceMessageComposerState = voiceMessageComposerState, timelineProtectionState = timelineProtectionState, + identityChangeState = anIdentityChangeState(), timelineState = timelineState, readReceiptBottomSheetState = readReceiptBottomSheetState, actionListState = actionListState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt index 36bf0bc5fb..709ee3734f 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt @@ -57,6 +57,7 @@ import io.element.android.features.messages.impl.actionlist.ActionListEvents import io.element.android.features.messages.impl.actionlist.ActionListView import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.attachments.Attachment +import io.element.android.features.messages.impl.crypto.identity.IdentityChangeStateView import io.element.android.features.messages.impl.messagecomposer.AttachmentsBottomSheet import io.element.android.features.messages.impl.messagecomposer.AttachmentsState import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents @@ -103,6 +104,7 @@ import io.element.android.libraries.designsystem.utils.snackbar.SnackbarHost import io.element.android.libraries.designsystem.utils.snackbar.rememberSnackbarHostState import io.element.android.libraries.matrix.api.core.EventId import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.textcomposer.model.TextEditorState import io.element.android.libraries.ui.strings.CommonStrings import kotlinx.collections.immutable.ImmutableList import timber.log.Timber @@ -448,6 +450,11 @@ private fun MessagesViewComposerBottomSheetContents( state.composerState.eventSink(MessageComposerEvents.InsertSuggestion(it)) } ) + // Do not show the identity change if user is composing a Rich message or is seeing suggestion(s). + if (state.composerState.suggestions.isEmpty() && + state.composerState.textEditorState is TextEditorState.Markdown) { + IdentityChangeStateView(state.identityChangeState) + } MessageComposerView( state = state.composerState, voiceMessageState = state.voiceMessageComposerState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeEvent.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeEvent.kt new file mode 100644 index 0000000000..df58c0346e --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeEvent.kt @@ -0,0 +1,14 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.identity + +import io.element.android.libraries.matrix.api.core.UserId + +sealed interface IdentityChangeEvent { + data class Submit(val userId: UserId) : IdentityChangeEvent +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeState.kt new file mode 100644 index 0000000000..c29e375a44 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeState.kt @@ -0,0 +1,22 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.identity + +import io.element.android.libraries.matrix.api.encryption.identity.IdentityState +import io.element.android.libraries.matrix.api.room.RoomMember +import kotlinx.collections.immutable.ImmutableList + +data class IdentityChangeState( + val roomMemberIdentityStateChanges: ImmutableList, + val eventSink: (IdentityChangeEvent) -> Unit, +) + +data class RoomMemberIdentityStateChange( + val roomMember: RoomMember, + val identityState: IdentityState, +) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt new file mode 100644 index 0000000000..1d08125b44 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt @@ -0,0 +1,102 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.identity + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.MutableState +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.saveable.rememberSaveable +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.RoomMember +import io.element.android.libraries.matrix.api.room.RoomMembershipState +import io.element.android.libraries.matrix.api.room.roomMembers +import kotlinx.collections.immutable.toImmutableList +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.launchIn +import kotlinx.coroutines.flow.onEach +import javax.inject.Inject + +class IdentityChangeStatePresenter @Inject constructor( + private val room: MatrixRoom, +) : Presenter { + @Composable + override fun present(): IdentityChangeState { + val roomMemberIdentityStateChange = remember { + mutableStateOf(emptyList()) + } + + // Keep the ignored alert locally for now + val ignoredUserIdChange = rememberSaveable { + mutableStateOf(emptyList()) + } + + LaunchedEffect(Unit) { + observeRoomMemberIdentityStateChange(roomMemberIdentityStateChange) + } + + fun handleEvent(event: IdentityChangeEvent) { + when (event) { + is IdentityChangeEvent.Submit -> { + ignoredUserIdChange.value += event.userId + // TODO notify the SDK + } + } + } + + return IdentityChangeState( + roomMemberIdentityStateChanges = roomMemberIdentityStateChange.value + .filter { it.roomMember.userId !in ignoredUserIdChange.value } + .toImmutableList(), + eventSink = ::handleEvent, + ) + } + + private fun CoroutineScope.observeRoomMemberIdentityStateChange(roomMemberIdentityStateChange: MutableState>) { + combine(room.identityStateChangesFlow, room.membersStateFlow) { IdentityStateChanges, membersState -> + IdentityStateChanges.map { IdentityStateChange -> + val member = membersState.roomMembers() + ?.firstOrNull { roomMember -> roomMember.userId == IdentityStateChange.userId } + ?: createDefaultRoomMemberForIdentityChange(IdentityStateChange.userId) + RoomMemberIdentityStateChange( + roomMember = member, + identityState = IdentityStateChange.identityState, + ) + } + } + .distinctUntilChanged() + .onEach { roomMemberIdentityStateChanges -> + roomMemberIdentityStateChange.value = roomMemberIdentityStateChanges + } + .launchIn(this) + } +} + +/** + * Create a default [RoomMember] for identity change events. + * In this case, only the userId will be used for rendering, other fields are not used, but keep them + * as close as possible to the actual data. + */ +private fun createDefaultRoomMemberForIdentityChange(userId: UserId): RoomMember { + return RoomMember( + userId = userId, + displayName = null, + avatarUrl = null, + membership = RoomMembershipState.JOIN, + isNameAmbiguous = false, + powerLevel = 0, + normalizedPowerLevel = 0, + isIgnored = false, + role = RoomMember.Role.USER, + ) +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateProvider.kt new file mode 100644 index 0000000000..167ccc68ab --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateProvider.kt @@ -0,0 +1,35 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.identity + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.features.messages.impl.typing.aTypingRoomMember +import io.element.android.libraries.matrix.api.encryption.identity.IdentityState +import kotlinx.collections.immutable.toImmutableList + +class IdentityChangeStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + anIdentityChangeState(), + anIdentityChangeState( + roomMemberIdentityStateChanges = listOf( + RoomMemberIdentityStateChange( + roomMember = aTypingRoomMember(displayName = "Alice"), + identityState = IdentityState.PinViolation, + ), + ), + ), + ) +} + +internal fun anIdentityChangeState( + roomMemberIdentityStateChanges: List = emptyList(), +) = IdentityChangeState( + roomMemberIdentityStateChanges = roomMemberIdentityStateChanges.toImmutableList(), + eventSink = {}, +) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt new file mode 100644 index 0000000000..3a13359b4c --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt @@ -0,0 +1,78 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.identity + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.buildAnnotatedString +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextDecoration +import androidx.compose.ui.tooling.preview.PreviewParameter +import io.element.android.libraries.designsystem.atomic.molecules.ComposerAlertMolecule +import io.element.android.libraries.designsystem.components.avatar.AvatarSize +import io.element.android.libraries.designsystem.preview.ElementPreview +import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.matrix.api.encryption.identity.IdentityState +import io.element.android.libraries.matrix.ui.model.getAvatarData +import io.element.android.libraries.ui.strings.CommonStrings + +@Composable +fun IdentityChangeStateView( + state: IdentityChangeState, + modifier: Modifier = Modifier, +) { + // Pick the first identity change to PinViolation + val identityChange = state.roomMemberIdentityStateChanges.firstOrNull { + // For now only render PinViolation + it.identityState == IdentityState.PinViolation + } + if (identityChange != null) { + ComposerAlertMolecule( + modifier = modifier, + avatar = identityChange.roomMember.getAvatarData(AvatarSize.ComposerAlert), + content = buildAnnotatedString { + val coloredPart = stringResource(CommonStrings.action_learn_more) + val fullText = stringResource( + CommonStrings.crypto_identity_change_pin_violation, + identityChange.roomMember.disambiguatedDisplayName, + coloredPart, + ) + val startIndex = fullText.indexOf(coloredPart) + append(fullText) + addStyle( + style = SpanStyle( + textDecoration = TextDecoration.Underline, + fontWeight = FontWeight.Bold, + ), + start = startIndex, + end = startIndex + coloredPart.length, + ) + addStringAnnotation( + tag = "LEARN_MORE", + annotation = "TODO", + start = startIndex, + end = startIndex + coloredPart.length + ) + }, + onSubmitClick = { state.eventSink(IdentityChangeEvent.Submit(identityChange.roomMember.userId)) }, + isCritical = identityChange.identityState == IdentityState.VerificationViolation, + ) + } +} + +@PreviewsDayNight +@Composable +internal fun IdentityChangeStateViewPreview( + @PreviewParameter(IdentityChangeStateProvider::class) state: IdentityChangeState, +) = ElementPreview { + IdentityChangeStateView( + state = state, + ) +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt new file mode 100644 index 0000000000..c484e4e8c7 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt @@ -0,0 +1,35 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.identity + +import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.PreviewParameter +import io.element.android.features.messages.impl.MessagesView +import io.element.android.features.messages.impl.aMessagesState +import io.element.android.libraries.designsystem.preview.ElementPreview +import io.element.android.libraries.designsystem.preview.PreviewsDayNight + +@PreviewsDayNight +@Composable +internal fun MessagesViewWithIdentityChangePreview( + @PreviewParameter(IdentityChangeStateProvider::class) identityChangeState: IdentityChangeState +) = ElementPreview { + MessagesView( + state = aMessagesState().copy(identityChangeState = identityChangeState), + onBackClick = {}, + onRoomDetailsClick = {}, + onEventClick = { false }, + onUserDataClick = {}, + onLinkClick = {}, + onPreviewAttachments = {}, + onSendLocationClick = {}, + onCreatePollClick = {}, + onJoinCallClick = {}, + onViewAllPinnedMessagesClick = {}, + ) +} diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index 284f141d41..1b22c59c25 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -16,6 +16,7 @@ import io.element.android.features.messages.impl.actionlist.ActionListEvents import io.element.android.features.messages.impl.actionlist.ActionListState import io.element.android.features.messages.impl.actionlist.FakeActionListPresenter import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction +import io.element.android.features.messages.impl.crypto.identity.IdentityChangeStatePresenter import io.element.android.features.messages.impl.fixtures.aMessageEvent import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents import io.element.android.features.messages.impl.messagecomposer.MessageComposerState @@ -1016,6 +1017,9 @@ class MessagesPresenterTest { } } val featureFlagService = FakeFeatureFlagService() + val identityChangeStatePresenter = IdentityChangeStatePresenter( + room = matrixRoom, + ) return MessagesPresenter( room = matrixRoom, composerPresenter = messageComposerPresenter, @@ -1026,6 +1030,7 @@ class MessagesPresenterTest { customReactionPresenter = { aCustomReactionState() }, reactionSummaryPresenter = { aReactionSummaryState() }, readReceiptBottomSheetPresenter = { aReadReceiptBottomSheetState() }, + identityChangeStatePresenter = identityChangeStatePresenter, pinnedMessagesBannerPresenter = { aLoadedPinnedMessagesBannerState() }, networkMonitor = FakeNetworkMonitor(), snackbarDispatcher = SnackbarDispatcher(), diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt new file mode 100644 index 0000000000..539e9f11a2 --- /dev/null +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt @@ -0,0 +1,104 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.crypto.identity + +import com.google.common.truth.Truth.assertThat +import io.element.android.features.messages.impl.typing.aTypingRoomMember +import io.element.android.libraries.matrix.api.encryption.identity.IdentityState +import io.element.android.libraries.matrix.api.encryption.identity.IdentityStateChange +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.MatrixRoomMembersState +import io.element.android.libraries.matrix.test.A_USER_ID_2 +import io.element.android.libraries.matrix.test.room.FakeMatrixRoom +import io.element.android.tests.testutils.WarmUpRule +import io.element.android.tests.testutils.test +import kotlinx.collections.immutable.toImmutableList +import kotlinx.coroutines.test.runTest +import org.junit.Rule +import org.junit.Test + +class IdentityChangeStatePresenterTest { + @get:Rule + val warmUpRule = WarmUpRule() + + @Test + fun `present - initial state`() = runTest { + val presenter = createIdentityChangeStatePresenter() + presenter.test { + val initialState = awaitItem() + assertThat(initialState.roomMemberIdentityStateChanges).isEmpty() + } + } + + @Test + fun `present - when the room emits identity change, the presenter emits new state`() = runTest { + val room = FakeMatrixRoom() + val presenter = createIdentityChangeStatePresenter(room) + presenter.test { + val initialState = awaitItem() + assertThat(initialState.roomMemberIdentityStateChanges).isEmpty() + room.emitIdentityStateChanges( + listOf( + IdentityStateChange( + userId = A_USER_ID_2, + identityState = IdentityState.PinViolation, + ), + ) + ) + val finalItem = awaitItem() + assertThat(finalItem.roomMemberIdentityStateChanges).hasSize(1) + val value = finalItem.roomMemberIdentityStateChanges.first() + assertThat(value.roomMember.userId).isEqualTo(A_USER_ID_2) + assertThat(value.identityState).isEqualTo(IdentityState.PinViolation) + } + } + + @Test + fun `present - when the room emits identity change, the presenter emits new state with member details`() = + runTest { + val room = FakeMatrixRoom().apply { + givenRoomMembersState( + MatrixRoomMembersState.Ready( + listOf( + aTypingRoomMember( + A_USER_ID_2, + displayName = "Alice", + ), + ).toImmutableList() + ) + ) + } + val presenter = createIdentityChangeStatePresenter(room) + presenter.test { + val initialState = awaitItem() + assertThat(initialState.roomMemberIdentityStateChanges).isEmpty() + room.emitIdentityStateChanges( + listOf( + IdentityStateChange( + userId = A_USER_ID_2, + identityState = IdentityState.PinViolation, + ), + ) + ) + val finalItem = awaitItem() + assertThat(finalItem.roomMemberIdentityStateChanges).hasSize(1) + val value = finalItem.roomMemberIdentityStateChanges.first() + assertThat(value.roomMember.userId).isEqualTo(A_USER_ID_2) + assertThat(value.roomMember.displayName).isEqualTo("Alice") + assertThat(value.identityState).isEqualTo(IdentityState.PinViolation) + } + } + + private fun createIdentityChangeStatePresenter( + room: MatrixRoom = FakeMatrixRoom(), + ): IdentityChangeStatePresenter { + return IdentityChangeStatePresenter( + room = room, + ) + } +} diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityState.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityState.kt new file mode 100644 index 0000000000..2aa9d31ede --- /dev/null +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityState.kt @@ -0,0 +1,34 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.api.encryption.identity + +enum class IdentityState { + /** The user is verified with us */ + Verified, + + /** + * Either this is the first identity we have seen for this user, or the + * user has acknowledged a change of identity explicitly e.g. by + * clicking OK on a notification. + */ + Pinned, + + /** + * The user's identity has changed since it was pinned. The user should be + * notified about this and given the opportunity to acknowledge the + * change, which will make the new identity pinned. + */ + PinViolation, + + /** + * The user's identity has changed, and before that it was verified. This + * is a serious problem. The user can either verify again to make this + * identity verified, or withdraw verification to make it pinned. + */ + VerificationViolation, +} diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityStateChange.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityStateChange.kt new file mode 100644 index 0000000000..6eef5ff5e6 --- /dev/null +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityStateChange.kt @@ -0,0 +1,15 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.api.encryption.identity + +import io.element.android.libraries.matrix.api.core.UserId + +data class IdentityStateChange( + val userId: UserId, + val identityState: IdentityState, +) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt index 98ebc531a5..b8d6d66043 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt @@ -16,6 +16,7 @@ import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.core.TransactionId import io.element.android.libraries.matrix.api.core.UniqueId import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.encryption.identity.IdentityStateChange import io.element.android.libraries.matrix.api.media.AudioInfo import io.element.android.libraries.matrix.api.media.FileInfo import io.element.android.libraries.matrix.api.media.ImageInfo @@ -52,6 +53,7 @@ interface MatrixRoom : Closeable { val roomInfoFlow: Flow val roomTypingMembersFlow: Flow> + val identityStateChangesFlow: Flow> /** * A one-to-one is a room with exactly 2 members. diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/IdentityState.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/IdentityState.kt new file mode 100644 index 0000000000..66e6b0e5e6 --- /dev/null +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/IdentityState.kt @@ -0,0 +1,18 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.libraries.matrix.impl.mapper + +import io.element.android.libraries.matrix.api.encryption.identity.IdentityState +import org.matrix.rustcomponents.sdk.IdentityState as RustIdentityState + +fun RustIdentityState.map(): IdentityState = when (this) { + RustIdentityState.VERIFIED -> IdentityState.Verified + RustIdentityState.PINNED -> IdentityState.Pinned + RustIdentityState.PIN_VIOLATION -> IdentityState.PinViolation + RustIdentityState.VERIFICATION_VIOLATION -> IdentityState.VerificationViolation +} diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt index c3521ecf99..7bc95471c3 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt @@ -19,6 +19,7 @@ import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.core.TransactionId import io.element.android.libraries.matrix.api.core.UniqueId import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.encryption.identity.IdentityStateChange import io.element.android.libraries.matrix.api.media.AudioInfo import io.element.android.libraries.matrix.api.media.FileInfo import io.element.android.libraries.matrix.api.media.ImageInfo @@ -43,6 +44,7 @@ import io.element.android.libraries.matrix.api.timeline.ReceiptType import io.element.android.libraries.matrix.api.timeline.Timeline import io.element.android.libraries.matrix.api.widget.MatrixWidgetDriver import io.element.android.libraries.matrix.api.widget.MatrixWidgetSettings +import io.element.android.libraries.matrix.impl.mapper.map import io.element.android.libraries.matrix.impl.room.draft.into import io.element.android.libraries.matrix.impl.room.member.RoomMemberListFetcher import io.element.android.libraries.matrix.impl.room.member.RoomMemberMapper @@ -69,6 +71,7 @@ import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.withContext +import org.matrix.rustcomponents.sdk.IdentityStatusChangeListener import org.matrix.rustcomponents.sdk.RoomInfo import org.matrix.rustcomponents.sdk.RoomInfoListener import org.matrix.rustcomponents.sdk.RoomListItem @@ -82,6 +85,7 @@ import timber.log.Timber import uniffi.matrix_sdk.RoomPowerLevelChanges import java.io.File import kotlin.coroutines.cancellation.CancellationException +import org.matrix.rustcomponents.sdk.IdentityStatusChange as RustIdentityStateChange import org.matrix.rustcomponents.sdk.Room as InnerRoom import org.matrix.rustcomponents.sdk.Timeline as InnerTimeline @@ -130,6 +134,23 @@ class RustMatrixRoom( }) } + override val identityStateChangesFlow: Flow> = mxCallbackFlow { + val initial = emptyList() + channel.trySend(initial) + innerRoom.subscribeToIdentityStatusChanges(object : IdentityStatusChangeListener { + override fun call(identityStatusChange: List) { + channel.trySend( + identityStatusChange.map { + IdentityStateChange( + userId = UserId(it.userId), + identityState = it.changedTo.map(), + ) + } + ) + } + }) + } + // Create a dispatcher for all room methods... private val roomDispatcher = coroutineDispatchers.io.limitedParallelism(32) diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt index 1d78e87369..81f276cc84 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt @@ -16,6 +16,7 @@ import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.core.TransactionId import io.element.android.libraries.matrix.api.core.UniqueId import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.encryption.identity.IdentityStateChange import io.element.android.libraries.matrix.api.media.AudioInfo import io.element.android.libraries.matrix.api.media.FileInfo import io.element.android.libraries.matrix.api.media.ImageInfo @@ -137,7 +138,7 @@ class FakeMatrixRoom( private val subscribeToSyncLambda: () -> Unit = { lambdaError() }, private val ignoreDeviceTrustAndResendResult: (Map>, TransactionId) -> Result = { _, _ -> lambdaError() }, private val withdrawVerificationAndResendResult: (List, TransactionId) -> Result = { _, _ -> lambdaError() }, - ) : MatrixRoom { +) : MatrixRoom { private val _roomInfoFlow: MutableSharedFlow = MutableSharedFlow(replay = 1) override val roomInfoFlow: Flow = _roomInfoFlow @@ -152,6 +153,13 @@ class FakeMatrixRoom( _roomTypingMembersFlow.tryEmit(typingMembers) } + private val _identityStateChangesFlow: MutableSharedFlow> = MutableSharedFlow(replay = 1) + override val identityStateChangesFlow: Flow> = _identityStateChangesFlow + + fun emitIdentityStateChanges(identityStateChanges: List) { + _identityStateChangesFlow.tryEmit(identityStateChanges) + } + override val membersStateFlow: MutableStateFlow = MutableStateFlow(MatrixRoomMembersState.Unknown) override val roomNotificationSettingsStateFlow: MutableStateFlow = From d9fb0cf656236fde126c95643ae0676697f40bdf Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 4 Oct 2024 15:36:56 +0200 Subject: [PATCH 127/151] Pin user identity. --- .../identity/IdentityChangeStatePresenter.kt | 46 ++++++++++--------- .../messages/impl/MessagesPresenterTest.kt | 2 + .../IdentityChangeStatePresenterTest.kt | 23 ++++++++++ .../api/encryption/EncryptionService.kt | 6 +++ .../impl/encryption/RustEncryptionService.kt | 6 +++ .../matrix/impl/mapper/IdentityState.kt | 2 +- .../test/encryption/FakeEncryptionService.kt | 6 +++ 7 files changed, 69 insertions(+), 22 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt index 1d08125b44..d40e025484 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt @@ -12,33 +12,35 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.rememberCoroutineScope import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.encryption.EncryptionService import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.RoomMember import io.element.android.libraries.matrix.api.room.RoomMembershipState import io.element.android.libraries.matrix.api.room.roomMembers -import kotlinx.collections.immutable.toImmutableList +import kotlinx.collections.immutable.PersistentList +import kotlinx.collections.immutable.persistentListOf +import kotlinx.collections.immutable.toPersistentList import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach +import kotlinx.coroutines.launch +import timber.log.Timber import javax.inject.Inject class IdentityChangeStatePresenter @Inject constructor( private val room: MatrixRoom, + private val encryptionService: EncryptionService, ) : Presenter { @Composable override fun present(): IdentityChangeState { + val coroutineScope = rememberCoroutineScope() val roomMemberIdentityStateChange = remember { - mutableStateOf(emptyList()) - } - - // Keep the ignored alert locally for now - val ignoredUserIdChange = rememberSaveable { - mutableStateOf(emptyList()) + mutableStateOf(persistentListOf()) } LaunchedEffect(Unit) { @@ -47,39 +49,41 @@ class IdentityChangeStatePresenter @Inject constructor( fun handleEvent(event: IdentityChangeEvent) { when (event) { - is IdentityChangeEvent.Submit -> { - ignoredUserIdChange.value += event.userId - // TODO notify the SDK - } + is IdentityChangeEvent.Submit -> coroutineScope.pinUserIdentity(event.userId) } } return IdentityChangeState( - roomMemberIdentityStateChanges = roomMemberIdentityStateChange.value - .filter { it.roomMember.userId !in ignoredUserIdChange.value } - .toImmutableList(), + roomMemberIdentityStateChanges = roomMemberIdentityStateChange.value, eventSink = ::handleEvent, ) } - private fun CoroutineScope.observeRoomMemberIdentityStateChange(roomMemberIdentityStateChange: MutableState>) { + private fun CoroutineScope.observeRoomMemberIdentityStateChange(roomMemberIdentityStateChange: MutableState>) { combine(room.identityStateChangesFlow, room.membersStateFlow) { IdentityStateChanges, membersState -> - IdentityStateChanges.map { IdentityStateChange -> + IdentityStateChanges.map { identityStateChange -> val member = membersState.roomMembers() - ?.firstOrNull { roomMember -> roomMember.userId == IdentityStateChange.userId } - ?: createDefaultRoomMemberForIdentityChange(IdentityStateChange.userId) + ?.firstOrNull { roomMember -> roomMember.userId == identityStateChange.userId } + ?: createDefaultRoomMemberForIdentityChange(identityStateChange.userId) RoomMemberIdentityStateChange( roomMember = member, - identityState = IdentityStateChange.identityState, + identityState = identityStateChange.identityState, ) } } .distinctUntilChanged() .onEach { roomMemberIdentityStateChanges -> - roomMemberIdentityStateChange.value = roomMemberIdentityStateChanges + roomMemberIdentityStateChange.value = roomMemberIdentityStateChanges.toPersistentList() } .launchIn(this) } + + private fun CoroutineScope.pinUserIdentity(userId: UserId) = launch { + encryptionService.pinUserIdentity(userId) + .onFailure { + Timber.e(it, "Failed to pin identity for user $userId") + } + } } /** diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index 1b22c59c25..0388a5e194 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -64,6 +64,7 @@ import io.element.android.libraries.matrix.test.A_SESSION_ID_2 import io.element.android.libraries.matrix.test.A_THROWABLE import io.element.android.libraries.matrix.test.A_UNIQUE_ID import io.element.android.libraries.matrix.test.core.aBuildMeta +import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService import io.element.android.libraries.matrix.test.permalink.FakePermalinkParser import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.matrix.test.room.aRoomInfo @@ -1019,6 +1020,7 @@ class MessagesPresenterTest { val featureFlagService = FakeFeatureFlagService() val identityChangeStatePresenter = IdentityChangeStatePresenter( room = matrixRoom, + encryptionService = FakeEncryptionService(), ) return MessagesPresenter( room = matrixRoom, diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt index 539e9f11a2..edf559a261 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt @@ -9,13 +9,19 @@ package io.element.android.features.messages.impl.crypto.identity import com.google.common.truth.Truth.assertThat import io.element.android.features.messages.impl.typing.aTypingRoomMember +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.encryption.EncryptionService import io.element.android.libraries.matrix.api.encryption.identity.IdentityState import io.element.android.libraries.matrix.api.encryption.identity.IdentityStateChange import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.MatrixRoomMembersState +import io.element.android.libraries.matrix.test.A_USER_ID import io.element.android.libraries.matrix.test.A_USER_ID_2 +import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.tests.testutils.WarmUpRule +import io.element.android.tests.testutils.lambda.lambdaRecorder +import io.element.android.tests.testutils.lambda.value import io.element.android.tests.testutils.test import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.test.runTest @@ -94,11 +100,28 @@ class IdentityChangeStatePresenterTest { } } + @Test + fun `present - when the user pin the identity, the presenter invokes the encryption service api`() = + runTest { + val lambda = lambdaRecorder> { Result.success(Unit) } + val encryptionService = FakeEncryptionService( + pinUserIdentityResult = lambda, + ) + val presenter = createIdentityChangeStatePresenter(encryptionService = encryptionService) + presenter.test { + val initialState = awaitItem() + initialState.eventSink(IdentityChangeEvent.Submit(A_USER_ID)) + lambda.assertions().isCalledOnce().with(value(A_USER_ID)) + } + } + private fun createIdentityChangeStatePresenter( room: MatrixRoom = FakeMatrixRoom(), + encryptionService: EncryptionService = FakeEncryptionService(), ): IdentityChangeStatePresenter { return IdentityChangeStatePresenter( room = room, + encryptionService = encryptionService, ) } } diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/EncryptionService.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/EncryptionService.kt index 86ddef753a..0bfce8a8d2 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/EncryptionService.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/EncryptionService.kt @@ -7,6 +7,7 @@ package io.element.android.libraries.matrix.api.encryption +import io.element.android.libraries.matrix.api.core.UserId import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.StateFlow @@ -58,6 +59,11 @@ interface EncryptionService { * Starts the identity reset process. This will return a handle that can be used to reset the identity. */ suspend fun startIdentityReset(): Result + + /** + * Remember this identity, ensuring it does not result in a pin violation. + */ + suspend fun pinUserIdentity(userId: UserId): Result } /** diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt index f4e4af7b4f..b356ce7715 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt @@ -11,6 +11,7 @@ import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.core.extensions.flatMap import io.element.android.libraries.core.extensions.mapFailure import io.element.android.libraries.matrix.api.core.SessionId +import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.encryption.BackupState import io.element.android.libraries.matrix.api.encryption.BackupUploadState import io.element.android.libraries.matrix.api.encryption.EnableRecoveryProgress @@ -202,4 +203,9 @@ internal class RustEncryptionService( RustIdentityResetHandleFactory.create(sessionId, handle) } } + + override suspend fun pinUserIdentity(userId: UserId): Result = runCatching { + val userIdentity = service.getUserIdentity(userId.value) + userIdentity.pin() + } } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/IdentityState.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/IdentityState.kt index 66e6b0e5e6..24b8bbfadd 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/IdentityState.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/mapper/IdentityState.kt @@ -8,7 +8,7 @@ package io.element.android.libraries.matrix.impl.mapper import io.element.android.libraries.matrix.api.encryption.identity.IdentityState -import org.matrix.rustcomponents.sdk.IdentityState as RustIdentityState +import uniffi.matrix_sdk_crypto.IdentityState as RustIdentityState fun RustIdentityState.map(): IdentityState = when (this) { RustIdentityState.VERIFIED -> IdentityState.Verified diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/encryption/FakeEncryptionService.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/encryption/FakeEncryptionService.kt index 935beaf067..6778eb5838 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/encryption/FakeEncryptionService.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/encryption/FakeEncryptionService.kt @@ -7,6 +7,7 @@ package io.element.android.libraries.matrix.test.encryption +import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.encryption.BackupState import io.element.android.libraries.matrix.api.encryption.BackupUploadState import io.element.android.libraries.matrix.api.encryption.EnableRecoveryProgress @@ -21,6 +22,7 @@ import kotlinx.coroutines.flow.flowOf class FakeEncryptionService( var startIdentityResetLambda: () -> Result = { lambdaError() }, + private val pinUserIdentityResult: (UserId) -> Result = { lambdaError() }, ) : EncryptionService { private var disableRecoveryFailure: Exception? = null override val backupStateStateFlow: MutableStateFlow = MutableStateFlow(BackupState.UNKNOWN) @@ -117,6 +119,10 @@ class FakeEncryptionService( return startIdentityResetLambda() } + override suspend fun pinUserIdentity(userId: UserId): Result { + return pinUserIdentityResult(userId) + } + companion object { const val FAKE_RECOVERY_KEY = "fake" } From 9a85e92025f1eb186ec30a68664096126185346d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 22:25:05 +0200 Subject: [PATCH 128/151] Do not inject presenter directly. --- .../android/features/messages/impl/MessagesPresenter.kt | 4 ++-- .../android/features/messages/impl/di/MessagesModule.kt | 5 +++++ .../features/messages/impl/MessagesPresenterTest.kt | 9 ++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt index 1e2fbb591f..a42a09fcd6 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt @@ -31,7 +31,7 @@ import io.element.android.features.messages.impl.actionlist.ActionListEvents import io.element.android.features.messages.impl.actionlist.ActionListPresenter import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction import io.element.android.features.messages.impl.actionlist.model.TimelineItemActionPostProcessor -import io.element.android.features.messages.impl.crypto.identity.IdentityChangeStatePresenter +import io.element.android.features.messages.impl.crypto.identity.IdentityChangeState import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents import io.element.android.features.messages.impl.messagecomposer.MessageComposerState import io.element.android.features.messages.impl.pinned.banner.PinnedMessagesBannerState @@ -92,7 +92,7 @@ class MessagesPresenter @AssistedInject constructor( private val voiceMessageComposerPresenter: Presenter, timelinePresenterFactory: TimelinePresenter.Factory, private val timelineProtectionPresenter: Presenter, - private val identityChangeStatePresenter: IdentityChangeStatePresenter, + private val identityChangeStatePresenter: Presenter, private val actionListPresenterFactory: ActionListPresenter.Factory, private val customReactionPresenter: Presenter, private val reactionSummaryPresenter: Presenter, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt index 31c1d6a758..d987e97809 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/di/MessagesModule.kt @@ -10,6 +10,8 @@ package io.element.android.features.messages.impl.di import com.squareup.anvil.annotations.ContributesTo import dagger.Binds import dagger.Module +import io.element.android.features.messages.impl.crypto.identity.IdentityChangeState +import io.element.android.features.messages.impl.crypto.identity.IdentityChangeStatePresenter import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailurePresenter import io.element.android.features.messages.impl.crypto.sendfailure.resolve.ResolveVerifiedUserSendFailureState import io.element.android.features.messages.impl.messagecomposer.MessageComposerPresenter @@ -60,4 +62,7 @@ interface MessagesModule { @Binds fun bindReadReceiptBottomSheetPresenter(presenter: ReadReceiptBottomSheetPresenter): Presenter + + @Binds + fun bindIdentityChangeStatePresenter(presenter: IdentityChangeStatePresenter): Presenter } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt index 0388a5e194..078d4672bb 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/MessagesPresenterTest.kt @@ -16,7 +16,7 @@ import io.element.android.features.messages.impl.actionlist.ActionListEvents import io.element.android.features.messages.impl.actionlist.ActionListState import io.element.android.features.messages.impl.actionlist.FakeActionListPresenter import io.element.android.features.messages.impl.actionlist.model.TimelineItemAction -import io.element.android.features.messages.impl.crypto.identity.IdentityChangeStatePresenter +import io.element.android.features.messages.impl.crypto.identity.anIdentityChangeState import io.element.android.features.messages.impl.fixtures.aMessageEvent import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents import io.element.android.features.messages.impl.messagecomposer.MessageComposerState @@ -64,7 +64,6 @@ import io.element.android.libraries.matrix.test.A_SESSION_ID_2 import io.element.android.libraries.matrix.test.A_THROWABLE import io.element.android.libraries.matrix.test.A_UNIQUE_ID import io.element.android.libraries.matrix.test.core.aBuildMeta -import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService import io.element.android.libraries.matrix.test.permalink.FakePermalinkParser import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.matrix.test.room.aRoomInfo @@ -1018,10 +1017,6 @@ class MessagesPresenterTest { } } val featureFlagService = FakeFeatureFlagService() - val identityChangeStatePresenter = IdentityChangeStatePresenter( - room = matrixRoom, - encryptionService = FakeEncryptionService(), - ) return MessagesPresenter( room = matrixRoom, composerPresenter = messageComposerPresenter, @@ -1032,7 +1027,7 @@ class MessagesPresenterTest { customReactionPresenter = { aCustomReactionState() }, reactionSummaryPresenter = { aReactionSummaryState() }, readReceiptBottomSheetPresenter = { aReadReceiptBottomSheetState() }, - identityChangeStatePresenter = identityChangeStatePresenter, + identityChangeStatePresenter = { anIdentityChangeState() }, pinnedMessagesBannerPresenter = { aLoadedPinnedMessagesBannerState() }, networkMonitor = FakeNetworkMonitor(), snackbarDispatcher = SnackbarDispatcher(), From 2d08c648e27ee0a94669d4abf67bc9210628fd85 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 7 Oct 2024 22:29:04 +0200 Subject: [PATCH 129/151] Rename SecureBackupConfig to LearnMoreConfig --- .../appconfig/{SecureBackupConfig.kt => LearnMoreConfig.kt} | 4 ++-- .../features/securebackup/impl/root/SecureBackupRootNode.kt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) rename appconfig/src/main/kotlin/io/element/android/appconfig/{SecureBackupConfig.kt => LearnMoreConfig.kt} (65%) diff --git a/appconfig/src/main/kotlin/io/element/android/appconfig/SecureBackupConfig.kt b/appconfig/src/main/kotlin/io/element/android/appconfig/LearnMoreConfig.kt similarity index 65% rename from appconfig/src/main/kotlin/io/element/android/appconfig/SecureBackupConfig.kt rename to appconfig/src/main/kotlin/io/element/android/appconfig/LearnMoreConfig.kt index c4bd418aca..1106f4ff29 100644 --- a/appconfig/src/main/kotlin/io/element/android/appconfig/SecureBackupConfig.kt +++ b/appconfig/src/main/kotlin/io/element/android/appconfig/LearnMoreConfig.kt @@ -7,6 +7,6 @@ package io.element.android.appconfig -object SecureBackupConfig { - const val LEARN_MORE_URL: String = "https://element.io/help#encryption5" +object LearnMoreConfig { + const val SECURE_BACKUP_URL: String = "https://element.io/help#encryption5" } diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootNode.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootNode.kt index c39d6a8d36..113c569d39 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootNode.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootNode.kt @@ -18,7 +18,7 @@ import com.bumble.appyx.core.plugin.plugins import dagger.assisted.Assisted import dagger.assisted.AssistedInject import io.element.android.anvilannotations.ContributesNode -import io.element.android.appconfig.SecureBackupConfig +import io.element.android.appconfig.LearnMoreConfig import io.element.android.libraries.di.SessionScope @ContributesNode(SessionScope::class) @@ -59,7 +59,7 @@ class SecureBackupRootNode @AssistedInject constructor( } private fun onLearnMoreClick(uriHandler: UriHandler) { - uriHandler.openUri(SecureBackupConfig.LEARN_MORE_URL) + uriHandler.openUri(LearnMoreConfig.SECURE_BACKUP_URL) } @Composable From 3e5dd4bdfe4a771a01661aa11c129f9f9cb9111f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 09:06:40 +0200 Subject: [PATCH 130/151] Avoid using application context. --- .../features/messages/impl/MessagesNode.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesNode.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesNode.kt index f0bf8a8970..e7abd8e60b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesNode.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesNode.kt @@ -7,6 +7,7 @@ package io.element.android.features.messages.impl +import android.app.Activity import android.content.Context import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider @@ -38,7 +39,6 @@ import io.element.android.libraries.architecture.NodeInputs import io.element.android.libraries.architecture.inputs import io.element.android.libraries.core.bool.orFalse import io.element.android.libraries.designsystem.utils.OnLifecycleEvent -import io.element.android.libraries.di.ApplicationContext import io.element.android.libraries.di.RoomScope import io.element.android.libraries.matrix.api.analytics.toAnalyticsViewRoom import io.element.android.libraries.matrix.api.core.EventId @@ -63,8 +63,6 @@ class MessagesNode @AssistedInject constructor( private val timelineItemPresenterFactories: TimelineItemPresenterFactories, private val mediaPlayer: MediaPlayer, private val permalinkParser: PermalinkParser, - @ApplicationContext - private val context: Context, ) : Node(buildContext, plugins = plugins), MessagesNavigator { private val presenter = presenterFactory.create(this) private val callbacks = plugins() @@ -135,7 +133,7 @@ class MessagesNode @AssistedInject constructor( callbacks.forEach { it.onUserDataClick(permalink.userId) } } is PermalinkData.RoomLink -> { - handleRoomLinkClick(permalink, eventSink) + handleRoomLinkClick(context, permalink, eventSink) } is PermalinkData.FallbackLink, is PermalinkData.RoomEmailInviteLink -> { @@ -144,7 +142,11 @@ class MessagesNode @AssistedInject constructor( } } - private fun handleRoomLinkClick(roomLink: PermalinkData.RoomLink, eventSink: (TimelineEvents) -> Unit) { + private fun handleRoomLinkClick( + context: Context, + roomLink: PermalinkData.RoomLink, + eventSink: (TimelineEvents) -> Unit, + ) { if (room.matches(roomLink.roomIdOrAlias)) { val eventId = roomLink.eventId if (eventId != null) { @@ -192,7 +194,7 @@ class MessagesNode @AssistedInject constructor( @Composable override fun View(modifier: Modifier) { - val context = LocalContext.current + val activity = LocalContext.current as Activity CompositionLocalProvider( LocalTimelineItemPresenterFactories provides timelineItemPresenterFactories, ) { @@ -210,7 +212,7 @@ class MessagesNode @AssistedInject constructor( onEventClick = this::onEventClick, onPreviewAttachments = this::onPreviewAttachments, onUserDataClick = this::onUserDataClick, - onLinkClick = { onLinkClick(context, it, state.timelineState.eventSink) }, + onLinkClick = { onLinkClick(activity, it, state.timelineState.eventSink) }, onSendLocationClick = this::onSendLocationClick, onCreatePollClick = this::onCreatePollClick, onJoinCallClick = this::onJoinCallClick, From f998d5b14c9cf70cb1c6d1d8feabfd86fb45ee71 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 09:10:12 +0200 Subject: [PATCH 131/151] Do what the doc says: if no CustomChrome tab is available, try to open the Url in any installed browser. --- .../android/libraries/androidutils/browser/ChromeCustomTab.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/browser/ChromeCustomTab.kt b/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/browser/ChromeCustomTab.kt index d3d5b2db17..7c282b13d8 100644 --- a/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/browser/ChromeCustomTab.kt +++ b/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/browser/ChromeCustomTab.kt @@ -13,6 +13,7 @@ import android.net.Uri import androidx.browser.customtabs.CustomTabColorSchemeParams import androidx.browser.customtabs.CustomTabsIntent import androidx.browser.customtabs.CustomTabsSession +import io.element.android.libraries.androidutils.system.openUrlInExternalApp /** * Open url in custom tab or, if not available, in the default browser. @@ -53,6 +54,6 @@ fun Activity.openUrlInChromeCustomTab( } .launchUrl(this, Uri.parse(url)) } catch (activityNotFoundException: ActivityNotFoundException) { - // TODO context.toast(R.string.error_no_external_application_found) + openUrlInExternalApp(url) } } From 5baefd479f0045110918b5abbcb7a21fbf28c01e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 09:35:18 +0200 Subject: [PATCH 132/151] Identity change: handle click on "learn more" --- .../android/appconfig/LearnMoreConfig.kt | 1 + .../features/messages/impl/MessagesNode.kt | 13 ++++---- .../features/messages/impl/MessagesView.kt | 7 ++++- .../identity/IdentityChangeStateView.kt | 30 ++++++++++++------- 4 files changed, 34 insertions(+), 17 deletions(-) diff --git a/appconfig/src/main/kotlin/io/element/android/appconfig/LearnMoreConfig.kt b/appconfig/src/main/kotlin/io/element/android/appconfig/LearnMoreConfig.kt index 1106f4ff29..662c332582 100644 --- a/appconfig/src/main/kotlin/io/element/android/appconfig/LearnMoreConfig.kt +++ b/appconfig/src/main/kotlin/io/element/android/appconfig/LearnMoreConfig.kt @@ -9,4 +9,5 @@ package io.element.android.appconfig object LearnMoreConfig { const val SECURE_BACKUP_URL: String = "https://element.io/help#encryption5" + const val IDENTITY_CHANGE_URL: String = "https://element.io/help#encryption18" } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesNode.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesNode.kt index e7abd8e60b..bf76f208e3 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesNode.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesNode.kt @@ -27,13 +27,14 @@ import com.bumble.appyx.core.plugin.plugins import dagger.assisted.Assisted import dagger.assisted.AssistedInject import io.element.android.anvilannotations.ContributesNode +import io.element.android.compound.theme.ElementTheme import io.element.android.features.messages.impl.attachments.Attachment import io.element.android.features.messages.impl.messagecomposer.MessageComposerEvents import io.element.android.features.messages.impl.timeline.TimelineEvents import io.element.android.features.messages.impl.timeline.di.LocalTimelineItemPresenterFactories import io.element.android.features.messages.impl.timeline.di.TimelineItemPresenterFactories import io.element.android.features.messages.impl.timeline.model.TimelineItem -import io.element.android.libraries.androidutils.system.openUrlInExternalApp +import io.element.android.libraries.androidutils.browser.openUrlInChromeCustomTab import io.element.android.libraries.androidutils.system.toast import io.element.android.libraries.architecture.NodeInputs import io.element.android.libraries.architecture.inputs @@ -122,7 +123,8 @@ class MessagesNode @AssistedInject constructor( } private fun onLinkClick( - context: Context, + activity: Activity, + darkTheme: Boolean, url: String, eventSink: (TimelineEvents) -> Unit, ) { @@ -133,11 +135,11 @@ class MessagesNode @AssistedInject constructor( callbacks.forEach { it.onUserDataClick(permalink.userId) } } is PermalinkData.RoomLink -> { - handleRoomLinkClick(context, permalink, eventSink) + handleRoomLinkClick(activity, permalink, eventSink) } is PermalinkData.FallbackLink, is PermalinkData.RoomEmailInviteLink -> { - context.openUrlInExternalApp(url) + activity.openUrlInChromeCustomTab(null, darkTheme, url) } } } @@ -195,6 +197,7 @@ class MessagesNode @AssistedInject constructor( @Composable override fun View(modifier: Modifier) { val activity = LocalContext.current as Activity + val isDark = ElementTheme.isLightTheme.not() CompositionLocalProvider( LocalTimelineItemPresenterFactories provides timelineItemPresenterFactories, ) { @@ -212,7 +215,7 @@ class MessagesNode @AssistedInject constructor( onEventClick = this::onEventClick, onPreviewAttachments = this::onPreviewAttachments, onUserDataClick = this::onUserDataClick, - onLinkClick = { onLinkClick(activity, it, state.timelineState.eventSink) }, + onLinkClick = { url -> onLinkClick(activity, isDark, url, state.timelineState.eventSink) }, onSendLocationClick = this::onSendLocationClick, onCreatePollClick = this::onCreatePollClick, onJoinCallClick = this::onJoinCallClick, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt index 709ee3734f..e56d37005b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesView.kt @@ -417,6 +417,7 @@ private fun MessagesViewContent( MessagesViewComposerBottomSheetContents( subcomposing = subcomposing, state = state, + onLinkClick = onLinkClick, ) }, sheetContentKey = sheetResizeContentKey.intValue, @@ -430,6 +431,7 @@ private fun MessagesViewContent( private fun MessagesViewComposerBottomSheetContents( subcomposing: Boolean, state: MessagesState, + onLinkClick: (String) -> Unit, ) { if (state.userEventPermissions.canSendMessage) { Column(modifier = Modifier.fillMaxWidth()) { @@ -453,7 +455,10 @@ private fun MessagesViewComposerBottomSheetContents( // Do not show the identity change if user is composing a Rich message or is seeing suggestion(s). if (state.composerState.suggestions.isEmpty() && state.composerState.textEditorState is TextEditorState.Markdown) { - IdentityChangeStateView(state.identityChangeState) + IdentityChangeStateView( + state = state.identityChangeState, + onLinkClick = onLinkClick, + ) } MessageComposerView( state = state.composerState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt index 3a13359b4c..58ee9ffd88 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt @@ -10,11 +10,13 @@ package io.element.android.features.messages.impl.crypto.identity import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.LinkAnnotation import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.tooling.preview.PreviewParameter +import io.element.android.appconfig.LearnMoreConfig import io.element.android.libraries.designsystem.atomic.molecules.ComposerAlertMolecule import io.element.android.libraries.designsystem.components.avatar.AvatarSize import io.element.android.libraries.designsystem.preview.ElementPreview @@ -26,6 +28,7 @@ import io.element.android.libraries.ui.strings.CommonStrings @Composable fun IdentityChangeStateView( state: IdentityChangeState, + onLinkClick: (String) -> Unit, modifier: Modifier = Modifier, ) { // Pick the first identity change to PinViolation @@ -38,27 +41,31 @@ fun IdentityChangeStateView( modifier = modifier, avatar = identityChange.roomMember.getAvatarData(AvatarSize.ComposerAlert), content = buildAnnotatedString { - val coloredPart = stringResource(CommonStrings.action_learn_more) + val learnMoreStr = stringResource(CommonStrings.action_learn_more) val fullText = stringResource( - CommonStrings.crypto_identity_change_pin_violation, + id = CommonStrings.crypto_identity_change_pin_violation, identityChange.roomMember.disambiguatedDisplayName, - coloredPart, + learnMoreStr, ) - val startIndex = fullText.indexOf(coloredPart) + val learnMoreStartIndex = fullText.indexOf(learnMoreStr) append(fullText) addStyle( style = SpanStyle( textDecoration = TextDecoration.Underline, fontWeight = FontWeight.Bold, ), - start = startIndex, - end = startIndex + coloredPart.length, + start = learnMoreStartIndex, + end = learnMoreStartIndex + learnMoreStr.length, ) - addStringAnnotation( - tag = "LEARN_MORE", - annotation = "TODO", - start = startIndex, - end = startIndex + coloredPart.length + addLink( + url = LinkAnnotation.Url( + url = LearnMoreConfig.IDENTITY_CHANGE_URL, + linkInteractionListener = { t -> + onLinkClick(LearnMoreConfig.IDENTITY_CHANGE_URL) + } + ), + start = learnMoreStartIndex, + end = learnMoreStartIndex + learnMoreStr.length, ) }, onSubmitClick = { state.eventSink(IdentityChangeEvent.Submit(identityChange.roomMember.userId)) }, @@ -74,5 +81,6 @@ internal fun IdentityChangeStateViewPreview( ) = ElementPreview { IdentityChangeStateView( state = state, + onLinkClick = {}, ) } From bc62f8cfce5be7e9f528b30e0ccf91628b86b76b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 10:27:07 +0200 Subject: [PATCH 133/151] Fix compilation issues. --- .../messages/impl/crypto/identity/IdentityChangeStateView.kt | 2 +- .../libraries/matrix/impl/encryption/RustEncryptionService.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt index 58ee9ffd88..84609872d0 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt @@ -60,7 +60,7 @@ fun IdentityChangeStateView( addLink( url = LinkAnnotation.Url( url = LearnMoreConfig.IDENTITY_CHANGE_URL, - linkInteractionListener = { t -> + linkInteractionListener = { onLinkClick(LearnMoreConfig.IDENTITY_CHANGE_URL) } ), diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt index b356ce7715..cdcea1cafa 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt @@ -205,7 +205,7 @@ internal class RustEncryptionService( } override suspend fun pinUserIdentity(userId: UserId): Result = runCatching { - val userIdentity = service.getUserIdentity(userId.value) + val userIdentity = service.getUserIdentity(userId.value) ?: throw IllegalStateException("User identity not found") userIdentity.pin() } } From 0099777360b8380232ccba7f38b8002e61e3a213 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 11:09:46 +0200 Subject: [PATCH 134/151] Fix code quality. --- .../impl/crypto/identity/IdentityChangeStatePresenter.kt | 8 +++++--- .../matrix/api/encryption/identity/IdentityState.kt | 2 +- .../matrix/impl/encryption/RustEncryptionService.kt | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt index d40e025484..4bdfc7b105 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt @@ -59,9 +59,11 @@ class IdentityChangeStatePresenter @Inject constructor( ) } - private fun CoroutineScope.observeRoomMemberIdentityStateChange(roomMemberIdentityStateChange: MutableState>) { - combine(room.identityStateChangesFlow, room.membersStateFlow) { IdentityStateChanges, membersState -> - IdentityStateChanges.map { identityStateChange -> + private fun CoroutineScope.observeRoomMemberIdentityStateChange( + roomMemberIdentityStateChange: MutableState> + ) { + combine(room.identityStateChangesFlow, room.membersStateFlow) { identityStateChanges, membersState -> + identityStateChanges.map { identityStateChange -> val member = membersState.roomMembers() ?.firstOrNull { roomMember -> roomMember.userId == identityStateChange.userId } ?: createDefaultRoomMemberForIdentityChange(identityStateChange.userId) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityState.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityState.kt index 2aa9d31ede..bbcb2a0375 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityState.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/encryption/identity/IdentityState.kt @@ -8,7 +8,7 @@ package io.element.android.libraries.matrix.api.encryption.identity enum class IdentityState { - /** The user is verified with us */ + /** The user is verified with us. */ Verified, /** diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt index cdcea1cafa..c84ab859b5 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/encryption/RustEncryptionService.kt @@ -205,7 +205,7 @@ internal class RustEncryptionService( } override suspend fun pinUserIdentity(userId: UserId): Result = runCatching { - val userIdentity = service.getUserIdentity(userId.value) ?: throw IllegalStateException("User identity not found") + val userIdentity = service.getUserIdentity(userId.value) ?: error("User identity not found") userIdentity.pin() } } From 8c018c4fda1c7788434b935e6897559e4b7acd55 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 11:13:56 +0200 Subject: [PATCH 135/151] Fix konsist test. --- .../io/element/android/tests/konsist/KonsistPreviewTest.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt index ac3474e7f9..9db116ebc5 100644 --- a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistPreviewTest.kt @@ -75,6 +75,7 @@ class KonsistPreviewTest { "MessageComposerViewVoicePreview", "MessagesReactionButtonAddPreview", "MessagesReactionButtonExtraPreview", + "MessagesViewWithIdentityChangePreview", "MessagesViewWithTypingPreview", "PageTitleWithIconFullPreview", "PageTitleWithIconMinimalPreview", From e49d689fe870d87d28b311ef2e7c7634cb2a4e1d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 11:23:11 +0200 Subject: [PATCH 136/151] Improve code. --- .../android/features/messages/impl/MessagesStateProvider.kt | 4 +++- .../crypto/identity/MessagesViewWithIdentityChangePreview.kt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt index f42af8231c..c8a8ee6f1f 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesStateProvider.kt @@ -10,6 +10,7 @@ package io.element.android.features.messages.impl import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.features.messages.impl.actionlist.ActionListState import io.element.android.features.messages.impl.actionlist.anActionListState +import io.element.android.features.messages.impl.crypto.identity.IdentityChangeState import io.element.android.features.messages.impl.crypto.identity.anIdentityChangeState import io.element.android.features.messages.impl.messagecomposer.AttachmentsState import io.element.android.features.messages.impl.messagecomposer.MessageComposerState @@ -107,6 +108,7 @@ fun aMessagesState( focusedEventIndex = 2, ), timelineProtectionState: TimelineProtectionState = aTimelineProtectionState(), + identityChangeState: IdentityChangeState = anIdentityChangeState(), readReceiptBottomSheetState: ReadReceiptBottomSheetState = aReadReceiptBottomSheetState(), actionListState: ActionListState = anActionListState(), customReactionState: CustomReactionState = aCustomReactionState(), @@ -126,7 +128,7 @@ fun aMessagesState( composerState = composerState, voiceMessageComposerState = voiceMessageComposerState, timelineProtectionState = timelineProtectionState, - identityChangeState = anIdentityChangeState(), + identityChangeState = identityChangeState, timelineState = timelineState, readReceiptBottomSheetState = readReceiptBottomSheetState, actionListState = actionListState, diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt index c484e4e8c7..a97de3f663 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt @@ -20,7 +20,7 @@ internal fun MessagesViewWithIdentityChangePreview( @PreviewParameter(IdentityChangeStateProvider::class) identityChangeState: IdentityChangeState ) = ElementPreview { MessagesView( - state = aMessagesState().copy(identityChangeState = identityChangeState), + state = aMessagesState(identityChangeState = identityChangeState), onBackClick = {}, onRoomDetailsClick = {}, onEventClick = { false }, From 33bfe1db8dcf430172f2944a4c3b07cfb790c546 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 11:23:27 +0200 Subject: [PATCH 137/151] Fix broken previews --- .../timeline/model/event/TimelineItemEventContentProvider.kt | 4 +++- .../io/element/android/features/messages/impl/utils/Emoji.kt | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt index 1663ea292d..0a2a189e56 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEventContentProvider.kt @@ -33,10 +33,12 @@ class TimelineItemEventContentProvider : PreviewParameterProvider { private fun buildSpanned(text: String) = buildSpannedString { inSpans(StyleSpan(Typeface.BOLD)) { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt index 8780bcd145..1e959ded7b 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt @@ -7,15 +7,20 @@ package io.element.android.features.messages.impl.utils +import androidx.compose.runtime.Composable +import androidx.compose.ui.platform.LocalInspectionMode import com.sigpwned.emoji4j.core.Grapheme.Type.EMOJI import com.sigpwned.emoji4j.core.Grapheme.Type.PICTOGRAPHIC import com.sigpwned.emoji4j.core.GraphemeMatchResult import com.sigpwned.emoji4j.core.GraphemeMatcher +import io.element.android.features.messages.impl.timeline.model.event.AN_EMOJI_ONLY_TEXT /** * Returns true if the string consists exclusively of "emoji or pictographic graphemes". */ +@Composable fun String.containsOnlyEmojis(): Boolean { + if (LocalInspectionMode.current) return this == AN_EMOJI_ONLY_TEXT if (isEmpty()) return false val matcher = GraphemeMatcher(this) From 0fd275d32b0abe7882a4d3f0aba235b58f5d30c4 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 11:28:17 +0200 Subject: [PATCH 138/151] Fix preview of identity change banner in a timeline. --- .../MessagesViewWithIdentityChangePreview.kt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt index a97de3f663..1b57c52d23 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/MessagesViewWithIdentityChangePreview.kt @@ -11,8 +11,11 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.features.messages.impl.MessagesView import io.element.android.features.messages.impl.aMessagesState +import io.element.android.features.messages.impl.messagecomposer.aMessageComposerState import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.textcomposer.model.MarkdownTextEditorState +import io.element.android.libraries.textcomposer.model.TextEditorState @PreviewsDayNight @Composable @@ -20,7 +23,17 @@ internal fun MessagesViewWithIdentityChangePreview( @PreviewParameter(IdentityChangeStateProvider::class) identityChangeState: IdentityChangeState ) = ElementPreview { MessagesView( - state = aMessagesState(identityChangeState = identityChangeState), + state = aMessagesState( + composerState = aMessageComposerState( + textEditorState = TextEditorState.Markdown( + state = MarkdownTextEditorState( + initialText = "", + initialFocus = false, + ) + ) + ), + identityChangeState = identityChangeState, + ), onBackClick = {}, onRoomDetailsClick = {}, onEventClick = { false }, From 84fd25c6d99bf130d7420d444cef290867f951e0 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Tue, 8 Oct 2024 10:02:00 +0000 Subject: [PATCH 139/151] Update screenshots --- ....impl.crypto.identity_IdentityChangeStateView_Day_0_en.png | 3 +++ ....impl.crypto.identity_IdentityChangeStateView_Day_1_en.png | 3 +++ ...mpl.crypto.identity_IdentityChangeStateView_Night_0_en.png | 3 +++ ...mpl.crypto.identity_IdentityChangeStateView_Night_1_en.png | 3 +++ ...rypto.identity_MessagesViewWithIdentityChange_Day_0_en.png | 3 +++ ...rypto.identity_MessagesViewWithIdentityChange_Day_1_en.png | 3 +++ ...pto.identity_MessagesViewWithIdentityChange_Night_0_en.png | 3 +++ ...pto.identity_MessagesViewWithIdentityChange_Night_1_en.png | 3 +++ ...system.atomic.molecules_ComposerAlertMolecule_Day_0_en.png | 3 +++ ...system.atomic.molecules_ComposerAlertMolecule_Day_1_en.png | 3 +++ ...stem.atomic.molecules_ComposerAlertMolecule_Night_0_en.png | 3 +++ ...stem.atomic.molecules_ComposerAlertMolecule_Night_1_en.png | 3 +++ ...es.designsystem.components.avatar_Avatar_Avatars_42_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_43_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_44_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_45_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_46_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_47_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_48_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_49_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_50_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_51_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_52_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_53_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_54_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_55_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_56_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_57_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_58_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_59_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_60_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_61_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_62_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_63_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_64_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_65_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_66_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_67_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_68_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_69_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_70_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_71_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_72_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_73_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_74_en.png | 4 ++-- ...es.designsystem.components.avatar_Avatar_Avatars_75_en.png | 3 +++ ...es.designsystem.components.avatar_Avatar_Avatars_76_en.png | 3 +++ ...es.designsystem.components.avatar_Avatar_Avatars_77_en.png | 3 +++ 48 files changed, 111 insertions(+), 66 deletions(-) create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Day_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Night_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Night_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_1_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_75_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_76_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_77_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Day_0_en.png new file mode 100644 index 0000000000..1b6fb4bab8 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96a867cb12498cbdc97957bee07855dfaa13602baddaf933aff2b666ef4c7650 +size 3642 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Day_1_en.png new file mode 100644 index 0000000000..66783ec6cc --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Day_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24481773bfccc5eb1ebf3f9955cdc77e8b3b5130d4fa56f96df732e3627ea3c6 +size 21018 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Night_0_en.png new file mode 100644 index 0000000000..d6fd8eeb70 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5bb36ccd718f3fec5b04f1bc812dc7718b5ea7fa4619c8b031466297a8d016fd +size 3659 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Night_1_en.png new file mode 100644 index 0000000000..93bd368a94 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_IdentityChangeStateView_Night_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1421adb601d9a8050a5ed1b60aba8a05b8eab61aaf18d3936226efe891acd8b6 +size 23880 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_0_en.png new file mode 100644 index 0000000000..00407fa4bb --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b79329ddb864ea2100974330facffd3a50d1cb60935ec6079a56760fbe8f57e7 +size 54972 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_en.png new file mode 100644 index 0000000000..fec7097b6a --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d37a9ffee50f8e9ea0c9fd50c61310969c4fbaa99cf858481b3f42f8db4467d +size 61102 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_0_en.png new file mode 100644 index 0000000000..e6322f47bc --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec81ab9e31dd4a2aad6ff8ac92a1bcabbf7f807c8e6ca8b91873ed6706f8af05 +size 55396 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_1_en.png new file mode 100644 index 0000000000..2cbc735bd8 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0952d9cf3812ca419e144936faf523e0b865a22a61d2a55e07f089d9e6e9009 +size 64824 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_0_en.png new file mode 100644 index 0000000000..eb5f42c584 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e631689b398ff2b91560c753043a9c7b4b25be7b3fdc2f3a3a0f00e2bf2db00d +size 20713 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_1_en.png new file mode 100644 index 0000000000..2049499119 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1aec7a502a744d81e6e9f1dd9f5730b66c5ace3259b5e83a9304c69286806590 +size 19999 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_0_en.png new file mode 100644 index 0000000000..48d2bc92a3 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f74c2ee3d31418214fa50f2829eb71178a7500401a72c8f46d048925eba2d462 +size 23389 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_1_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_1_en.png new file mode 100644 index 0000000000..e0e5d98f4e --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c17e0c95c2e48e2ac0f4ce7a7cd97bf255a8d0e304146808ef1837e1c951e73 +size 23177 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_42_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_42_en.png index f3b2441e94..c48fdc121e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_42_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_42_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1eb10a2627a2a7be8af030a305cbec963f6d3f03358d9acdfe1d58e852247759 -size 16058 +oid sha256:88eac082691b8314a06f16820f7ace62321569c3fa633cb243ee9ba508dfb7bd +size 15712 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_43_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_43_en.png index 1136535f88..835b3d987a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_43_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_43_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8d294591f355f604bb101abd6b7f27fe4f6d884d9d561baf46fc45e6d8111fd6 -size 15332 +oid sha256:fd4f7a9468c8db222fbc3631ad4bf7876d80bb31ef1d79292ad72d01f20546f2 +size 14951 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_44_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_44_en.png index ee7f8a89cc..0565f21473 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_44_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_44_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96518c010196d80e8696ffcaea032468bb4d1edfbe6b1187286da488600363bf -size 17891 +oid sha256:fe30a0d96effe257973c893b6450a357d49f11e0f4743b2fdb16050fc15b3a8f +size 17549 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_45_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_45_en.png index 5088cf47a4..f3b2441e94 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_45_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_45_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:af4a8ea34761a5af0f14f979e9dc83680703a9ff8e5ce53ee0bcc4b36a39aa3d -size 19231 +oid sha256:1eb10a2627a2a7be8af030a305cbec963f6d3f03358d9acdfe1d58e852247759 +size 16058 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_46_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_46_en.png index 301367e005..1136535f88 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_46_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_46_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4a3808fc8a5a2160144e93508dbcb09b62e52e9f7f83cf4ec8d8e7a20c7cf554 -size 18469 +oid sha256:8d294591f355f604bb101abd6b7f27fe4f6d884d9d561baf46fc45e6d8111fd6 +size 15332 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_47_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_47_en.png index 83586a0c51..ee7f8a89cc 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_47_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_47_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9dd0232c7847d5c0bb1047cfc6be5d4d43d2cc2e9347aff70a793103b511ad98 -size 21073 +oid sha256:96518c010196d80e8696ffcaea032468bb4d1edfbe6b1187286da488600363bf +size 17891 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_48_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_48_en.png index 729bc5ae58..5088cf47a4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_48_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_48_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1424c9540b87a819d8fd4135db963552794ffde39f5915b1bbbc0ec83d747bcf -size 16595 +oid sha256:af4a8ea34761a5af0f14f979e9dc83680703a9ff8e5ce53ee0bcc4b36a39aa3d +size 19231 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_49_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_49_en.png index 315e227c79..301367e005 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_49_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_49_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:53d2bff076eb5a8e855b54f79cd179e57750e24a457b49a64aca9f176d34b294 -size 15348 +oid sha256:4a3808fc8a5a2160144e93508dbcb09b62e52e9f7f83cf4ec8d8e7a20c7cf554 +size 18469 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_50_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_50_en.png index 4a3262b6ac..83586a0c51 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_50_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_50_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d1570611e0a894a88644956558629113717217ce4b7a76c615264bc2fa776616 -size 19763 +oid sha256:9dd0232c7847d5c0bb1047cfc6be5d4d43d2cc2e9347aff70a793103b511ad98 +size 21073 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_51_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_51_en.png index 88e494d6a8..729bc5ae58 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_51_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_51_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:38cb5a55723aa8c0e8044bb732f8013d3cdc030797ef981d5cc867f0c70203bf -size 12923 +oid sha256:1424c9540b87a819d8fd4135db963552794ffde39f5915b1bbbc0ec83d747bcf +size 16595 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_52_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_52_en.png index 8de56ec748..315e227c79 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_52_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_52_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f6458f921eebb7ceebbea2b8e6da2aa18071015e02ef68e4904e3a84cb460e5c -size 12584 +oid sha256:53d2bff076eb5a8e855b54f79cd179e57750e24a457b49a64aca9f176d34b294 +size 15348 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_53_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_53_en.png index b87579d730..4a3262b6ac 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_53_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_53_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68cb86e7966e17d3240de09ba69aa4af36e4b07c1b669b5003af8071d6eb1ee1 -size 13832 +oid sha256:d1570611e0a894a88644956558629113717217ce4b7a76c615264bc2fa776616 +size 19763 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_54_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_54_en.png index 1bc88154e5..88e494d6a8 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_54_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_54_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:115d72ff7fae6a8673dd1908ef749710042d04c4b37f6cb13ec647682412d22a -size 18643 +oid sha256:38cb5a55723aa8c0e8044bb732f8013d3cdc030797ef981d5cc867f0c70203bf +size 12923 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_55_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_55_en.png index d92dd4a1f6..8de56ec748 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_55_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_55_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:780cc6ffcae4754ae67fcc522a2149a1cd8b20cd1e1441d28c5441a2d0d760a3 -size 17006 +oid sha256:f6458f921eebb7ceebbea2b8e6da2aa18071015e02ef68e4904e3a84cb460e5c +size 12584 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_56_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_56_en.png index 06eb0f06a4..b87579d730 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_56_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_56_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e196a6ccf55855e8cad09e9934e09c8564cad08b4dcbc418c4a2b8d467088c3 -size 22891 +oid sha256:68cb86e7966e17d3240de09ba69aa4af36e4b07c1b669b5003af8071d6eb1ee1 +size 13832 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_57_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_57_en.png index f9b3e60905..1bc88154e5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_57_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_57_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5f826889a753d73bbeb71bd9706a21c476f93e448b2491160045392b6472b4da -size 20976 +oid sha256:115d72ff7fae6a8673dd1908ef749710042d04c4b37f6cb13ec647682412d22a +size 18643 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_58_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_58_en.png index 92617a1ff8..d92dd4a1f6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_58_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_58_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:efa1c5a898ee842b444115e45eb57c1c1624d84448fea79436a7b153f97d0c73 -size 19356 +oid sha256:780cc6ffcae4754ae67fcc522a2149a1cd8b20cd1e1441d28c5441a2d0d760a3 +size 17006 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_59_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_59_en.png index bc0c7cda4e..06eb0f06a4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_59_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_59_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:746b7181d7f9a3c25040624a2c20378b1eff1ce299840c6f4b4b9ca3f877bdfd -size 24976 +oid sha256:8e196a6ccf55855e8cad09e9934e09c8564cad08b4dcbc418c4a2b8d467088c3 +size 22891 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_60_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_60_en.png index 1d8756b909..f9b3e60905 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_60_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_60_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f3b7c704d2aa78d7ca48ea8a2c44e4038a543e3a42df9adb6170a9d8e8497335 -size 16661 +oid sha256:5f826889a753d73bbeb71bd9706a21c476f93e448b2491160045392b6472b4da +size 20976 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_61_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_61_en.png index 4391b4759f..92617a1ff8 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_61_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_61_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c403904d27f1b0c7b7964e8ddaf96b27df9f7e660c67fca72849a53591b8360d -size 15912 +oid sha256:efa1c5a898ee842b444115e45eb57c1c1624d84448fea79436a7b153f97d0c73 +size 19356 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_62_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_62_en.png index dd81493a76..bc0c7cda4e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_62_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_62_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:67a8223f107fa05f1c5d66efc85f68325b4bf835e371ad44553bd6d6edd4a201 -size 18491 +oid sha256:746b7181d7f9a3c25040624a2c20378b1eff1ce299840c6f4b4b9ca3f877bdfd +size 24976 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_63_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_63_en.png index ae4113574c..1d8756b909 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_63_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_63_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:76077b390e22e005eee695d0da5dc3835182214675d4e1b5aeb1f05cf5614ff6 -size 21544 +oid sha256:f3b7c704d2aa78d7ca48ea8a2c44e4038a543e3a42df9adb6170a9d8e8497335 +size 16661 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_64_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_64_en.png index f233bfc0ce..4391b4759f 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_64_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_64_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a624a14ff7ca0fb65e89e69357eb551ee4fd4aab4cebbb38cfb017fdca8f832 -size 20702 +oid sha256:c403904d27f1b0c7b7964e8ddaf96b27df9f7e660c67fca72849a53591b8360d +size 15912 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_65_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_65_en.png index c1712835ff..dd81493a76 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_65_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_65_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be8c830118af26d3d39a80d5dfa3a750e6e3830a30b066ca91b7ed305a2ee482 -size 23624 +oid sha256:67a8223f107fa05f1c5d66efc85f68325b4bf835e371ad44553bd6d6edd4a201 +size 18491 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_66_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_66_en.png index 4750a7f71d..ae4113574c 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_66_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_66_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:631ae3b88cd0be00dfc4ceda6ecfd49f56526c2605c5c3c1f3975443a6a726b8 -size 17310 +oid sha256:76077b390e22e005eee695d0da5dc3835182214675d4e1b5aeb1f05cf5614ff6 +size 21544 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_67_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_67_en.png index 643a670bbd..f233bfc0ce 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_67_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_67_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c2105c726a015292a180feb55164181d331b9f162e47152d36d49d6ccbe6e3fc -size 16460 +oid sha256:2a624a14ff7ca0fb65e89e69357eb551ee4fd4aab4cebbb38cfb017fdca8f832 +size 20702 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_68_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_68_en.png index 0b8c15e54c..c1712835ff 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_68_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_68_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:672f829a7227921b7179e91c1ee3ef58ff2b7dab7f131b687c4fe0b9862d2a2c -size 19436 +oid sha256:be8c830118af26d3d39a80d5dfa3a750e6e3830a30b066ca91b7ed305a2ee482 +size 23624 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_69_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_69_en.png index 1f85375406..4750a7f71d 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_69_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_69_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e66799a7ec09998d9377fae8f6ff79c46cf8978a6c2a95c7fff7f21f55bd87f3 -size 20976 +oid sha256:631ae3b88cd0be00dfc4ceda6ecfd49f56526c2605c5c3c1f3975443a6a726b8 +size 17310 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_70_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_70_en.png index f097d7b073..643a670bbd 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_70_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_70_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c2db8f5b2d57debf2dfc4dbfe807ebe8278d27994242761abb709119374c9786 -size 18769 +oid sha256:c2105c726a015292a180feb55164181d331b9f162e47152d36d49d6ccbe6e3fc +size 16460 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_71_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_71_en.png index fc23c2c5ad..0b8c15e54c 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_71_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_71_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f3a7f0a4944f35fd726d5090eab08140b57332e6f7d8eb475fc6bf9ef37bcdf -size 26033 +oid sha256:672f829a7227921b7179e91c1ee3ef58ff2b7dab7f131b687c4fe0b9862d2a2c +size 19436 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_72_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_72_en.png index e2704b5cc5..1f85375406 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_72_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_72_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad1c15d26a5f2711585276388d3595a997249e336950937a57c7beecd4b6b984 -size 14956 +oid sha256:e66799a7ec09998d9377fae8f6ff79c46cf8978a6c2a95c7fff7f21f55bd87f3 +size 20976 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_73_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_73_en.png index 55b9858dfb..f097d7b073 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_73_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_73_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ec1f5a41d1039cc3f93011fc6d05420964cc0d5d53db393c47a6dd9916588602 -size 14211 +oid sha256:c2db8f5b2d57debf2dfc4dbfe807ebe8278d27994242761abb709119374c9786 +size 18769 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_74_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_74_en.png index b294ff8e75..fc23c2c5ad 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_74_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_74_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e88e6991bca9f0c99c28b6126b10135d0ba8de1faa7bc6174e6f66bc11b2ce03 -size 16794 +oid sha256:2f3a7f0a4944f35fd726d5090eab08140b57332e6f7d8eb475fc6bf9ef37bcdf +size 26033 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_75_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_75_en.png new file mode 100644 index 0000000000..e2704b5cc5 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_75_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad1c15d26a5f2711585276388d3595a997249e336950937a57c7beecd4b6b984 +size 14956 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_76_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_76_en.png new file mode 100644 index 0000000000..55b9858dfb --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_76_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ec1f5a41d1039cc3f93011fc6d05420964cc0d5d53db393c47a6dd9916588602 +size 14211 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_77_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_77_en.png new file mode 100644 index 0000000000..b294ff8e75 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.avatar_Avatar_Avatars_77_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e88e6991bca9f0c99c28b6126b10135d0ba8de1faa7bc6174e6f66bc11b2ce03 +size 16794 From 5a4e5d057551d0aabe280cb130bdc444e578dcba Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Tue, 8 Oct 2024 12:13:39 +0200 Subject: [PATCH 140/151] Fix the logic of the room list banner state (#3615) * Fix `deriveStateOf` preventing the banner state from updating * Try improving implementation of the check * No need for `syncState` --- .../roomlist/impl/RoomListPresenter.kt | 50 ++++++++++++------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt index 8b034ad181..f8e468637b 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt @@ -52,7 +52,6 @@ import io.element.android.libraries.matrix.api.encryption.EncryptionService import io.element.android.libraries.matrix.api.encryption.RecoveryState import io.element.android.libraries.matrix.api.roomlist.RoomList import io.element.android.libraries.matrix.api.sync.SyncService -import io.element.android.libraries.matrix.api.sync.SyncState import io.element.android.libraries.matrix.api.timeline.ReceiptType import io.element.android.libraries.preferences.api.store.SessionPreferencesStore import io.element.android.libraries.push.api.notifications.NotificationCleaner @@ -173,33 +172,48 @@ class RoomListPresenter @Inject constructor( } @Composable - private fun securityBannerState( + private fun rememberSecurityBannerState( securityBannerDismissed: Boolean, needsSlidingSyncMigration: Boolean, ): State { val currentSecurityBannerDismissed by rememberUpdatedState(securityBannerDismissed) + val currentNeedsSlidingSyncMigration by rememberUpdatedState(needsSlidingSyncMigration) val recoveryState by encryptionService.recoveryStateStateFlow.collectAsState() - val syncState by syncService.syncState.collectAsState() return remember { derivedStateOf { - when { - currentSecurityBannerDismissed -> SecurityBannerState.None - syncState == SyncState.Running -> { - when (recoveryState) { - RecoveryState.DISABLED -> SecurityBannerState.SetUpRecovery - RecoveryState.INCOMPLETE -> SecurityBannerState.RecoveryKeyConfirmation - RecoveryState.UNKNOWN, - RecoveryState.WAITING_FOR_SYNC, - RecoveryState.ENABLED -> SecurityBannerState.None - } - } - needsSlidingSyncMigration -> SecurityBannerState.NeedsNativeSlidingSyncMigration - else -> SecurityBannerState.None - } + calculateBannerState( + securityBannerDismissed = currentSecurityBannerDismissed, + needsSlidingSyncMigration = currentNeedsSlidingSyncMigration, + recoveryState = recoveryState, + ) } } } + private fun calculateBannerState( + securityBannerDismissed: Boolean, + needsSlidingSyncMigration: Boolean, + recoveryState: RecoveryState, + ): SecurityBannerState { + if (securityBannerDismissed) { + return SecurityBannerState.None + } + + when (recoveryState) { + RecoveryState.DISABLED -> return SecurityBannerState.SetUpRecovery + RecoveryState.INCOMPLETE -> return SecurityBannerState.RecoveryKeyConfirmation + RecoveryState.UNKNOWN, + RecoveryState.WAITING_FOR_SYNC, + RecoveryState.ENABLED -> Unit + } + + if (needsSlidingSyncMigration) { + return SecurityBannerState.NeedsNativeSlidingSyncMigration + } + + return SecurityBannerState.None + } + @Composable private fun roomListContentState( securityBannerDismissed: Boolean, @@ -228,7 +242,7 @@ class RoomListPresenter @Inject constructor( showEmpty -> RoomListContentState.Empty showSkeleton -> RoomListContentState.Skeleton(count = 16) else -> { - val securityBannerState by securityBannerState(securityBannerDismissed, needsSlidingSyncMigration) + val securityBannerState by rememberSecurityBannerState(securityBannerDismissed, needsSlidingSyncMigration) RoomListContentState.Rooms( securityBannerState = securityBannerState, fullScreenIntentPermissionsState = fullScreenIntentPermissionsPresenter.present(), From 189fbe9d114540314a0a90f2d0e8ba8688d3b54d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 13:45:25 +0200 Subject: [PATCH 141/151] Use `produceState` --- .../identity/IdentityChangeStatePresenter.kt | 25 ++++++------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt index 4bdfc7b105..8022427c0c 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt @@ -8,10 +8,9 @@ package io.element.android.features.messages.impl.crypto.identity import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.MutableState -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember +import androidx.compose.runtime.ProduceStateScope +import androidx.compose.runtime.getValue +import androidx.compose.runtime.produceState import androidx.compose.runtime.rememberCoroutineScope import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.matrix.api.core.UserId @@ -26,7 +25,6 @@ import kotlinx.collections.immutable.toPersistentList import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged -import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch import timber.log.Timber @@ -39,12 +37,8 @@ class IdentityChangeStatePresenter @Inject constructor( @Composable override fun present(): IdentityChangeState { val coroutineScope = rememberCoroutineScope() - val roomMemberIdentityStateChange = remember { - mutableStateOf(persistentListOf()) - } - - LaunchedEffect(Unit) { - observeRoomMemberIdentityStateChange(roomMemberIdentityStateChange) + val roomMemberIdentityStateChange by produceState(persistentListOf()) { + observeRoomMemberIdentityStateChange() } fun handleEvent(event: IdentityChangeEvent) { @@ -54,14 +48,12 @@ class IdentityChangeStatePresenter @Inject constructor( } return IdentityChangeState( - roomMemberIdentityStateChanges = roomMemberIdentityStateChange.value, + roomMemberIdentityStateChanges = roomMemberIdentityStateChange, eventSink = ::handleEvent, ) } - private fun CoroutineScope.observeRoomMemberIdentityStateChange( - roomMemberIdentityStateChange: MutableState> - ) { + private fun ProduceStateScope>.observeRoomMemberIdentityStateChange() { combine(room.identityStateChangesFlow, room.membersStateFlow) { identityStateChanges, membersState -> identityStateChanges.map { identityStateChange -> val member = membersState.roomMembers() @@ -75,9 +67,8 @@ class IdentityChangeStatePresenter @Inject constructor( } .distinctUntilChanged() .onEach { roomMemberIdentityStateChanges -> - roomMemberIdentityStateChange.value = roomMemberIdentityStateChanges.toPersistentList() + value = roomMemberIdentityStateChanges.toPersistentList() } - .launchIn(this) } private fun CoroutineScope.pinUserIdentity(userId: UserId) = launch { From fcee53b23e95ff84d50196ed103cfb5ee4ced014 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 13:47:47 +0200 Subject: [PATCH 142/151] Rename val for clarity --- .../impl/crypto/identity/IdentityChangeStateView.kt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt index 84609872d0..dd0d9dba2e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt @@ -32,19 +32,19 @@ fun IdentityChangeStateView( modifier: Modifier = Modifier, ) { // Pick the first identity change to PinViolation - val identityChange = state.roomMemberIdentityStateChanges.firstOrNull { + val pinViolationIdentityChange = state.roomMemberIdentityStateChanges.firstOrNull { // For now only render PinViolation it.identityState == IdentityState.PinViolation } - if (identityChange != null) { + if (pinViolationIdentityChange != null) { ComposerAlertMolecule( modifier = modifier, - avatar = identityChange.roomMember.getAvatarData(AvatarSize.ComposerAlert), + avatar = pinViolationIdentityChange.roomMember.getAvatarData(AvatarSize.ComposerAlert), content = buildAnnotatedString { val learnMoreStr = stringResource(CommonStrings.action_learn_more) val fullText = stringResource( id = CommonStrings.crypto_identity_change_pin_violation, - identityChange.roomMember.disambiguatedDisplayName, + pinViolationIdentityChange.roomMember.disambiguatedDisplayName, learnMoreStr, ) val learnMoreStartIndex = fullText.indexOf(learnMoreStr) @@ -68,8 +68,8 @@ fun IdentityChangeStateView( end = learnMoreStartIndex + learnMoreStr.length, ) }, - onSubmitClick = { state.eventSink(IdentityChangeEvent.Submit(identityChange.roomMember.userId)) }, - isCritical = identityChange.identityState == IdentityState.VerificationViolation, + onSubmitClick = { state.eventSink(IdentityChangeEvent.Submit(pinViolationIdentityChange.roomMember.userId)) }, + isCritical = pinViolationIdentityChange.identityState == IdentityState.VerificationViolation, ) } } From 746a7fbf373dc0fc0f6731fc99420606d04fdcf9 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 13:55:46 +0200 Subject: [PATCH 143/151] tom --- .../impl/crypto/identity/IdentityChangeStatePresenter.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt index 8022427c0c..7c32770961 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt @@ -25,6 +25,7 @@ import kotlinx.collections.immutable.toPersistentList import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch import timber.log.Timber @@ -69,6 +70,7 @@ class IdentityChangeStatePresenter @Inject constructor( .onEach { roomMemberIdentityStateChanges -> value = roomMemberIdentityStateChanges.toPersistentList() } + .launchIn(this) } private fun CoroutineScope.pinUserIdentity(userId: UserId) = launch { From 4fefecd0d97ecae5fb83a988a2f10b413b8e4c36 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 14:14:39 +0200 Subject: [PATCH 144/151] Fix Emoji test --- .../features/messages/impl/utils/Emoji.kt | 3 ++ .../features/messages/impl/utils/EmojiTest.kt | 31 ++++++++++--------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt index 1e959ded7b..cf17bca000 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/utils/Emoji.kt @@ -22,7 +22,10 @@ import io.element.android.features.messages.impl.timeline.model.event.AN_EMOJI_O fun String.containsOnlyEmojis(): Boolean { if (LocalInspectionMode.current) return this == AN_EMOJI_ONLY_TEXT if (isEmpty()) return false + return containsOnlyEmojisInternal() +} +internal fun String.containsOnlyEmojisInternal(): Boolean { val matcher = GraphemeMatcher(this) var m: GraphemeMatchResult? = null var contiguous = true diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/utils/EmojiTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/utils/EmojiTest.kt index 88e9fb0c5b..17dbeb5ed2 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/utils/EmojiTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/utils/EmojiTest.kt @@ -8,29 +8,30 @@ package io.element.android.features.messages.impl.utils import org.junit.Assert +import org.junit.Assert.assertTrue import org.junit.Test class EmojiTest { @Test fun validEmojis() { // Simple single/multiple single-codepoint emojis per string - Assert.assertTrue("👍".containsOnlyEmojis()) - Assert.assertTrue("😀".containsOnlyEmojis()) - Assert.assertTrue("🙂🙁".containsOnlyEmojis()) - Assert.assertTrue("👁❤️🍝".containsOnlyEmojis()) // 👁 is a pictographic - Assert.assertTrue("👨‍👩‍👦1️⃣🚀👳🏾‍♂️🪩".containsOnlyEmojis()) - Assert.assertTrue("🌍🌎🌏".containsOnlyEmojis()) + assertTrue("👍".containsOnlyEmojisInternal()) + assertTrue("😀".containsOnlyEmojisInternal()) + assertTrue("🙂🙁".containsOnlyEmojisInternal()) + assertTrue("👁❤️🍝".containsOnlyEmojisInternal()) // 👁 is a pictographic + assertTrue("👨‍👩‍👦1️⃣🚀👳🏾‍♂️🪩".containsOnlyEmojisInternal()) + assertTrue("🌍🌎🌏".containsOnlyEmojisInternal()) // Awkward multi-codepoint graphemes - Assert.assertTrue("🧑‍🧑‍🧒‍🧒".containsOnlyEmojis()) - Assert.assertTrue("🏴‍☠".containsOnlyEmojis()) - Assert.assertTrue("👩🏿‍🔧".containsOnlyEmojis()) + assertTrue("🧑‍🧑‍🧒‍🧒".containsOnlyEmojisInternal()) + assertTrue("🏴‍☠".containsOnlyEmojisInternal()) + assertTrue("👩🏿‍🔧".containsOnlyEmojisInternal()) - Assert.assertFalse("".containsOnlyEmojis()) - Assert.assertFalse(" ".containsOnlyEmojis()) - Assert.assertFalse("🙂 🙁".containsOnlyEmojis()) - Assert.assertFalse(" 🙂 🙁 ".containsOnlyEmojis()) - Assert.assertFalse("Hello".containsOnlyEmojis()) - Assert.assertFalse("Hello 👋".containsOnlyEmojis()) + Assert.assertFalse("".containsOnlyEmojisInternal()) + Assert.assertFalse(" ".containsOnlyEmojisInternal()) + Assert.assertFalse("🙂 🙁".containsOnlyEmojisInternal()) + Assert.assertFalse(" 🙂 🙁 ".containsOnlyEmojisInternal()) + Assert.assertFalse("Hello".containsOnlyEmojisInternal()) + Assert.assertFalse("Hello 👋".containsOnlyEmojisInternal()) } } From 8aa34d8cd47092d6c3621110bf6a7bced0f822e0 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 14:15:23 +0200 Subject: [PATCH 145/151] Use `produceState` --- .../typing/TypingNotificationPresenter.kt | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenter.kt index 8581e1f215..6b571cb02a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenter.kt @@ -9,10 +9,11 @@ package io.element.android.features.messages.impl.typing import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect -import androidx.compose.runtime.MutableState +import androidx.compose.runtime.ProduceStateScope import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.produceState import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import io.element.android.libraries.architecture.Presenter @@ -22,8 +23,9 @@ import io.element.android.libraries.matrix.api.room.RoomMember import io.element.android.libraries.matrix.api.room.RoomMembershipState import io.element.android.libraries.matrix.api.room.roomMembers import io.element.android.libraries.preferences.api.store.SessionPreferencesStore +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toImmutableList -import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.launchIn @@ -36,33 +38,29 @@ class TypingNotificationPresenter @Inject constructor( ) : Presenter { @Composable override fun present(): TypingNotificationState { - val typingMembersState = remember { mutableStateOf(emptyList()) } val renderTypingNotifications by sessionPreferencesStore.isRenderTypingNotificationsEnabled().collectAsState(initial = true) - - LaunchedEffect(renderTypingNotifications) { + val typingMembersState by produceState(initialValue = persistentListOf(), key1 = renderTypingNotifications) { if (renderTypingNotifications) { - observeRoomTypingMembers(typingMembersState) - } else { - typingMembersState.value = emptyList() + observeRoomTypingMembers() } } // This will keep the space reserved for the typing notifications after the first one is displayed var reserveSpace by remember { mutableStateOf(false) } - LaunchedEffect(renderTypingNotifications, typingMembersState.value) { - if (renderTypingNotifications && typingMembersState.value.isNotEmpty()) { + LaunchedEffect(renderTypingNotifications, typingMembersState) { + if (renderTypingNotifications && typingMembersState.isNotEmpty()) { reserveSpace = true } } return TypingNotificationState( renderTypingNotifications = renderTypingNotifications, - typingMembers = typingMembersState.value.toImmutableList(), + typingMembers = typingMembersState, reserveSpace = reserveSpace, ) } - private fun CoroutineScope.observeRoomTypingMembers(typingMembersState: MutableState>) { + private fun ProduceStateScope>.observeRoomTypingMembers() { combine(room.roomTypingMembersFlow, room.membersStateFlow) { typingMembers, membersState -> typingMembers .map { userId -> @@ -73,7 +71,7 @@ class TypingNotificationPresenter @Inject constructor( } .distinctUntilChanged() .onEach { members -> - typingMembersState.value = members + value = members.toImmutableList() } .launchIn(this) } From 41749ed5b11355c333b5863d3a819cbb3eab35cd Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 14:28:25 +0200 Subject: [PATCH 146/151] Create data classes TypingRoomMember and IdentityRoomMember to avoid the risk of useless recomposition. Also remove TypingNotificationStateForMessagesProvider which was not used anymore. --- .../crypto/identity/IdentityChangeState.kt | 3 +- .../identity/IdentityChangeStatePresenter.kt | 41 +++++++-------- .../identity/IdentityChangeStateProvider.kt | 21 +++++++- .../identity/IdentityChangeStateView.kt | 6 +-- .../crypto/identity/IdentityRoomMember.kt | 17 +++++++ .../typing/TypingNotificationPresenter.kt | 29 ++++------- .../impl/typing/TypingNotificationState.kt | 3 +- ...ingNotificationStateForMessagesProvider.kt | 27 ---------- .../typing/TypingNotificationStateProvider.kt | 51 +++++++------------ .../impl/typing/TypingNotificationView.kt | 10 ++-- .../messages/impl/typing/TypingRoomMember.kt | 12 +++++ .../IdentityChangeStatePresenterTest.kt | 12 +++-- .../typing/TypingNotificationPresenterTest.kt | 37 ++++++++++---- 13 files changed, 144 insertions(+), 125 deletions(-) create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityRoomMember.kt delete mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStateForMessagesProvider.kt create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingRoomMember.kt diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeState.kt index c29e375a44..62491235ec 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeState.kt @@ -8,7 +8,6 @@ package io.element.android.features.messages.impl.crypto.identity import io.element.android.libraries.matrix.api.encryption.identity.IdentityState -import io.element.android.libraries.matrix.api.room.RoomMember import kotlinx.collections.immutable.ImmutableList data class IdentityChangeState( @@ -17,6 +16,6 @@ data class IdentityChangeState( ) data class RoomMemberIdentityStateChange( - val roomMember: RoomMember, + val identityRoomMember: IdentityRoomMember, val identityState: IdentityState, ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt index 7c32770961..9b338b4833 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt @@ -13,12 +13,14 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.produceState import androidx.compose.runtime.rememberCoroutineScope import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.designsystem.components.avatar.AvatarData +import io.element.android.libraries.designsystem.components.avatar.AvatarSize import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.encryption.EncryptionService import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.RoomMember -import io.element.android.libraries.matrix.api.room.RoomMembershipState import io.element.android.libraries.matrix.api.room.roomMembers +import io.element.android.libraries.matrix.ui.model.getAvatarData import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toPersistentList @@ -59,9 +61,10 @@ class IdentityChangeStatePresenter @Inject constructor( identityStateChanges.map { identityStateChange -> val member = membersState.roomMembers() ?.firstOrNull { roomMember -> roomMember.userId == identityStateChange.userId } + ?.toIdentityRoomMember() ?: createDefaultRoomMemberForIdentityChange(identityStateChange.userId) RoomMemberIdentityStateChange( - roomMember = member, + identityRoomMember = member, identityState = identityStateChange.identityState, ) } @@ -81,21 +84,19 @@ class IdentityChangeStatePresenter @Inject constructor( } } -/** - * Create a default [RoomMember] for identity change events. - * In this case, only the userId will be used for rendering, other fields are not used, but keep them - * as close as possible to the actual data. - */ -private fun createDefaultRoomMemberForIdentityChange(userId: UserId): RoomMember { - return RoomMember( - userId = userId, - displayName = null, - avatarUrl = null, - membership = RoomMembershipState.JOIN, - isNameAmbiguous = false, - powerLevel = 0, - normalizedPowerLevel = 0, - isIgnored = false, - role = RoomMember.Role.USER, - ) -} +private fun RoomMember.toIdentityRoomMember() = IdentityRoomMember( + userId = userId, + disambiguatedDisplayName = disambiguatedDisplayName, + avatarData = getAvatarData(AvatarSize.ComposerAlert), +) + +private fun createDefaultRoomMemberForIdentityChange(userId: UserId) = IdentityRoomMember( + userId = userId, + disambiguatedDisplayName = userId.value, + avatarData = AvatarData( + id = userId.value, + name = null, + url = null, + size = AvatarSize.ComposerAlert, + ), +) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateProvider.kt index 167ccc68ab..fa70bebe6a 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateProvider.kt @@ -8,7 +8,9 @@ package io.element.android.features.messages.impl.crypto.identity import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import io.element.android.features.messages.impl.typing.aTypingRoomMember +import io.element.android.libraries.designsystem.components.avatar.AvatarData +import io.element.android.libraries.designsystem.components.avatar.AvatarSize +import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.encryption.identity.IdentityState import kotlinx.collections.immutable.toImmutableList @@ -19,7 +21,7 @@ class IdentityChangeStateProvider : PreviewParameterProvider>.observeRoomTypingMembers() { + private fun ProduceStateScope>.observeRoomTypingMembers() { combine(room.roomTypingMembersFlow, room.membersStateFlow) { typingMembers, membersState -> typingMembers .map { userId -> membersState.roomMembers() ?.firstOrNull { roomMember -> roomMember.userId == userId } + ?.toTypingRoomMember() ?: createDefaultRoomMemberForTyping(userId) } } @@ -77,21 +77,14 @@ class TypingNotificationPresenter @Inject constructor( } } -/** - * Create a default [RoomMember] for typing events. - * In this case, only the userId will be used for rendering, other fields are not used, but keep them - * as close as possible to the actual data. - */ -private fun createDefaultRoomMemberForTyping(userId: UserId): RoomMember { - return RoomMember( - userId = userId, - displayName = null, - avatarUrl = null, - membership = RoomMembershipState.JOIN, - isNameAmbiguous = false, - powerLevel = 0, - normalizedPowerLevel = 0, - isIgnored = false, - role = RoomMember.Role.USER, +private fun RoomMember.toTypingRoomMember(): TypingRoomMember { + return TypingRoomMember( + disambiguatedDisplayName = disambiguatedDisplayName, + ) +} + +private fun createDefaultRoomMemberForTyping(userId: UserId): TypingRoomMember { + return TypingRoomMember( + disambiguatedDisplayName = userId.value, ) } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationState.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationState.kt index e4c239449c..c94cfd4cb9 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationState.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationState.kt @@ -7,7 +7,6 @@ package io.element.android.features.messages.impl.typing -import io.element.android.libraries.matrix.api.room.RoomMember import kotlinx.collections.immutable.ImmutableList /** @@ -17,7 +16,7 @@ data class TypingNotificationState( /** Whether to render the typing notifications based on the user's preferences. */ val renderTypingNotifications: Boolean, /** The room members currently typing. */ - val typingMembers: ImmutableList, + val typingMembers: ImmutableList, /** Whether to reserve space for the typing notifications at the bottom of the timeline. */ val reserveSpace: Boolean, ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStateForMessagesProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStateForMessagesProvider.kt deleted file mode 100644 index b1757b5545..0000000000 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStateForMessagesProvider.kt +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2024 New Vector Ltd. - * - * SPDX-License-Identifier: AGPL-3.0-only - * Please see LICENSE in the repository root for full details. - */ - -package io.element.android.features.messages.impl.typing - -import androidx.compose.ui.tooling.preview.PreviewParameterProvider - -class TypingNotificationStateForMessagesProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - aTypingNotificationState( - typingMembers = listOf( - aTypingRoomMember(displayName = "Alice"), - aTypingRoomMember(displayName = "Bob"), - ), - ), - aTypingNotificationState( - typingMembers = listOf(aTypingRoomMember()), - reserveSpace = true - ), - aTypingNotificationState(reserveSpace = true), - ) -} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStateProvider.kt index 5baf868417..3722185d00 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationStateProvider.kt @@ -8,9 +8,6 @@ package io.element.android.features.messages.impl.typing import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import io.element.android.libraries.matrix.api.core.UserId -import io.element.android.libraries.matrix.api.room.RoomMember -import io.element.android.libraries.matrix.api.room.RoomMembershipState import kotlinx.collections.immutable.toImmutableList class TypingNotificationStateProvider : PreviewParameterProvider { @@ -24,39 +21,39 @@ class TypingNotificationStateProvider : PreviewParameterProvider = emptyList(), + typingMembers: List = emptyList(), reserveSpace: Boolean = false, ) = TypingNotificationState( renderTypingNotifications = true, @@ -76,19 +73,7 @@ internal fun aTypingNotificationState( ) internal fun aTypingRoomMember( - userId: UserId = UserId("@alice:example.com"), - displayName: String? = null, - isNameAmbiguous: Boolean = false, -): RoomMember { - return RoomMember( - userId = userId, - displayName = displayName, - avatarUrl = null, - membership = RoomMembershipState.JOIN, - isNameAmbiguous = isNameAmbiguous, - powerLevel = 0, - normalizedPowerLevel = 0, - isIgnored = false, - role = RoomMember.Role.USER, - ) -} + disambiguatedDisplayName: String = "@alice:example.com", +) = TypingRoomMember( + disambiguatedDisplayName = disambiguatedDisplayName, +) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationView.kt index 01dcb6e141..1142341984 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationView.kt @@ -41,7 +41,6 @@ import io.element.android.features.messages.impl.R import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Text -import io.element.android.libraries.matrix.api.room.RoomMember import kotlinx.collections.immutable.ImmutableList @Suppress("MultipleEmitters") // False positive @@ -53,7 +52,8 @@ fun TypingNotificationView( val displayNotifications = state.typingMembers.isNotEmpty() && state.renderTypingNotifications @Suppress("ModifierNaming") - @Composable fun TypingText(text: AnnotatedString, textModifier: Modifier = Modifier) { + @Composable + fun TypingText(text: AnnotatedString, textModifier: Modifier = Modifier) { Text( modifier = textModifier, text = text, @@ -66,7 +66,9 @@ fun TypingNotificationView( // Display the typing notification space when either a typing notification needs to be displayed or a previous one already was AnimatedVisibility( - modifier = modifier.fillMaxWidth().padding(vertical = 2.dp), + modifier = modifier + .fillMaxWidth() + .padding(vertical = 2.dp), visible = displayNotifications || state.reserveSpace, enter = fadeIn() + expandVertically(), exit = fadeOut() + shrinkVertically(), @@ -95,7 +97,7 @@ fun TypingNotificationView( } @Composable -private fun computeTypingNotificationText(typingMembers: ImmutableList): AnnotatedString { +private fun computeTypingNotificationText(typingMembers: ImmutableList): AnnotatedString { // Remember the last value to avoid empty typing messages while animating var result by remember { mutableStateOf(AnnotatedString("")) } if (typingMembers.isNotEmpty()) { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingRoomMember.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingRoomMember.kt new file mode 100644 index 0000000000..edd658763f --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingRoomMember.kt @@ -0,0 +1,12 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +package io.element.android.features.messages.impl.typing + +data class TypingRoomMember( + val disambiguatedDisplayName: String, +) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt index edf559a261..5235361870 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt @@ -8,7 +8,7 @@ package io.element.android.features.messages.impl.crypto.identity import com.google.common.truth.Truth.assertThat -import io.element.android.features.messages.impl.typing.aTypingRoomMember +import io.element.android.libraries.designsystem.components.avatar.AvatarSize import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.encryption.EncryptionService import io.element.android.libraries.matrix.api.encryption.identity.IdentityState @@ -19,6 +19,7 @@ import io.element.android.libraries.matrix.test.A_USER_ID import io.element.android.libraries.matrix.test.A_USER_ID_2 import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService import io.element.android.libraries.matrix.test.room.FakeMatrixRoom +import io.element.android.libraries.matrix.test.room.aRoomMember import io.element.android.tests.testutils.WarmUpRule import io.element.android.tests.testutils.lambda.lambdaRecorder import io.element.android.tests.testutils.lambda.value @@ -59,7 +60,7 @@ class IdentityChangeStatePresenterTest { val finalItem = awaitItem() assertThat(finalItem.roomMemberIdentityStateChanges).hasSize(1) val value = finalItem.roomMemberIdentityStateChanges.first() - assertThat(value.roomMember.userId).isEqualTo(A_USER_ID_2) + assertThat(value.identityRoomMember.userId).isEqualTo(A_USER_ID_2) assertThat(value.identityState).isEqualTo(IdentityState.PinViolation) } } @@ -71,7 +72,7 @@ class IdentityChangeStatePresenterTest { givenRoomMembersState( MatrixRoomMembersState.Ready( listOf( - aTypingRoomMember( + aRoomMember( A_USER_ID_2, displayName = "Alice", ), @@ -94,8 +95,9 @@ class IdentityChangeStatePresenterTest { val finalItem = awaitItem() assertThat(finalItem.roomMemberIdentityStateChanges).hasSize(1) val value = finalItem.roomMemberIdentityStateChanges.first() - assertThat(value.roomMember.userId).isEqualTo(A_USER_ID_2) - assertThat(value.roomMember.displayName).isEqualTo("Alice") + assertThat(value.identityRoomMember.userId).isEqualTo(A_USER_ID_2) + assertThat(value.identityRoomMember.disambiguatedDisplayName).isEqualTo("Alice") + assertThat(value.identityRoomMember.avatarData.size).isEqualTo(AvatarSize.ComposerAlert) assertThat(value.identityState).isEqualTo(IdentityState.PinViolation) } } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt index 61c37dc449..a0e611ab5e 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt @@ -21,6 +21,7 @@ import io.element.android.libraries.matrix.test.A_USER_ID_3 import io.element.android.libraries.matrix.test.A_USER_ID_4 import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.matrix.test.room.aRoomInfo +import io.element.android.libraries.matrix.test.room.aRoomMember import io.element.android.libraries.preferences.api.store.SessionPreferencesStore import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore import io.element.android.tests.testutils.WarmUpRule @@ -49,7 +50,6 @@ class TypingNotificationPresenterTest { @Test fun `present - typing notification disabled`() = runTest { - val aDefaultRoomMember = createDefaultRoomMember(A_USER_ID_2) val room = FakeMatrixRoom() val sessionPreferencesStore = InMemorySessionPreferencesStore( isRenderTypingNotificationsEnabled = false @@ -73,7 +73,11 @@ class TypingNotificationPresenterTest { val oneMemberTypingState = awaitItem() assertThat(oneMemberTypingState.renderTypingNotifications).isTrue() assertThat(oneMemberTypingState.typingMembers.size).isEqualTo(1) - assertThat(oneMemberTypingState.typingMembers.first()).isEqualTo(aDefaultRoomMember) + assertThat(oneMemberTypingState.typingMembers.first()).isEqualTo( + TypingRoomMember( + disambiguatedDisplayName = A_USER_ID_2.value, + ) + ) // Preferences changes again sessionPreferencesStore.setRenderTypingNotifications(false) skipItems(2) @@ -85,7 +89,6 @@ class TypingNotificationPresenterTest { @Test fun `present - state is updated when a member is typing, member is not known`() = runTest { - val aDefaultRoomMember = createDefaultRoomMember(A_USER_ID_2) val room = FakeMatrixRoom() val presenter = createPresenter(matrixRoom = room) moleculeFlow(RecompositionMode.Immediate) { @@ -96,7 +99,11 @@ class TypingNotificationPresenterTest { room.givenRoomTypingMembers(listOf(A_USER_ID_2)) val oneMemberTypingState = awaitItem() assertThat(oneMemberTypingState.typingMembers.size).isEqualTo(1) - assertThat(oneMemberTypingState.typingMembers.first()).isEqualTo(aDefaultRoomMember) + assertThat(oneMemberTypingState.typingMembers.first()).isEqualTo( + TypingRoomMember( + disambiguatedDisplayName = A_USER_ID_2.value, + ) + ) // User stops typing room.givenRoomTypingMembers(emptyList()) skipItems(1) @@ -129,7 +136,11 @@ class TypingNotificationPresenterTest { room.givenRoomTypingMembers(listOf(A_USER_ID_2)) val oneMemberTypingState = awaitItem() assertThat(oneMemberTypingState.typingMembers.size).isEqualTo(1) - assertThat(oneMemberTypingState.typingMembers.first()).isEqualTo(aKnownRoomMember) + assertThat(oneMemberTypingState.typingMembers.first()).isEqualTo( + TypingRoomMember( + disambiguatedDisplayName = "Alice Doe (@bob:server.org)", + ) + ) // User stops typing room.givenRoomTypingMembers(emptyList()) skipItems(1) @@ -152,7 +163,11 @@ class TypingNotificationPresenterTest { room.givenRoomTypingMembers(listOf(A_USER_ID_2)) val oneMemberTypingState = awaitItem() assertThat(oneMemberTypingState.typingMembers.size).isEqualTo(1) - assertThat(oneMemberTypingState.typingMembers.first()).isEqualTo(aDefaultRoomMember) + assertThat(oneMemberTypingState.typingMembers.first()).isEqualTo( + TypingRoomMember( + disambiguatedDisplayName = A_USER_ID_2.value, + ) + ) // User is getting known room.givenRoomMembersState( MatrixRoomMembersState.Ready( @@ -161,7 +176,11 @@ class TypingNotificationPresenterTest { ) skipItems(1) val finalState = awaitItem() - assertThat(finalState.typingMembers.first()).isEqualTo(aKnownRoomMember) + assertThat(finalState.typingMembers.first()).isEqualTo( + TypingRoomMember( + disambiguatedDisplayName = "Alice Doe (@bob:server.org)", + ) + ) } } @@ -204,7 +223,7 @@ class TypingNotificationPresenterTest { private fun createDefaultRoomMember( userId: UserId, - ) = aTypingRoomMember( + ) = aRoomMember( userId = userId, displayName = null, isNameAmbiguous = false, @@ -212,7 +231,7 @@ class TypingNotificationPresenterTest { private fun createKnownRoomMember( userId: UserId, - ) = aTypingRoomMember( + ) = aRoomMember( userId = userId, displayName = "Alice Doe", isNameAmbiguous = true, From f4b7443cfb7efee12aad1dafead1eba094143d3c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 14:56:50 +0200 Subject: [PATCH 147/151] Fix regression. --- .../messages/impl/typing/TypingNotificationPresenter.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenter.kt index 140f15212f..cea8d26b14 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenter.kt @@ -41,6 +41,8 @@ class TypingNotificationPresenter @Inject constructor( val typingMembersState by produceState(initialValue = persistentListOf(), key1 = renderTypingNotifications) { if (renderTypingNotifications) { observeRoomTypingMembers() + } else { + value = persistentListOf() } } From 873d8075007e3e45c5c3a9c5370da10b3c631f05 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 15:01:01 +0200 Subject: [PATCH 148/151] Cleanup --- .../impl/crypto/identity/IdentityChangeStateView.kt | 2 -- .../impl/typing/TypingNotificationPresenterTest.kt | 9 --------- 2 files changed, 11 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt index 3f2576acad..6ff167a8a7 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStateView.kt @@ -18,11 +18,9 @@ import androidx.compose.ui.text.style.TextDecoration import androidx.compose.ui.tooling.preview.PreviewParameter import io.element.android.appconfig.LearnMoreConfig import io.element.android.libraries.designsystem.atomic.molecules.ComposerAlertMolecule -import io.element.android.libraries.designsystem.components.avatar.AvatarSize import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.matrix.api.encryption.identity.IdentityState -import io.element.android.libraries.matrix.ui.model.getAvatarData import io.element.android.libraries.ui.strings.CommonStrings @Composable diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt index a0e611ab5e..ab26da66bb 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/typing/TypingNotificationPresenterTest.kt @@ -151,7 +151,6 @@ class TypingNotificationPresenterTest { @Test fun `present - state is updated when a member is typing, member is not known, then known`() = runTest { - val aDefaultRoomMember = createDefaultRoomMember(A_USER_ID_2) val aKnownRoomMember = createKnownRoomMember(A_USER_ID_2) val room = FakeMatrixRoom() val presenter = createPresenter(matrixRoom = room) @@ -221,14 +220,6 @@ class TypingNotificationPresenterTest { sessionPreferencesStore = sessionPreferencesStore, ) - private fun createDefaultRoomMember( - userId: UserId, - ) = aRoomMember( - userId = userId, - displayName = null, - isNameAmbiguous = false, - ) - private fun createKnownRoomMember( userId: UserId, ) = aRoomMember( From 598ddfc70a35563f19a4517b7272d3c64ee9ecdd Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 15:17:59 +0200 Subject: [PATCH 149/151] SDK 0.2.53 19b9a73ecc3e31d502dbf0c5850bfdfaddf02afe --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 64cf54285d..aafbab0600 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -167,7 +167,7 @@ jsoup = "org.jsoup:jsoup:1.18.1" appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } molecule-runtime = "app.cash.molecule:molecule-runtime:2.0.0" timber = "com.jakewharton.timber:timber:5.0.1" -matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.52" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.53" matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } From ef4aa8f91e6b941ac1839ce2f0931a88c2e66134 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 8 Oct 2024 18:30:08 +0200 Subject: [PATCH 150/151] Do not render pin violation in clear room. --- .../identity/IdentityChangeStatePresenter.kt | 39 ++++++++++++------- .../IdentityChangeStatePresenterTest.kt | 31 ++++++++++++++- .../matrix/test/room/FakeMatrixRoom.kt | 15 ++++++- 3 files changed, 68 insertions(+), 17 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt index 9b338b4833..cded6e38de 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenter.kt @@ -25,9 +25,13 @@ import kotlinx.collections.immutable.PersistentList import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toPersistentList import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.filter +import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.launchIn +import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch import timber.log.Timber @@ -56,22 +60,31 @@ class IdentityChangeStatePresenter @Inject constructor( ) } + @OptIn(ExperimentalCoroutinesApi::class) private fun ProduceStateScope>.observeRoomMemberIdentityStateChange() { - combine(room.identityStateChangesFlow, room.membersStateFlow) { identityStateChanges, membersState -> - identityStateChanges.map { identityStateChange -> - val member = membersState.roomMembers() - ?.firstOrNull { roomMember -> roomMember.userId == identityStateChange.userId } - ?.toIdentityRoomMember() - ?: createDefaultRoomMemberForIdentityChange(identityStateChange.userId) - RoomMemberIdentityStateChange( - identityRoomMember = member, - identityState = identityStateChange.identityState, - ) + room.syncUpdateFlow + .filter { + // Room cannot become unencrypted, so we can just apply a filter here. + room.isEncrypted } - } .distinctUntilChanged() - .onEach { roomMemberIdentityStateChanges -> - value = roomMemberIdentityStateChanges.toPersistentList() + .flatMapLatest { + combine(room.identityStateChangesFlow, room.membersStateFlow,) { identityStateChanges, membersState -> + identityStateChanges.map { identityStateChange -> + val member = membersState.roomMembers() + ?.firstOrNull { roomMember -> roomMember.userId == identityStateChange.userId } + ?.toIdentityRoomMember() + ?: createDefaultRoomMemberForIdentityChange(identityStateChange.userId) + RoomMemberIdentityStateChange( + identityRoomMember = member, + identityState = identityStateChange.identityState, + ) + } + } + .distinctUntilChanged() + .onEach { roomMemberIdentityStateChanges -> + value = roomMemberIdentityStateChanges.toPersistentList() + } } .launchIn(this) } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt index 5235361870..afc21efd97 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/crypto/identity/IdentityChangeStatePresenterTest.kt @@ -44,7 +44,7 @@ class IdentityChangeStatePresenterTest { @Test fun `present - when the room emits identity change, the presenter emits new state`() = runTest { - val room = FakeMatrixRoom() + val room = FakeMatrixRoom(isEncrypted = true) val presenter = createIdentityChangeStatePresenter(room) presenter.test { val initialState = awaitItem() @@ -65,10 +65,37 @@ class IdentityChangeStatePresenterTest { } } + @Test + fun `present - when the clear room emits identity change, the presenter does not emits new state`() = runTest { + val room = FakeMatrixRoom(isEncrypted = false) + val presenter = createIdentityChangeStatePresenter(room) + presenter.test { + val initialState = awaitItem() + assertThat(initialState.roomMemberIdentityStateChanges).isEmpty() + room.emitIdentityStateChanges( + listOf( + IdentityStateChange( + userId = A_USER_ID_2, + identityState = IdentityState.PinViolation, + ), + ) + ) + // No item emitted. + expectNoEvents() + // Room become encrypted. + room.enableEncryption() + val finalItem = awaitItem() + assertThat(finalItem.roomMemberIdentityStateChanges).hasSize(1) + val value = finalItem.roomMemberIdentityStateChanges.first() + assertThat(value.identityRoomMember.userId).isEqualTo(A_USER_ID_2) + assertThat(value.identityState).isEqualTo(IdentityState.PinViolation) + } + } + @Test fun `present - when the room emits identity change, the presenter emits new state with member details`() = runTest { - val room = FakeMatrixRoom().apply { + val room = FakeMatrixRoom(isEncrypted = true).apply { givenRoomMembersState( MatrixRoomMembersState.Ready( listOf( diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt index 81f276cc84..ab0ad45cac 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt @@ -60,6 +60,7 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow import java.io.File class FakeMatrixRoom( @@ -68,7 +69,7 @@ class FakeMatrixRoom( override val displayName: String = "", override val topic: String? = null, override val avatarUrl: String? = null, - override val isEncrypted: Boolean = false, + override var isEncrypted: Boolean = false, override val alias: RoomAlias? = null, override val alternativeAliases: List = emptyList(), override val isPublic: Boolean = true, @@ -181,7 +182,17 @@ class FakeMatrixRoom( return Result.success(Unit) } - override val syncUpdateFlow: StateFlow = MutableStateFlow(0L) + fun enableEncryption() { + isEncrypted = true + emitSyncUpdate() + } + + private val _syncUpdateFlow = MutableStateFlow(0L) + override val syncUpdateFlow: StateFlow = _syncUpdateFlow.asStateFlow() + + fun emitSyncUpdate() { + _syncUpdateFlow.tryEmit(_syncUpdateFlow.value + 1) + } override suspend fun timelineFocusedOnEvent(eventId: EventId): Result = simulateLongTask { timelineFocusedOnEventResult(eventId) From a82104a7efefc2a8d998a93824c061f492c5e449 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 9 Oct 2024 09:39:01 +0200 Subject: [PATCH 151/151] Adding fastlane file for version 0.6.5 --- fastlane/metadata/android/en-US/changelogs/40006050.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/40006050.txt diff --git a/fastlane/metadata/android/en-US/changelogs/40006050.txt b/fastlane/metadata/android/en-US/changelogs/40006050.txt new file mode 100644 index 0000000000..0e38b17b08 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40006050.txt @@ -0,0 +1,2 @@ +Main changes in this version: bug fixes and performance improvement. +Full changelog: https://github.com/element-hq/element-x-android/releases