From 4d904f7470955b7397c9093df17ac0a7db0a37a6 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 10 Oct 2024 20:33:41 +0200 Subject: [PATCH 01/93] Add missing import --- .../io/element/android/libraries/featureflag/api/FeatureFlags.kt | 1 + 1 file changed, 1 insertion(+) 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 9f5b985435..3a6bd16f77 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 @@ -9,6 +9,7 @@ package io.element.android.libraries.featureflag.api import io.element.android.appconfig.OnBoardingConfig import io.element.android.libraries.core.meta.BuildMeta +import io.element.android.libraries.core.meta.BuildType /** * To enable or disable a FeatureFlags, change the `defaultValue` value. From ec7fd288b1ee893b994b38482242153d70e9e312 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 16 Oct 2024 20:13:17 +0000 Subject: [PATCH 02/93] Update dependency androidx.annotation:annotation-jvm to v1.9.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 13733a101d..4bed2a18fc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -80,7 +80,7 @@ ksp_plugin = { module = "com.google.devtools.ksp:symbol-processing-api", version # AndroidX androidx_core = { module = "androidx.core:core", version.ref = "core" } androidx_corektx = { module = "androidx.core:core-ktx", version.ref = "core" } -androidx_annotationjvm = "androidx.annotation:annotation-jvm:1.8.2" +androidx_annotationjvm = "androidx.annotation:annotation-jvm:1.9.0" androidx_datastore_preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastore" } androidx_datastore_datastore = { module = "androidx.datastore:datastore", version.ref = "datastore" } androidx_exifinterface = "androidx.exifinterface:exifinterface:1.3.7" From 35aefedc41394fe87fedbf095f7542c3871b77c1 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 18 Oct 2024 12:19:26 +0200 Subject: [PATCH 03/93] ListItem: Update the preview so that they all contain both enabled and disabled rendering. --- .../designsystem/theme/components/ListItem.kt | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt index f09ccad5d9..acfc1e9d13 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt @@ -8,6 +8,7 @@ package io.element.android.libraries.designsystem.theme.components import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Column import androidx.compose.material3.ListItemColors import androidx.compose.material3.ListItemDefaults import androidx.compose.material3.LocalContentColor @@ -146,8 +147,8 @@ fun ListItem( headlineContent = decoratedHeadlineContent, modifier = if (onClick != null) { Modifier - .clickable(enabled = enabled, onClick = onClick) - .then(modifier) + .clickable(enabled = enabled, onClick = onClick) + .then(modifier) } else { modifier }, @@ -388,21 +389,20 @@ internal fun ListItemErrorWithIconPreview() = PreviewItems.OneLineListItemPrevie ) // endregion -// region: Disabled state -@Preview(name = "List item - Disabled", group = PreviewGroup.ListItems) -@Composable -internal fun ListItemDisabledPreview() = PreviewItems.OneLineListItemPreview(enabled = false) - -@Preview(name = "List item - Disabled & Icon", group = PreviewGroup.ListItems) -@Composable -internal fun ListItemDisabledWithIconPreview() = PreviewItems.OneLineListItemPreview( - enabled = false, - leadingContent = PreviewItems.icon(), -) -// endregion - @Suppress("ModifierMissing") private object PreviewItems { + + @Composable + private fun EnabledDisabledElementThemedPreview( + content: @Composable (Boolean) -> Unit, + ) = ElementThemedPreview { + Column { + sequenceOf(true, false).forEach { + content(it) + } + } + } + @Composable fun ThreeLinesListItemPreview( modifier: Modifier = Modifier, @@ -410,12 +410,13 @@ private object PreviewItems { leadingContent: ListItemContent? = null, trailingContent: ListItemContent? = null, ) { - ElementThemedPreview { + EnabledDisabledElementThemedPreview { ListItem( headlineContent = headline(), supportingContent = text(), leadingContent = leadingContent, trailingContent = trailingContent, + enabled = it, style = style, modifier = modifier, ) @@ -429,12 +430,13 @@ private object PreviewItems { leadingContent: ListItemContent? = null, trailingContent: ListItemContent? = null, ) { - ElementThemedPreview { + EnabledDisabledElementThemedPreview { ListItem( headlineContent = headline(), supportingContent = textSingleLine(), leadingContent = leadingContent, trailingContent = trailingContent, + enabled = it, style = style, modifier = modifier, ) @@ -447,14 +449,13 @@ private object PreviewItems { style: ListItemStyle = ListItemStyle.Default, leadingContent: ListItemContent? = null, trailingContent: ListItemContent? = null, - enabled: Boolean = true, ) { - ElementThemedPreview { + EnabledDisabledElementThemedPreview { ListItem( headlineContent = headline(), leadingContent = leadingContent, trailingContent = trailingContent, - enabled = enabled, + enabled = it, style = style, modifier = modifier, ) From fe896883e2b9b2e683c4753f578cfb1c2b2d2750 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 18 Oct 2024 12:38:16 +0200 Subject: [PATCH 04/93] Add more preview for Destructive ListItem. It reveals some errors. --- .../designsystem/theme/components/ListItem.kt | 72 +++++++++++++++++-- 1 file changed, 66 insertions(+), 6 deletions(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt index acfc1e9d13..46194920e2 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt @@ -147,8 +147,8 @@ fun ListItem( headlineContent = decoratedHeadlineContent, modifier = if (onClick != null) { Modifier - .clickable(enabled = enabled, onClick = onClick) - .then(modifier) + .clickable(enabled = enabled, onClick = onClick) + .then(modifier) } else { modifier }, @@ -377,15 +377,75 @@ internal fun ListItemPrimaryActionWithIconPreview() = PreviewItems.OneLineListIt // endregion // region: Error state -@Preview(name = "List item - Error", group = PreviewGroup.ListItems) +@Preview(name = "List item (2 lines) - Simple - Error", group = PreviewGroup.ListItems) @Composable -internal fun ListItemErrorPreview() = PreviewItems.OneLineListItemPreview(style = ListItemStyle.Destructive) +internal fun ListItemTwoLinesSimpleErrorPreview() = PreviewItems.TwoLinesListItemPreview( + style = ListItemStyle.Destructive +) -@Preview(name = "List item - Error & Icon", group = PreviewGroup.ListItems) +@Preview(name = "List item (2 lines) - Trailing Checkbox - Error", group = PreviewGroup.ListItems) @Composable -internal fun ListItemErrorWithIconPreview() = PreviewItems.OneLineListItemPreview( +internal fun ListItemTwoLinesTrailingCheckBoxErrorPreview() = PreviewItems.TwoLinesListItemPreview( + trailingContent = PreviewItems.checkbox(), style = ListItemStyle.Destructive, +) + +@Preview(name = "List item (2 lines) - Trailing RadioButton - Error", group = PreviewGroup.ListItems) +@Composable +internal fun ListItemTwoLinesTrailingRadioButtonErrorPreview() = PreviewItems.TwoLinesListItemPreview( + trailingContent = PreviewItems.radioButton(), + style = ListItemStyle.Destructive, +) + +@Preview(name = "List item (2 lines) - Trailing Switch - Error", group = PreviewGroup.ListItems) +@Composable +internal fun ListItemTwoLinesTrailingSwitchErrorPreview() = PreviewItems.TwoLinesListItemPreview( + trailingContent = PreviewItems.switch(), + style = ListItemStyle.Destructive, +) + +@Preview(name = "List item (2 lines) - Trailing Icon - Error", group = PreviewGroup.ListItems) +@Composable +internal fun ListItemTwoLinesTrailingIconErrorPreview() = PreviewItems.TwoLinesListItemPreview( + trailingContent = PreviewItems.icon(), + style = ListItemStyle.Destructive, +) + +// region: Leading Checkbox +@Preview(name = "List item (2 lines) - Leading Checkbox - Error", group = PreviewGroup.ListItems) +@Composable +internal fun ListItemTwoLinesLeadingCheckboxErrorPreview() = PreviewItems.TwoLinesListItemPreview( + leadingContent = PreviewItems.checkbox(), + style = ListItemStyle.Destructive, +) + +@Preview(name = "List item (2 lines) - Leading RadioButton - Error", group = PreviewGroup.ListItems) +@Composable +internal fun ListItemTwoLinesLeadingRadioButtonErrorPreview() = PreviewItems.TwoLinesListItemPreview( + leadingContent = PreviewItems.radioButton(), + style = ListItemStyle.Destructive, +) + +@Preview(name = "List item (2 lines) - Leading Switch - Error", group = PreviewGroup.ListItems) +@Composable +internal fun ListItemTwoLinesLeadingSwitchErrorPreview() = PreviewItems.TwoLinesListItemPreview( + leadingContent = PreviewItems.switch(), + style = ListItemStyle.Destructive, +) + +@Preview(name = "List item (2 lines) - Leading Icon - Error", group = PreviewGroup.ListItems) +@Composable +internal fun ListItemTwoLinesLeadingIconErrorPreview() = PreviewItems.TwoLinesListItemPreview( leadingContent = PreviewItems.icon(), + style = ListItemStyle.Destructive, +) + +@Preview(name = "List item (2 lines) - Both Icons - Error", group = PreviewGroup.ListItems) +@Composable +internal fun ListItemTwoLinesBothIconsErrorPreview() = PreviewItems.TwoLinesListItemPreview( + leadingContent = PreviewItems.icon(), + trailingContent = PreviewItems.icon(), + style = ListItemStyle.Destructive, ) // endregion From 337c6f9fd119610897d7f5bf5c616ba64468550d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 18 Oct 2024 15:09:53 +0200 Subject: [PATCH 05/93] Fix supportingColor not correct on Destructive ListItem. --- .../android/libraries/designsystem/theme/components/ListItem.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt index 46194920e2..5efb518af2 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt @@ -103,6 +103,7 @@ fun ListItem( ) { // We cannot just pass the disabled colors, they must be set manually: https://issuetracker.google.com/issues/280480132 val headlineColor = if (enabled) colors.headlineColor else colors.disabledHeadlineColor + val supportingColor = if (enabled) colors.supportingTextColor else colors.disabledHeadlineColor.copy(alpha = 0.80f) val leadingContentColor = if (enabled) colors.leadingIconColor else colors.disabledLeadingIconColor val trailingContentColor = if (enabled) colors.trailingIconColor else colors.disabledTrailingIconColor @@ -118,6 +119,7 @@ fun ListItem( { CompositionLocalProvider( LocalTextStyle provides ElementTheme.materialTypography.bodyMedium, + LocalContentColor provides supportingColor, ) { content() } From 2dfb0aa1ef95c1b480d6d93f8b643bfb655a1357 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Fri, 18 Oct 2024 13:24:06 +0000 Subject: [PATCH 06/93] Update screenshots --- ...atures.rageshake.impl.bugreport_BugReportView_Day_2_en.png | 4 ++-- ...ures.rageshake.impl.bugreport_BugReportView_Night_2_en.png | 4 ++-- ...components.preferences_PreferenceSwitch_Preferences_en.png | 4 ++-- ...bledWithIcon_List item - Disabled & Icon_List items_en.png | 3 --- ...ts_ListItemDisabled_List item - Disabled_List items_en.png | 3 --- ...emErrorWithIcon_List item - Error & Icon_List items_en.png | 3 --- ...mponents_ListItemError_List item - Error_List items_en.png | 3 --- ...thIcon_List item - Primary action & Icon_List items_en.png | 4 ++-- ...othIcons_List item (1 line) - Both Icons_List items_en.png | 4 ++-- ...ox_List item (1 line) - Leading Checkbox_List items_en.png | 4 ++-- ...ngIcon_List item (1 line) - Leading Icon_List items_en.png | 4 ++-- ...List item (1 line) - Leading RadioButton_List items_en.png | 4 ++-- ...itch_List item (1 line) - Leading Switch_List items_en.png | 4 ++-- ...leLineSimple_List item (1 line) - Simple_List items_en.png | 4 ++-- ...x_List item (1 line) - Trailing Checkbox_List items_en.png | 4 ++-- ...gIcon_List item (1 line) - Trailing Icon_List items_en.png | 4 ++-- ...ist item (1 line) - Trailing RadioButton_List items_en.png | 4 ++-- ...tch_List item (1 line) - Trailing Switch_List items_en.png | 4 ++-- ...thIcons_List item (3 lines) - Both Icons_List items_en.png | 4 ++-- ...x_List item (3 lines) - Leading Checkbox_List items_en.png | 4 ++-- ...gIcon_List item (3 lines) - Leading Icon_List items_en.png | 4 ++-- ...ist item (3 lines) - Leading RadioButton_List items_en.png | 4 ++-- ...tch_List item (3 lines) - Leading Switch_List items_en.png | 4 ++-- ...LinesSimple_List item (3 lines) - Simple_List items_en.png | 4 ++-- ..._List item (3 lines) - Trailing Checkbox_List items_en.png | 4 ++-- ...Icon_List item (3 lines) - Trailing Icon_List items_en.png | 4 ++-- ...st item (3 lines) - Trailing RadioButton_List items_en.png | 4 ++-- ...ch_List item (3 lines) - Trailing Switch_List items_en.png | 4 ++-- ...List item (2 lines) - Both Icons - Error_List items_en.png | 3 +++ ...thIcons_List item (2 lines) - Both Icons_List items_en.png | 4 ++-- ...tem (2 lines) - Leading Checkbox - Error_List items_en.png | 3 +++ ...x_List item (2 lines) - Leading Checkbox_List items_en.png | 4 ++-- ...st item (2 lines) - Leading Icon - Error_List items_en.png | 3 +++ ...gIcon_List item (2 lines) - Leading Icon_List items_en.png | 4 ++-- ... (2 lines) - Leading RadioButton - Error_List items_en.png | 3 +++ ...ist item (2 lines) - Leading RadioButton_List items_en.png | 4 ++-- ... item (2 lines) - Leading Switch - Error_List items_en.png | 3 +++ ...tch_List item (2 lines) - Leading Switch_List items_en.png | 4 ++-- ...ror_List item (2 lines) - Simple - Error_List items_en.png | 3 +++ ...LinesSimple_List item (2 lines) - Simple_List items_en.png | 4 ++-- ...em (2 lines) - Trailing Checkbox - Error_List items_en.png | 3 +++ ..._List item (2 lines) - Trailing Checkbox_List items_en.png | 4 ++-- ...t item (2 lines) - Trailing Icon - Error_List items_en.png | 3 +++ ...Icon_List item (2 lines) - Trailing Icon_List items_en.png | 4 ++-- ...(2 lines) - Trailing RadioButton - Error_List items_en.png | 3 +++ ...st item (2 lines) - Trailing RadioButton_List items_en.png | 4 ++-- ...item (2 lines) - Trailing Switch - Error_List items_en.png | 3 +++ ...ch_List item (2 lines) - Trailing Switch_List items_en.png | 4 ++-- 48 files changed, 98 insertions(+), 80 deletions(-) delete mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemDisabledWithIcon_List item - Disabled & Icon_List items_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemDisabled_List item - Disabled_List items_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemErrorWithIcon_List item - Error & Icon_List items_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemError_List item - Error_List items_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesBothIconsError_List item (2 lines) - Both Icons - Error_List items_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingCheckboxError_List item (2 lines) - Leading Checkbox - Error_List items_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingIconError_List item (2 lines) - Leading Icon - Error_List items_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingRadioButtonError_List item (2 lines) - Leading RadioButton - Error_List items_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitchError_List item (2 lines) - Leading Switch - Error_List items_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesSimpleError_List item (2 lines) - Simple - Error_List items_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingCheckBoxError_List item (2 lines) - Trailing Checkbox - Error_List items_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingIconError_List item (2 lines) - Trailing Icon - Error_List items_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingRadioButtonError_List item (2 lines) - Trailing RadioButton - Error_List items_en.png create mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitchError_List item (2 lines) - Trailing Switch - Error_List items_en.png 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 e645076330..65ed8f2d7f 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:a6a792161530746c31b165898988b15ec9c8a982135b3cbbdbbd412a91a781d1 -size 65829 +oid sha256:f6fd4487ae63d2116b70a31b5ee8d18135cf735f6257134afd6572b0dbe1ac5b +size 63216 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 0672422936..d48c9371bb 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:ce0c8fccb44d193364f9f3535a5e27c75acbb267936a305578bd46c69f257fd6 -size 64790 +oid sha256:23f505a91ebe3438f52c65f53362fc2d5cca57a8959e5459722217541ec24fc9 +size 62030 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSwitch_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSwitch_Preferences_en.png index 9f0182f156..41ae7f8fbb 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSwitch_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSwitch_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f91144e2ea2cf30dfa778b5c26b30d09ef741597dabd67ed892fee82f3c00b90 -size 36897 +oid sha256:4d1428315ff345ab13a8bcaec56748cf010680c6fc2fbf2d756a22cdbd9a2a5a +size 36421 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemDisabledWithIcon_List item - Disabled & Icon_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemDisabledWithIcon_List item - Disabled & Icon_List items_en.png deleted file mode 100644 index 0a1f6ca6dd..0000000000 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemDisabledWithIcon_List item - Disabled & Icon_List items_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4361f8cc4f8acd54f4db373c2ca5ef87906d4b8aa889bfcb793b5771ede3d06e -size 8445 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemDisabled_List item - Disabled_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemDisabled_List item - Disabled_List items_en.png deleted file mode 100644 index 6a8ced81c6..0000000000 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemDisabled_List item - Disabled_List items_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:73c911f1758c9b6e19f290ff4a5a203db7115085021a7bae9518a2b23f573b32 -size 6755 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemErrorWithIcon_List item - Error & Icon_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemErrorWithIcon_List item - Error & Icon_List items_en.png deleted file mode 100644 index 809e18659f..0000000000 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemErrorWithIcon_List item - Error & Icon_List items_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b05bab9b7ba197b4de01faa47e844ff307a9a22d7dbdbf5ef20e54e7b00c1fc4 -size 8619 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemError_List item - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemError_List item - Error_List items_en.png deleted file mode 100644 index 7624aad49d..0000000000 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemError_List item - Error_List items_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1919e39d541fae984490b1dd5bfc4d788800cef062e61406943e682cac4f9c35 -size 6884 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemPrimaryActionWithIcon_List item - Primary action & Icon_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemPrimaryActionWithIcon_List item - Primary action & Icon_List items_en.png index 7706151f20..cbcb8a69f9 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemPrimaryActionWithIcon_List item - Primary action & Icon_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemPrimaryActionWithIcon_List item - Primary action & Icon_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f08ca444b6d9641feaf7f1c2c2f6a093bd911b477d8b8ecdd45e1a72779d49c4 -size 8662 +oid sha256:109343e4cc1001db3f6bdbd7574e7ff7658d7be22637ebdb18fad2675a19f02c +size 13413 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineBothIcons_List item (1 line) - Both Icons_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineBothIcons_List item (1 line) - Both Icons_List items_en.png index 07b5ff5fe1..b23cf2ad92 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineBothIcons_List item (1 line) - Both Icons_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineBothIcons_List item (1 line) - Both Icons_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e39dbaa909f0881c731bfe511525a103958d709cd00957979a61bd83df6fee2 -size 10396 +oid sha256:994c387ed14b17e4aecca6d357876733c3d956b210b7c451db8197b627c56112 +size 16573 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingCheckbox_List item (1 line) - Leading Checkbox_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingCheckbox_List item (1 line) - Leading Checkbox_List items_en.png index be7dbbf500..0cc0061903 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingCheckbox_List item (1 line) - Leading Checkbox_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingCheckbox_List item (1 line) - Leading Checkbox_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c9116c003649c3bfb0c9fbbd4a463683ac97eea6049120fbf6e4f50ebd8fdf51 -size 7384 +oid sha256:931481a1fb63f4dc01f5ec120b655d6acf3b03a6feece8a8fbe0daeaebcb61cc +size 10678 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingIcon_List item (1 line) - Leading Icon_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingIcon_List item (1 line) - Leading Icon_List items_en.png index 8218532d0c..a5a9027842 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingIcon_List item (1 line) - Leading Icon_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingIcon_List item (1 line) - Leading Icon_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8ca8f5fb66abdad4b8bb14324d71ae0df6a322c06d9a56dcc2d0b6cd1e7e135 -size 8826 +oid sha256:8157da65ee527b1daa34f8ef10de9c8e0bd9fd4c3a12a500a2309c43634c6f29 +size 13555 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingRadioButton_List item (1 line) - Leading RadioButton_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingRadioButton_List item (1 line) - Leading RadioButton_List items_en.png index 6de5bd835f..af8ca24222 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingRadioButton_List item (1 line) - Leading RadioButton_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingRadioButton_List item (1 line) - Leading RadioButton_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f44f3fbdb4e024eadf076f402da7c47f62cf9814e73b01e163a7474a57f5fd65 -size 8751 +oid sha256:ef70bc4aaafa730bac6584014bc4fa6291fd5290711497bef6334e969e6959b4 +size 13250 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingSwitch_List item (1 line) - Leading Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingSwitch_List item (1 line) - Leading Switch_List items_en.png index 0e7272b872..4c149b4d6a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingSwitch_List item (1 line) - Leading Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingSwitch_List item (1 line) - Leading Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bf7462533c01931b25769e6d28e94dcb8bb4297bcb8ddb81429c73447924c07c -size 11059 +oid sha256:7a51471db6045dd3d7456a016752a963cdbe76e82b30507a9c2de366a2df85b6 +size 17920 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineSimple_List item (1 line) - Simple_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineSimple_List item (1 line) - Simple_List items_en.png index 279b3369b5..9a4607304d 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineSimple_List item (1 line) - Simple_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineSimple_List item (1 line) - Simple_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0418fccb12b87a8b396390fe7205b6214bdc28690d68aa93fff3c31113f91a6e -size 6958 +oid sha256:ee9ecf230884476b4d59d7a7ae7a85b234592bb0b5df490350e30b79162ed2ef +size 9881 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingCheckBox_List item (1 line) - Trailing Checkbox_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingCheckBox_List item (1 line) - Trailing Checkbox_List items_en.png index d15e8e772d..4383d7cce5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingCheckBox_List item (1 line) - Trailing Checkbox_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingCheckBox_List item (1 line) - Trailing Checkbox_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f6459e5a21ccea176dfc53632f7703c2ac5e8a6c3cd2b26de4a4b377c5d449e -size 7348 +oid sha256:7e36b943b5ab7ff1750d63b6ec856d341a04e249c48698d6fb606dce1cdae50c +size 10606 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingIcon_List item (1 line) - Trailing Icon_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingIcon_List item (1 line) - Trailing Icon_List items_en.png index 358321cfc7..6faf127c0c 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingIcon_List item (1 line) - Trailing Icon_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingIcon_List item (1 line) - Trailing Icon_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5b318fa6f51a3bc8cf9460e680cddd806a89815a16ee75ce50d59228b02b3aa0 -size 8742 +oid sha256:52e6de1b25d89d02fa65a8ff6ca2ecec3697c5c2b3375f83dc10d021970cc5cc +size 13399 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingRadioButton_List item (1 line) - Trailing RadioButton_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingRadioButton_List item (1 line) - Trailing RadioButton_List items_en.png index 973cb29a1a..e5a64ea854 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingRadioButton_List item (1 line) - Trailing RadioButton_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingRadioButton_List item (1 line) - Trailing RadioButton_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:424c4e10d4842c0e718ad7161e25c4ed1b9b018419e2159211c966b295b7874e -size 8730 +oid sha256:58f68cea7244703ee8e22a5f3ff33ec6d0959c2d695ef7a460cc675637025228 +size 13234 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingSwitch_List item (1 line) - Trailing Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingSwitch_List item (1 line) - Trailing Switch_List items_en.png index c7a63740e8..c378e7dce0 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingSwitch_List item (1 line) - Trailing Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingSwitch_List item (1 line) - Trailing Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c1d8d8c54ca27ad46f758d2f26f95a9b01a4a501cd90b96ef785417fa87c4f9 -size 10871 +oid sha256:7d758f973f7ad590f946143483eada04cfa8c6251e0dac7bef23ec1aaa01e16a +size 17604 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesBothIcons_List item (3 lines) - Both Icons_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesBothIcons_List item (3 lines) - Both Icons_List items_en.png index 48944d011f..6880dc5c94 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesBothIcons_List item (3 lines) - Both Icons_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesBothIcons_List item (3 lines) - Both Icons_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:359db7616a41fa0dfd65748a1c802860a368395cd048dc1eb7fa1c2b5a19a4cb -size 26974 +oid sha256:a14b583319cce4c2488148f24b2c383480d09bd38930d13a7f1e80fa28dfd246 +size 47313 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingCheckbox_List item (3 lines) - Leading Checkbox_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingCheckbox_List item (3 lines) - Leading Checkbox_List items_en.png index deadc0967e..5ff5abefbf 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingCheckbox_List item (3 lines) - Leading Checkbox_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingCheckbox_List item (3 lines) - Leading Checkbox_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:98af40e94a5c855edd5168b94769bdc8772d323d8140605c650939c1fdf688d5 -size 24455 +oid sha256:c9013763c103b76796b2aaedf8fd4f470ca4372ecca8d115b59ff5f00b08f4f3 +size 41697 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingIcon_List item (3 lines) - Leading Icon_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingIcon_List item (3 lines) - Leading Icon_List items_en.png index bd3cd6a1f4..904ecb6396 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingIcon_List item (3 lines) - Leading Icon_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingIcon_List item (3 lines) - Leading Icon_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d81d9c42df9ab328f38bd7231e059ade9e02845136f1e958b9eae70512679f23 -size 25594 +oid sha256:4b424c57dfb95bd4d2befe0e1b569bf417920a10afd7bd5bba6f5d544ae20876 +size 44500 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingRadioButton_List item (3 lines) - Leading RadioButton_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingRadioButton_List item (3 lines) - Leading RadioButton_List items_en.png index 7761d08e4c..50af415a4f 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingRadioButton_List item (3 lines) - Leading RadioButton_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingRadioButton_List item (3 lines) - Leading RadioButton_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d7242fcc23945e9ef2823af7f3e5285cfe9bc3e1f66d7c25eba9c5dcea143382 -size 25454 +oid sha256:d7561472314ea7f56f80086897d2547e840c04425e317d62f3acb2a7959ba44e +size 44022 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingSwitch_List item (3 lines) - Leading Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingSwitch_List item (3 lines) - Leading Switch_List items_en.png index e8995c403a..8adeff7aff 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingSwitch_List item (3 lines) - Leading Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingSwitch_List item (3 lines) - Leading Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2019aa371b2b51edfe58723b8cfbd95785f26328b41811edf46cc0273b0a1b21 -size 27353 +oid sha256:770d9f5e245faf42a4c4b4b7471d2026f03a831b14c2f1da547a1616b3fad4c8 +size 48555 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesSimple_List item (3 lines) - Simple_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesSimple_List item (3 lines) - Simple_List items_en.png index a3ce8cdd11..3797f7a205 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesSimple_List item (3 lines) - Simple_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesSimple_List item (3 lines) - Simple_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:22d4bda8e95d967246bdb7a6ee3e2412e042e0bcb15ad77569c9858483d4676f -size 24220 +oid sha256:7e2070acdf0cf63572e3422334849c53aaaa0ee5f916ee6c1455bd8754d953f1 +size 41193 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingCheckBox_List item (3 lines) - Trailing Checkbox_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingCheckBox_List item (3 lines) - Trailing Checkbox_List items_en.png index a30605250f..37b4420bd5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingCheckBox_List item (3 lines) - Trailing Checkbox_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingCheckBox_List item (3 lines) - Trailing Checkbox_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1de37975b3c0700a41bfcabf228f68a3b85d175f5555029bc97255cc50ba1d08 -size 24660 +oid sha256:3caa1ea352417833395592c2d35b0c176ee991748796850b26fefb4c22dcd6da +size 42048 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingIcon_List item (3 lines) - Trailing Icon_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingIcon_List item (3 lines) - Trailing Icon_List items_en.png index f7f729b242..778124f01e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingIcon_List item (3 lines) - Trailing Icon_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingIcon_List item (3 lines) - Trailing Icon_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3911c1eb90124b77ee556ee246f6c16603a97295b5286e8116ffe1619870f0f7 -size 25737 +oid sha256:39d787d556d73b53e91118aff0259f52e1d0bd9a67294a7773e3ce0ca42ed687 +size 44758 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingRadioButton_List item (3 lines) - Trailing RadioButton_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingRadioButton_List item (3 lines) - Trailing RadioButton_List items_en.png index 29efabd5df..12c26dee05 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingRadioButton_List item (3 lines) - Trailing RadioButton_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingRadioButton_List item (3 lines) - Trailing RadioButton_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b129dc5b70bed0bbe4cf670a6cceb699bd51b4a0c6a8e1361542a219ddc7549a -size 25629 +oid sha256:b8d7dff8473263b10d5e717d4f0de8f0ab7f0ff9678d599823895ef3c28b8e5a +size 44285 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingSwitch_List item (3 lines) - Trailing Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingSwitch_List item (3 lines) - Trailing Switch_List items_en.png index f8cd161500..864e7adc83 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingSwitch_List item (3 lines) - Trailing Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingSwitch_List item (3 lines) - Trailing Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a21c63cddc162efa53525b32429929efa0d6b021e34c2dde7cfa64af9bc9bfd5 -size 27443 +oid sha256:d8c360c163f5efd86b8140d427acfc19ae2e04aa431855fb3c0157d1e7405e0e +size 48402 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesBothIconsError_List item (2 lines) - Both Icons - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesBothIconsError_List item (2 lines) - Both Icons - Error_List items_en.png new file mode 100644 index 0000000000..17ecbf7aff --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesBothIconsError_List item (2 lines) - Both Icons - Error_List items_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac2b06bc995f824829e53c28765deb1f5906ab4f5c090a213cc8574e5adb98b0 +size 34137 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesBothIcons_List item (2 lines) - Both Icons_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesBothIcons_List item (2 lines) - Both Icons_List items_en.png index 37ca4829ca..f5773792d7 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesBothIcons_List item (2 lines) - Both Icons_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesBothIcons_List item (2 lines) - Both Icons_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c08a022c9822c5856f8c91d83a2289c81de9442a46177534c9ddcf1146e0bfd0 -size 20207 +oid sha256:af7b60236fa5b56d4d0267c19f2702f2f11c6a3463ac39a086b2ce3349e65290 +size 33968 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingCheckboxError_List item (2 lines) - Leading Checkbox - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingCheckboxError_List item (2 lines) - Leading Checkbox - Error_List items_en.png new file mode 100644 index 0000000000..57762d5e58 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingCheckboxError_List item (2 lines) - Leading Checkbox - Error_List items_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4d25a2d81ae68068e3c69c82178a3aedf122eea767167ac743929ddbe739aae +size 29612 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingCheckbox_List item (2 lines) - Leading Checkbox_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingCheckbox_List item (2 lines) - Leading Checkbox_List items_en.png index 8392742e08..4f20d64d40 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingCheckbox_List item (2 lines) - Leading Checkbox_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingCheckbox_List item (2 lines) - Leading Checkbox_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f5b602c8e44cbde2e7e568e5d06dafe89e0b50921d12c764864dde449e395268 -size 17813 +oid sha256:e273356ac0c1c3ba1033f31bfb04d33c82457467f680011804f6ba9b027bf620 +size 29523 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingIconError_List item (2 lines) - Leading Icon - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingIconError_List item (2 lines) - Leading Icon - Error_List items_en.png new file mode 100644 index 0000000000..4135f2fa35 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingIconError_List item (2 lines) - Leading Icon - Error_List items_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97dac225da2848608e32ba53252385cf011c38aceefba193f9605c98d0a726a7 +size 33856 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingIcon_List item (2 lines) - Leading Icon_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingIcon_List item (2 lines) - Leading Icon_List items_en.png index 4a4cc4bbd3..c5fca049fb 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingIcon_List item (2 lines) - Leading Icon_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingIcon_List item (2 lines) - Leading Icon_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b71c5e8fdebd9ce2d606d40863142e7c19c4b2c29ee7dc32b2dab240bbcfed7 -size 20027 +oid sha256:e0671c62081c3151696ed9275f76c63b536d852d47b09016655653e7f3278266 +size 33773 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingRadioButtonError_List item (2 lines) - Leading RadioButton - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingRadioButtonError_List item (2 lines) - Leading RadioButton - Error_List items_en.png new file mode 100644 index 0000000000..ec3a5d234e --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingRadioButtonError_List item (2 lines) - Leading RadioButton - Error_List items_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b904675e4c1735ad6bb566ca8ca014532d005b21c77500f64475afe293baba74 +size 32213 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingRadioButton_List item (2 lines) - Leading RadioButton_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingRadioButton_List item (2 lines) - Leading RadioButton_List items_en.png index 51c394b3f2..705b82af06 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingRadioButton_List item (2 lines) - Leading RadioButton_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingRadioButton_List item (2 lines) - Leading RadioButton_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:251bcfc7729cdb06918d0062f8c4bdc84a9f62507336aebf29342cdf173917dd -size 19103 +oid sha256:d21d8a2fa0ae1fee321079cc0cd752c24a2e4396cf512a8ad7164b63477b4de9 +size 32024 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitchError_List item (2 lines) - Leading Switch - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitchError_List item (2 lines) - Leading Switch - Error_List items_en.png new file mode 100644 index 0000000000..80f42f5965 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitchError_List item (2 lines) - Leading Switch - Error_List items_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:48805c44b36224b6a93ab830ccdc58927dafcb85f57e57ddc92d556ef84b2d36 +size 36669 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitch_List item (2 lines) - Leading Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitch_List item (2 lines) - Leading Switch_List items_en.png index 9e1b3a14de..1798bb6cfa 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitch_List item (2 lines) - Leading Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitch_List item (2 lines) - Leading Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:22643895cf09fb06fdff7fa81489641176f371a7b6e292665d40b673fde9779f -size 21388 +oid sha256:ac3bddd449949f6f6e3b606f877eff1d7398637cabbf848f7be7a3f0277a7560 +size 36307 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesSimpleError_List item (2 lines) - Simple - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesSimpleError_List item (2 lines) - Simple - Error_List items_en.png new file mode 100644 index 0000000000..00bc06799b --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesSimpleError_List item (2 lines) - Simple - Error_List items_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:225fe48c2f8626d9602f5c99eff3154ff79dcbb506bcb012fde3aa75f6122544 +size 33547 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesSimple_List item (2 lines) - Simple_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesSimple_List item (2 lines) - Simple_List items_en.png index 0e6f6cafbd..e02a7d415b 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesSimple_List item (2 lines) - Simple_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesSimple_List item (2 lines) - Simple_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:39915e0cd6aa644305d5dc5780d8b1b36918c7dbcc6dd1e27f1113ddeb86a3eb -size 19866 +oid sha256:38723cd278edd2a2167819dfa23cba2035936ce569bee854fb4f4cec1505b8cb +size 33491 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingCheckBoxError_List item (2 lines) - Trailing Checkbox - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingCheckBoxError_List item (2 lines) - Trailing Checkbox - Error_List items_en.png new file mode 100644 index 0000000000..b6fffa2da5 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingCheckBoxError_List item (2 lines) - Trailing Checkbox - Error_List items_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d57a9dc6d67f26bdda0d3192ada45f41945fda7e204763538e42cada37003ea2 +size 29906 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingCheckBox_List item (2 lines) - Trailing Checkbox_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingCheckBox_List item (2 lines) - Trailing Checkbox_List items_en.png index c1f12967ce..47ae7db4cd 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingCheckBox_List item (2 lines) - Trailing Checkbox_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingCheckBox_List item (2 lines) - Trailing Checkbox_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dc1dc99e48c8dab1a8a547d862c99b7d3ae5859a4cecce2b0d00b036b23cd11d -size 17949 +oid sha256:b8ae9d48a57cd796bbb2a8d962b1094d42e07b0726232958fd45575dce5d6e42 +size 29830 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingIconError_List item (2 lines) - Trailing Icon - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingIconError_List item (2 lines) - Trailing Icon - Error_List items_en.png new file mode 100644 index 0000000000..254bdfa453 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingIconError_List item (2 lines) - Trailing Icon - Error_List items_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af6d85c0edb4e64a06d22c78e4e55985a209067c155208ea560fc3e3c4ffc2c5 +size 34139 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingIcon_List item (2 lines) - Trailing Icon_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingIcon_List item (2 lines) - Trailing Icon_List items_en.png index 22c6524016..17ea1db9be 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingIcon_List item (2 lines) - Trailing Icon_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingIcon_List item (2 lines) - Trailing Icon_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7f4bb6e07d6ad6d5a6cec469ffd6a82a176ace3147c630c40bb7f84f655c990c -size 20187 +oid sha256:7669ba797d31ba6a05da97afd39b408cae4bd297d026f7163ddfa77c98d9e776 +size 34073 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingRadioButtonError_List item (2 lines) - Trailing RadioButton - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingRadioButtonError_List item (2 lines) - Trailing RadioButton - Error_List items_en.png new file mode 100644 index 0000000000..3cb56b25f7 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingRadioButtonError_List item (2 lines) - Trailing RadioButton - Error_List items_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64bf18409a011ad7871cec5e25034862add9e4ac2d2ac0051bd15090f11f29cc +size 32388 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingRadioButton_List item (2 lines) - Trailing RadioButton_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingRadioButton_List item (2 lines) - Trailing RadioButton_List items_en.png index 087cb4e09e..82b6cc9a95 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingRadioButton_List item (2 lines) - Trailing RadioButton_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingRadioButton_List item (2 lines) - Trailing RadioButton_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6a7fb52dd4cfce70f922c29fc8a9f9833880a5caabd566c3a9325dcd3a79eb36 -size 19174 +oid sha256:428e23a4e8074a009345b262b4b1652a4c98216353a78603f141251d6c182d43 +size 32183 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitchError_List item (2 lines) - Trailing Switch - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitchError_List item (2 lines) - Trailing Switch - Error_List items_en.png new file mode 100644 index 0000000000..566333c493 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitchError_List item (2 lines) - Trailing Switch - Error_List items_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3424bd4d583e0bc8f8a99980b0999fb03b0bcd6125f0375a49e3500933486e4e +size 36653 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitch_List item (2 lines) - Trailing Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitch_List item (2 lines) - Trailing Switch_List items_en.png index 8cfcec7018..2a9c5f7109 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitch_List item (2 lines) - Trailing Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitch_List item (2 lines) - Trailing Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:23bc16e2c6a295ff86fb7f7d42c436aaec2b16a644b5dada0e4d95fae9cc5309 -size 21356 +oid sha256:0d5b6118b7717c32293fa68e42468025422e931b12a2b06be6451ac2304a16e0 +size 36301 From 169446a4ecee9589e68398f4867ee76f19df127d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 20 Oct 2024 01:30:05 +0000 Subject: [PATCH 07/93] Update anvil to v0.3.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 4f6dd3bc93..3869666168 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -50,7 +50,7 @@ telephoto = "0.13.0" # DI dagger = "2.52" -anvil = "0.3.2" +anvil = "0.3.3" # Auto service autoservice = "1.1.1" From 16fb516edb1847af1fcc3737620ddc62a497d37c Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 21 Oct 2024 09:42:04 +0200 Subject: [PATCH 08/93] Remove blank line --- .../android/libraries/designsystem/theme/components/ListItem.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt index 5efb518af2..0dce260f06 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt @@ -453,7 +453,6 @@ internal fun ListItemTwoLinesBothIconsErrorPreview() = PreviewItems.TwoLinesList @Suppress("ModifierMissing") private object PreviewItems { - @Composable private fun EnabledDisabledElementThemedPreview( content: @Composable (Boolean) -> Unit, From 801307f1e292c33f796d8f1f39bdd8d9b9aae5c5 Mon Sep 17 00:00:00 2001 From: torrybr <16907963+torrybr@users.noreply.github.com> Date: Mon, 21 Oct 2024 08:33:59 -0400 Subject: [PATCH 09/93] fix: import path broken in module template (#3710) --- .../Template Module Feature Build Gradle Impl.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 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 69a9a08de8..6d6502418c 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,4 +1,4 @@ -import extensions.setupAnvil +import extension.setupAnvil plugins { id("io.element.android-compose-library") @@ -12,7 +12,7 @@ android { setupAnvil() dependencies { - api(projects.features.${ MODULE_NAME }.api) + api(projects.features.${MODULE_NAME}.api) implementation(projects.libraries.core) implementation(projects.libraries.architecture) implementation(projects.libraries.matrix.api) From 1eec1289235ab833c95ad2730655e7a9b78ef380 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 21 Oct 2024 15:26:18 +0200 Subject: [PATCH 10/93] Use ic_compound_unpin --- .../messages/impl/actionlist/model/TimelineItemAction.kt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/model/TimelineItemAction.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/model/TimelineItemAction.kt index 41e7bc724b..cddf3ff8e4 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/model/TimelineItemAction.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/actionlist/model/TimelineItemAction.kt @@ -32,7 +32,5 @@ sealed class TimelineItemAction( data object ReportContent : TimelineItemAction(CommonStrings.action_report_content, CompoundDrawables.ic_compound_chat_problem, destructive = true) data object EndPoll : TimelineItemAction(CommonStrings.action_end_poll, CompoundDrawables.ic_compound_polls_end) data object Pin : TimelineItemAction(CommonStrings.action_pin, CompoundDrawables.ic_compound_pin) - - // TODO use the Unpin compound icon when available. - data object Unpin : TimelineItemAction(CommonStrings.action_unpin, CompoundDrawables.ic_compound_pin) + data object Unpin : TimelineItemAction(CommonStrings.action_unpin, CompoundDrawables.ic_compound_unpin) } From 1af4721cd436b39533a4e1a038edd52181b157c2 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 19 Aug 2024 14:16:45 +0200 Subject: [PATCH 11/93] Change preview to test wrapping of long pinned message. --- .../pinned/banner/PinnedMessagesBannerStateProvider.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerStateProvider.kt index 6ea79ef415..d9dabb57a7 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerStateProvider.kt @@ -19,7 +19,11 @@ internal class PinnedMessagesBannerStateProvider : PreviewParameterProvider Unit = {} ) = PinnedMessagesBannerState.Loaded( From 20e40dd30cf8f3e83246a9de2eeb87c0afd48ddc Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 19 Aug 2024 14:22:22 +0200 Subject: [PATCH 12/93] Reduce space between message and "View All" button --- .../impl/pinned/banner/PinnedMessagesBannerView.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerView.kt index ed7e8be652..3c8e4bc6db 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/pinned/banner/PinnedMessagesBannerView.kt @@ -18,6 +18,7 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height 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.runtime.Composable @@ -98,9 +99,8 @@ private fun PinnedMessagesBannerRow( } }, verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = spacedBy(10.dp) ) { - Spacer(modifier = Modifier.width(16.dp)) + Spacer(modifier = Modifier.width(26.dp)) PinIndicators( pinIndex = state.currentPinnedMessageIndex(), pinsCount = state.pinnedMessagesCount(), @@ -109,7 +109,9 @@ private fun PinnedMessagesBannerRow( imageVector = CompoundIcons.PinSolid(), contentDescription = null, tint = ElementTheme.materialColors.secondary, - modifier = Modifier.size(20.dp) + modifier = Modifier + .padding(horizontal = 10.dp) + .size(20.dp) ) PinnedMessageItem( index = state.currentPinnedMessageIndex(), From 7ad65f19bb1ebb2191d33931d06a40a8b86d2fa5 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Mon, 21 Oct 2024 13:44:50 +0000 Subject: [PATCH 13/93] Update screenshots --- ...s.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en.png | 4 ++-- ...impl.pinned.banner_PinnedMessagesBannerView_Night_4_en.png | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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 71627c1041..e7038a64e4 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:35f12c5ebb668fd4fa340d6657cc7c758eaac73c7ba758acb5d066009edea422 -size 12943 +oid sha256:168b7b210c781588a53bfacdbeb64f694d227de488578a4a3c3545d111725acc +size 13515 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 175cd36d4f..c82a97b618 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:ea13db4a7e464584ff8e7581b794f3bd5dbbc6fb30341fc65d1cdfbf90aab813 -size 12353 +oid sha256:5aa6e199123276936b44e009f05696d00d4b3000b82e67c6280b5f15a92d2a8a +size 12891 From 3c17697bbc3dafc820eb87dcbac45e26bb835af2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 17:38:34 +0000 Subject: [PATCH 14/93] Update dependency org.matrix.rustcomponents:sdk-android to v0.2.56 --- 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 242972ab1b..3148444c31 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -168,7 +168,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.55" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.56" 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 6be3da1772d16c07d8693e0e2095e64f0f4213e6 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 21 Oct 2024 17:51:49 +0200 Subject: [PATCH 15/93] RoundedIconAtom: add new size Big. --- .../designsystem/atomic/atoms/RoundedIconAtom.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt index c21e1a5f38..a835351bdf 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt @@ -71,6 +71,7 @@ fun RoundedIconAtom( private fun RoundedIconAtomSize.toContainerSize(): Dp { return when (this) { RoundedIconAtomSize.Medium -> 30.dp + RoundedIconAtomSize.Big -> 36.dp RoundedIconAtomSize.Large -> 70.dp } } @@ -78,6 +79,7 @@ private fun RoundedIconAtomSize.toContainerSize(): Dp { private fun RoundedIconAtomSize.toCornerSize(): Dp { return when (this) { RoundedIconAtomSize.Medium -> 8.dp + RoundedIconAtomSize.Big -> 8.dp RoundedIconAtomSize.Large -> 14.dp } } @@ -85,6 +87,7 @@ private fun RoundedIconAtomSize.toCornerSize(): Dp { private fun RoundedIconAtomSize.toIconSize(): Dp { return when (this) { RoundedIconAtomSize.Medium -> 16.dp + RoundedIconAtomSize.Big -> 24.dp RoundedIconAtomSize.Large -> 48.dp } } @@ -97,6 +100,10 @@ internal fun RoundedIconAtomPreview() = ElementPreview { size = RoundedIconAtomSize.Medium, imageVector = Icons.Filled.Home, ) + RoundedIconAtom( + size = RoundedIconAtomSize.Big, + imageVector = Icons.Filled.Home, + ) RoundedIconAtom( size = RoundedIconAtomSize.Large, imageVector = Icons.Filled.Home, @@ -106,5 +113,6 @@ internal fun RoundedIconAtomPreview() = ElementPreview { enum class RoundedIconAtomSize { Medium, + Big, Large } From 56b65591e9345ef593c8252f9915ee9ff7c3f5e6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:07:49 +0000 Subject: [PATCH 16/93] Update dependency com.google.firebase:firebase-bom to v33.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 242972ab1b..56f9d33911 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -72,7 +72,7 @@ kover_gradle_plugin = { module = "org.jetbrains.kotlinx:kover-gradle-plugin", ve 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" +google_firebase_bom = "com.google.firebase:firebase-bom:33.5.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" } From f54b2a940c3849c9ab010347012e788ca2c80c9f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 21 Oct 2024 22:33:15 +0200 Subject: [PATCH 17/93] Fix API break. --- .../matrix/impl/room/member/RoomMemberMapper.kt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapper.kt index 890cc39ebe..d6b7eeb8e1 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapper.kt @@ -36,10 +36,11 @@ object RoomMemberMapper { fun mapMembership(membershipState: RustMembershipState): RoomMembershipState = when (membershipState) { - RustMembershipState.BAN -> RoomMembershipState.BAN - RustMembershipState.INVITE -> RoomMembershipState.INVITE - RustMembershipState.JOIN -> RoomMembershipState.JOIN - RustMembershipState.KNOCK -> RoomMembershipState.KNOCK - RustMembershipState.LEAVE -> RoomMembershipState.LEAVE + RustMembershipState.Ban -> RoomMembershipState.BAN + RustMembershipState.Invite -> RoomMembershipState.INVITE + RustMembershipState.Join -> RoomMembershipState.JOIN + RustMembershipState.Knock -> RoomMembershipState.KNOCK + RustMembershipState.Leave -> RoomMembershipState.LEAVE + is RustMembershipState.Custom -> TODO() } } From d84ae34163a85a8d1bbea2e0f96a156ce3117524 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 21 Oct 2024 22:43:49 +0200 Subject: [PATCH 18/93] Fix flaky tests. --- .../impl/developer/DeveloperSettingsPresenterTest.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 51750d4bfb..5568b2beba 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 @@ -26,8 +26,9 @@ import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore import io.element.android.tests.testutils.WarmUpRule import io.element.android.tests.testutils.awaitLastSequentialItem import io.element.android.tests.testutils.lambda.lambdaRecorder -import kotlinx.coroutines.delay +import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.first +import kotlinx.coroutines.test.advanceUntilIdle import kotlinx.coroutines.test.runTest import org.junit.Rule import org.junit.Test @@ -154,6 +155,7 @@ class DeveloperSettingsPresenterTest { } } + @OptIn(ExperimentalCoroutinesApi::class) @Test fun `present - toggling simplified sliding sync changes the preferences and logs out the user`() = runTest { val logoutCallRecorder = lambdaRecorder { "" } @@ -169,15 +171,13 @@ class DeveloperSettingsPresenterTest { initialState.eventSink(DeveloperSettingsEvents.SetSimplifiedSlidingSyncEnabled(true)) assertThat(awaitItem().isSimpleSlidingSyncEnabled).isTrue() assertThat(preferences.isSimplifiedSlidingSyncEnabledFlow().first()).isTrue() - // Give time for the logout to be called, but for some reason using runCurrent() is not enough - delay(2) + advanceUntilIdle() logoutCallRecorder.assertions().isCalledOnce() initialState.eventSink(DeveloperSettingsEvents.SetSimplifiedSlidingSyncEnabled(false)) assertThat(awaitItem().isSimpleSlidingSyncEnabled).isFalse() assertThat(preferences.isSimplifiedSlidingSyncEnabledFlow().first()).isFalse() - // Give time for the logout to be called, but for some reason using runCurrent() is not enough - delay(2) + advanceUntilIdle() logoutCallRecorder.assertions().isCalledExactly(times = 2) } } From d660fd066677086299d1273980158b05dc735683 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 22 Oct 2024 09:36:11 +0200 Subject: [PATCH 19/93] Fix API break. --- .../libraries/matrix/impl/encryption/RustEncryptionService.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 c84ab859b5..69dee9a4d4 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) ?: error("User identity not found") + val userIdentity = service.userIdentity(userId.value) ?: error("User identity not found") userIdentity.pin() } } From ebc0245f2d415cc883948735299c7d279d8910f7 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 22 Oct 2024 10:05:26 +0200 Subject: [PATCH 20/93] Fix API break in tests. --- .../matrix/impl/fixtures/factories/RoomMember.kt | 2 +- .../matrix/impl/room/member/RoomMemberMapperTest.kt | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomMember.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomMember.kt index 7aebed99ea..bacfefa113 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomMember.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomMember.kt @@ -16,7 +16,7 @@ fun aRustRoomMember( userId: UserId, displayName: String? = null, avatarUrl: String? = null, - membership: MembershipState = MembershipState.JOIN, + membership: MembershipState = MembershipState.Join, isNameAmbiguous: Boolean = false, powerLevel: Long = 0L, isIgnored: Boolean = false, diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapperTest.kt index dcf3ed5ee1..3795631037 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/member/RoomMemberMapperTest.kt @@ -24,10 +24,10 @@ class RoomMemberMapperTest { @Test fun mapMembership() { - assertThat(RoomMemberMapper.mapMembership(RustMembershipState.BAN)).isEqualTo(RoomMembershipState.BAN) - assertThat(RoomMemberMapper.mapMembership(RustMembershipState.INVITE)).isEqualTo(RoomMembershipState.INVITE) - assertThat(RoomMemberMapper.mapMembership(RustMembershipState.JOIN)).isEqualTo(RoomMembershipState.JOIN) - assertThat(RoomMemberMapper.mapMembership(RustMembershipState.KNOCK)).isEqualTo(RoomMembershipState.KNOCK) - assertThat(RoomMemberMapper.mapMembership(RustMembershipState.LEAVE)).isEqualTo(RoomMembershipState.LEAVE) + assertThat(RoomMemberMapper.mapMembership(RustMembershipState.Ban)).isEqualTo(RoomMembershipState.BAN) + assertThat(RoomMemberMapper.mapMembership(RustMembershipState.Invite)).isEqualTo(RoomMembershipState.INVITE) + assertThat(RoomMemberMapper.mapMembership(RustMembershipState.Join)).isEqualTo(RoomMembershipState.JOIN) + assertThat(RoomMemberMapper.mapMembership(RustMembershipState.Knock)).isEqualTo(RoomMembershipState.KNOCK) + assertThat(RoomMemberMapper.mapMembership(RustMembershipState.Leave)).isEqualTo(RoomMembershipState.LEAVE) } } From 86a839ea73b22d82d4232d0f4b82602c31c2c741 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 16 Oct 2024 18:15:36 +0200 Subject: [PATCH 21/93] Move RoomBadge to atomic package and rename to MatrixBadge --- .../roomdetails/impl/RoomDetailsView.kt | 14 +++--- .../atomic/atoms/MatrixBadgeAtom.kt | 49 +++++++++---------- .../tests/konsist/KonsistPreviewTest.kt | 6 +-- 3 files changed, 32 insertions(+), 37 deletions(-) rename features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/components/RoomBadge.kt => libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt (75%) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt index b3b017f0e3..6af32facf4 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt @@ -41,10 +41,10 @@ import im.vector.app.features.analytics.plan.Interaction import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.leaveroom.api.LeaveRoomView -import io.element.android.features.roomdetails.impl.components.RoomBadge import io.element.android.features.userprofile.shared.blockuser.BlockUserDialogs import io.element.android.features.userprofile.shared.blockuser.BlockUserSection import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage +import io.element.android.libraries.designsystem.atomic.atoms.MatrixBadgeAtom import io.element.android.libraries.designsystem.components.ClickableLinkText import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.avatar.AvatarSize @@ -412,23 +412,23 @@ private fun BadgeList( horizontalArrangement = Arrangement.spacedBy(8.dp), ) { if (isEncrypted) { - RoomBadge.View( + MatrixBadgeAtom.View( text = stringResource(R.string.screen_room_details_badge_encrypted), icon = CompoundIcons.LockSolid(), - type = RoomBadge.Type.Positive, + type = MatrixBadgeAtom.Type.Positive, ) } else { - RoomBadge.View( + MatrixBadgeAtom.View( text = stringResource(R.string.screen_room_details_badge_not_encrypted), icon = CompoundIcons.LockOff(), - type = RoomBadge.Type.Neutral, + type = MatrixBadgeAtom.Type.Neutral, ) } if (isPublic) { - RoomBadge.View( + MatrixBadgeAtom.View( text = stringResource(R.string.screen_room_details_badge_public), icon = CompoundIcons.Public(), - type = RoomBadge.Type.Neutral, + type = MatrixBadgeAtom.Type.Neutral, ) } } diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/components/RoomBadge.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt similarity index 75% rename from features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/components/RoomBadge.kt rename to libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt index 84abe2addf..2e2b4b07fb 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/components/RoomBadge.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.features.roomdetails.impl.components +package io.element.android.libraries.designsystem.atomic.atoms import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.vector.ImageVector @@ -21,14 +21,15 @@ import io.element.android.libraries.designsystem.theme.badgeNeutralContentColor import io.element.android.libraries.designsystem.theme.badgePositiveBackgroundColor import io.element.android.libraries.designsystem.theme.badgePositiveContentColor -object RoomBadge { +object MatrixBadgeAtom { enum class Type { Positive, Neutral, Negative } - @Composable fun View( + @Composable + fun View( text: String, icon: ImageVector, type: Type, @@ -60,36 +61,30 @@ object RoomBadge { @PreviewsDayNight @Composable -internal fun RoomBadgePositivePreview() { - ElementPreview { - RoomBadge.View( - text = "Trusted", - icon = CompoundIcons.Verified(), - type = RoomBadge.Type.Positive, - ) - } +internal fun MatrixBadgeAtomPositivePreview() = ElementPreview { + MatrixBadgeAtom.View( + text = "Trusted", + icon = CompoundIcons.Verified(), + type = MatrixBadgeAtom.Type.Positive, + ) } @PreviewsDayNight @Composable -internal fun RoomBadgeNeutralPreview() { - ElementPreview { - RoomBadge.View( - text = "Public room", - icon = CompoundIcons.Public(), - type = RoomBadge.Type.Neutral, - ) - } +internal fun MatrixBadgeAtomNeutralPreview() = ElementPreview { + MatrixBadgeAtom.View( + text = "Public room", + icon = CompoundIcons.Public(), + type = MatrixBadgeAtom.Type.Neutral, + ) } @PreviewsDayNight @Composable -internal fun RoomBadgeNegativePreview() { - ElementPreview { - RoomBadge.View( - text = "Not trusted", - icon = CompoundIcons.Error(), - type = RoomBadge.Type.Negative, - ) - } +internal fun MatrixBadgeAtomNegativePreview() = ElementPreview { + MatrixBadgeAtom.View( + text = "Not trusted", + icon = CompoundIcons.Error(), + type = MatrixBadgeAtom.Type.Negative, + ) } 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 9db116ebc5..6a72fa3cd9 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 @@ -71,6 +71,9 @@ class KonsistPreviewTest { "IconsCompoundPreview", "IconsOtherPreview", "MarkdownTextComposerEditPreview", + "MatrixBadgeAtomPositivePreview", + "MatrixBadgeAtomNeutralPreview", + "MatrixBadgeAtomNegativePreview", "MentionSpanPreview", "MessageComposerViewVoicePreview", "MessagesReactionButtonAddPreview", @@ -95,9 +98,6 @@ class KonsistPreviewTest { "PollContentViewEndedPreview", "PollContentViewUndisclosedPreview", "ReadReceiptBottomSheetPreview", - "RoomBadgePositivePreview", - "RoomBadgeNeutralPreview", - "RoomBadgeNegativePreview", "RoomMemberListViewBannedPreview", "SasEmojisPreview", "SecureBackupSetupViewChangePreview", From 75caeaaec29e5691e74f6327c302f0906d5ee888 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 16 Oct 2024 18:30:16 +0200 Subject: [PATCH 22/93] Change model and create MatrixBadgeRowMolecule --- .../roomdetails/impl/RoomDetailsView.kt | 81 ++++++++++--------- .../atomic/atoms/MatrixBadgeAtom.kt | 44 ++++++---- .../molecules/MatrixBadgeRowMolecule.kt | 33 ++++++++ 3 files changed, 104 insertions(+), 54 deletions(-) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/MatrixBadgeRowMolecule.kt diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt index 6af32facf4..8291b3e1c8 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt @@ -45,6 +45,7 @@ import io.element.android.features.userprofile.shared.blockuser.BlockUserDialogs import io.element.android.features.userprofile.shared.blockuser.BlockUserSection import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage import io.element.android.libraries.designsystem.atomic.atoms.MatrixBadgeAtom +import io.element.android.libraries.designsystem.atomic.molecules.MatrixBadgeRowMolecule import io.element.android.libraries.designsystem.components.ClickableLinkText import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.avatar.AvatarSize @@ -84,6 +85,7 @@ import io.element.android.libraries.ui.strings.CommonStrings import io.element.android.services.analytics.compose.LocalAnalyticsService import io.element.android.services.analyticsproviders.api.trackers.captureInteraction import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toPersistentList @Composable @@ -114,9 +116,9 @@ fun RoomDetailsView( ) { padding -> Column( modifier = Modifier - .padding(padding) - .verticalScroll(rememberScrollState()) - .consumeWindowInsets(padding) + .padding(padding) + .verticalScroll(rememberScrollState()) + .consumeWindowInsets(padding) ) { LeaveRoomView(state = state.leaveRoomState) @@ -273,8 +275,8 @@ private fun MainActionsSection( ) { Row( modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 16.dp), + .fillMaxWidth() + .padding(horizontal = 16.dp), horizontalArrangement = Arrangement.SpaceEvenly, ) { val roomNotificationSettings = state.roomNotificationSettings @@ -333,8 +335,8 @@ private fun RoomHeaderSection( ) { Column( modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 16.dp), + .fillMaxWidth() + .padding(horizontal = 16.dp), horizontalAlignment = Alignment.CenterHorizontally, ) { CompositeAvatar( @@ -343,8 +345,8 @@ private fun RoomHeaderSection( user.getAvatarData(size = AvatarSize.RoomHeader) }.toPersistentList(), modifier = Modifier - .clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) } - .testTag(TestTags.roomDetailAvatar) + .clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) } + .testTag(TestTags.roomDetailAvatar) ) TitleAndSubtitle(title = roomName, subtitle = roomAlias?.value) } @@ -360,8 +362,8 @@ private fun DmHeaderSection( ) { Column( modifier = modifier - .fillMaxWidth() - .padding(horizontal = 16.dp), + .fillMaxWidth() + .padding(horizontal = 16.dp), horizontalAlignment = Alignment.CenterHorizontally, ) { DmAvatars( @@ -406,32 +408,37 @@ private fun BadgeList( modifier: Modifier = Modifier, ) { if (isEncrypted || isPublic) { - Row( - modifier = modifier - .padding(start = 16.dp, end = 16.dp, top = 8.dp), - horizontalArrangement = Arrangement.spacedBy(8.dp), - ) { - if (isEncrypted) { - MatrixBadgeAtom.View( - text = stringResource(R.string.screen_room_details_badge_encrypted), - icon = CompoundIcons.LockSolid(), - type = MatrixBadgeAtom.Type.Positive, - ) - } else { - MatrixBadgeAtom.View( - text = stringResource(R.string.screen_room_details_badge_not_encrypted), - icon = CompoundIcons.LockOff(), - type = MatrixBadgeAtom.Type.Neutral, - ) - } - if (isPublic) { - MatrixBadgeAtom.View( - text = stringResource(R.string.screen_room_details_badge_public), - icon = CompoundIcons.Public(), - type = MatrixBadgeAtom.Type.Neutral, - ) - } - } + MatrixBadgeRowMolecule( + modifier = modifier, + data = buildList { + if (isEncrypted) { + add( + MatrixBadgeAtom.MatrixBadgeData( + text = stringResource(R.string.screen_room_details_badge_encrypted), + icon = CompoundIcons.LockSolid(), + type = MatrixBadgeAtom.Type.Positive, + ) + ) + } else { + add( + MatrixBadgeAtom.MatrixBadgeData( + text = stringResource(R.string.screen_room_details_badge_not_encrypted), + icon = CompoundIcons.LockOff(), + type = MatrixBadgeAtom.Type.Neutral, + ) + ) + } + if (isPublic) { + add( + MatrixBadgeAtom.MatrixBadgeData( + text = stringResource(R.string.screen_room_details_badge_public), + icon = CompoundIcons.Public(), + type = MatrixBadgeAtom.Type.Neutral, + ) + ) + } + }.toImmutableList(), + ) } } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt index 2e2b4b07fb..a4b438527f 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/MatrixBadgeAtom.kt @@ -22,6 +22,12 @@ import io.element.android.libraries.designsystem.theme.badgePositiveBackgroundCo import io.element.android.libraries.designsystem.theme.badgePositiveContentColor object MatrixBadgeAtom { + data class MatrixBadgeData( + val text: String, + val icon: ImageVector, + val type: Type, + ) + enum class Type { Positive, Neutral, @@ -30,28 +36,26 @@ object MatrixBadgeAtom { @Composable fun View( - text: String, - icon: ImageVector, - type: Type, + data: MatrixBadgeData, ) { - val backgroundColor = when (type) { + val backgroundColor = when (data.type) { Type.Positive -> ElementTheme.colors.badgePositiveBackgroundColor Type.Neutral -> ElementTheme.colors.badgeNeutralBackgroundColor Type.Negative -> ElementTheme.colors.badgeNegativeBackgroundColor } - val textColor = when (type) { + val textColor = when (data.type) { Type.Positive -> ElementTheme.colors.badgePositiveContentColor Type.Neutral -> ElementTheme.colors.badgeNeutralContentColor Type.Negative -> ElementTheme.colors.badgeNegativeContentColor } - val iconColor = when (type) { + val iconColor = when (data.type) { Type.Positive -> ElementTheme.colors.iconSuccessPrimary Type.Neutral -> ElementTheme.colors.iconSecondary Type.Negative -> ElementTheme.colors.iconCriticalPrimary } Badge( - text = text, - icon = icon, + text = data.text, + icon = data.icon, backgroundColor = backgroundColor, iconColor = iconColor, textColor = textColor, @@ -63,9 +67,11 @@ object MatrixBadgeAtom { @Composable internal fun MatrixBadgeAtomPositivePreview() = ElementPreview { MatrixBadgeAtom.View( - text = "Trusted", - icon = CompoundIcons.Verified(), - type = MatrixBadgeAtom.Type.Positive, + MatrixBadgeAtom.MatrixBadgeData( + text = "Trusted", + icon = CompoundIcons.Verified(), + type = MatrixBadgeAtom.Type.Positive, + ) ) } @@ -73,9 +79,11 @@ internal fun MatrixBadgeAtomPositivePreview() = ElementPreview { @Composable internal fun MatrixBadgeAtomNeutralPreview() = ElementPreview { MatrixBadgeAtom.View( - text = "Public room", - icon = CompoundIcons.Public(), - type = MatrixBadgeAtom.Type.Neutral, + MatrixBadgeAtom.MatrixBadgeData( + text = "Public room", + icon = CompoundIcons.Public(), + type = MatrixBadgeAtom.Type.Neutral, + ) ) } @@ -83,8 +91,10 @@ internal fun MatrixBadgeAtomNeutralPreview() = ElementPreview { @Composable internal fun MatrixBadgeAtomNegativePreview() = ElementPreview { MatrixBadgeAtom.View( - text = "Not trusted", - icon = CompoundIcons.Error(), - type = MatrixBadgeAtom.Type.Negative, + MatrixBadgeAtom.MatrixBadgeData( + text = "Not trusted", + icon = CompoundIcons.Error(), + type = MatrixBadgeAtom.Type.Negative, + ) ) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/MatrixBadgeRowMolecule.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/MatrixBadgeRowMolecule.kt new file mode 100644 index 0000000000..f7bb79cf17 --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/MatrixBadgeRowMolecule.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.libraries.designsystem.atomic.molecules + +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import io.element.android.libraries.designsystem.atomic.atoms.MatrixBadgeAtom +import kotlinx.collections.immutable.ImmutableList + +@Composable +fun MatrixBadgeRowMolecule( + data: ImmutableList, + modifier: Modifier = Modifier, +) { + Row( + modifier = modifier + .padding(start = 16.dp, end = 16.dp, top = 8.dp), + horizontalArrangement = Arrangement.spacedBy(8.dp), + ) { + for (badge in data) { + MatrixBadgeAtom.View(badge) + } + } +} From 98a99ead5ccded73ab1ac561821df551d3d6d0fc Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 16 Oct 2024 18:07:08 +0200 Subject: [PATCH 23/93] Remove unnecessary padding, the Column already have a padding. --- .../userprofile/shared/UserProfileHeaderSection.kt | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileHeaderSection.kt b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileHeaderSection.kt index 00a69e9ca3..abbb9ccdbe 100644 --- a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileHeaderSection.kt +++ b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileHeaderSection.kt @@ -48,8 +48,8 @@ fun UserProfileHeaderSection( Avatar( avatarData = AvatarData(userId.value, userName, avatarUrl, AvatarSize.UserHeader), modifier = Modifier - .clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) } - .testTag(TestTags.memberDetailAvatar) + .clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) } + .testTag(TestTags.memberDetailAvatar) ) Spacer(modifier = Modifier.height(24.dp)) if (userName != null) { @@ -65,9 +65,6 @@ fun UserProfileHeaderSection( text = userId.value, style = ElementTheme.typography.fontBodyLgRegular, color = MaterialTheme.colorScheme.secondary, - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 16.dp), textAlign = TextAlign.Center, ) Spacer(Modifier.height(40.dp)) From 639089718d281866a41e405743b3b40803d497d8 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 18 Oct 2024 12:00:07 +0200 Subject: [PATCH 24/93] Move strings with key starting by `screen_room_member_details_` to the module `:features:userprofile:shared` --- .../shared/src/main/res/values-be/translations.xml | 7 +++++++ .../shared/src/main/res/values-bg/translations.xml | 4 ++++ .../shared/src/main/res/values-cs/translations.xml | 9 +++++++++ .../shared/src/main/res/values-de/translations.xml | 7 +++++++ .../shared/src/main/res/values-el/translations.xml | 7 +++++++ .../shared/src/main/res/values-es/translations.xml | 6 ++++++ .../shared/src/main/res/values-et/translations.xml | 9 +++++++++ .../shared/src/main/res/values-fa/translations.xml | 6 ++++++ .../shared/src/main/res/values-fr/translations.xml | 9 +++++++++ .../shared/src/main/res/values-hu/translations.xml | 9 +++++++++ .../shared/src/main/res/values-it/translations.xml | 7 +++++++ .../shared/src/main/res/values-ka/translations.xml | 6 ++++++ .../shared/src/main/res/values-nl/translations.xml | 7 +++++++ .../shared/src/main/res/values-pl/translations.xml | 7 +++++++ .../shared/src/main/res/values-pt-rBR/translations.xml | 6 ++++++ .../shared/src/main/res/values-pt/translations.xml | 9 +++++++++ .../shared/src/main/res/values-ro/translations.xml | 7 +++++++ .../shared/src/main/res/values-ru/translations.xml | 9 +++++++++ .../shared/src/main/res/values-sk/translations.xml | 7 +++++++ .../shared/src/main/res/values-sv/translations.xml | 7 +++++++ .../shared/src/main/res/values-uk/translations.xml | 7 +++++++ .../shared/src/main/res/values-uz/translations.xml | 6 ++++++ .../shared/src/main/res/values-zh-rTW/translations.xml | 7 +++++++ .../shared/src/main/res/values-zh/translations.xml | 7 +++++++ .../userprofile/shared/src/main/res/values/localazy.xml | 9 +++++++++ .../ui-strings/src/main/res/values-be/translations.xml | 7 ------- .../ui-strings/src/main/res/values-bg/translations.xml | 4 ---- .../ui-strings/src/main/res/values-cs/translations.xml | 9 --------- .../ui-strings/src/main/res/values-de/translations.xml | 7 ------- .../ui-strings/src/main/res/values-el/translations.xml | 7 ------- .../ui-strings/src/main/res/values-es/translations.xml | 6 ------ .../ui-strings/src/main/res/values-et/translations.xml | 9 --------- .../ui-strings/src/main/res/values-fa/translations.xml | 6 ------ .../ui-strings/src/main/res/values-fr/translations.xml | 9 --------- .../ui-strings/src/main/res/values-hu/translations.xml | 9 --------- .../ui-strings/src/main/res/values-in/translations.xml | 7 ------- .../ui-strings/src/main/res/values-it/translations.xml | 7 ------- .../ui-strings/src/main/res/values-ka/translations.xml | 6 ------ .../ui-strings/src/main/res/values-nl/translations.xml | 7 ------- .../ui-strings/src/main/res/values-pl/translations.xml | 7 ------- .../src/main/res/values-pt-rBR/translations.xml | 6 ------ .../ui-strings/src/main/res/values-pt/translations.xml | 9 --------- .../ui-strings/src/main/res/values-ro/translations.xml | 7 ------- .../ui-strings/src/main/res/values-ru/translations.xml | 9 --------- .../ui-strings/src/main/res/values-sk/translations.xml | 7 ------- .../ui-strings/src/main/res/values-sv/translations.xml | 7 ------- .../ui-strings/src/main/res/values-uk/translations.xml | 7 ------- .../ui-strings/src/main/res/values-uz/translations.xml | 6 ------ .../src/main/res/values-zh-rTW/translations.xml | 7 ------- .../ui-strings/src/main/res/values-zh/translations.xml | 7 ------- libraries/ui-strings/src/main/res/values/localazy.xml | 9 --------- tools/localazy/config.json | 3 ++- 52 files changed, 183 insertions(+), 189 deletions(-) diff --git a/features/userprofile/shared/src/main/res/values-be/translations.xml b/features/userprofile/shared/src/main/res/values-be/translations.xml index 3e5b95d74c..6466c3b7bf 100644 --- a/features/userprofile/shared/src/main/res/values-be/translations.xml +++ b/features/userprofile/shared/src/main/res/values-be/translations.xml @@ -6,5 +6,12 @@ "Разблакіраваць" "Вы зноў зможаце ўбачыць усе паведамленні." "Разблакіраваць карыстальніка" + "Заблакіраваць" + "Заблакіраваныя карыстальнікі не змогуць адпраўляць вам паведамленні, і ўсе іх паведамленні будуць схаваны. Вы можаце разблакіраваць іх у любы час." + "Заблакіраваць карыстальніка" + "Профіль" + "Разблакіраваць" + "Вы зноў зможаце ўбачыць усе паведамленні." + "Разблакіраваць карыстальніка" "Пры спробе пачаць чат адбылася памылка" diff --git a/features/userprofile/shared/src/main/res/values-bg/translations.xml b/features/userprofile/shared/src/main/res/values-bg/translations.xml index 96b7bf7f56..67c73e3ea8 100644 --- a/features/userprofile/shared/src/main/res/values-bg/translations.xml +++ b/features/userprofile/shared/src/main/res/values-bg/translations.xml @@ -4,4 +4,8 @@ "Блокиране на потребителя" "Отблокиране" "Отблокиране на потребителя" + "Блокиране" + "Блокиране на потребителя" + "Отблокиране" + "Отблокиране на потребителя" diff --git a/features/userprofile/shared/src/main/res/values-cs/translations.xml b/features/userprofile/shared/src/main/res/values-cs/translations.xml index 541954b8b8..9296f1062f 100644 --- a/features/userprofile/shared/src/main/res/values-cs/translations.xml +++ b/features/userprofile/shared/src/main/res/values-cs/translations.xml @@ -6,5 +6,14 @@ "Odblokovat" "Znovu uvidíte všechny zprávy od nich." "Odblokovat uživatele" + "Zablokovat" + "Blokovaní uživatelé vám nebudou moci posílat zprávy a všechny jejich zprávy budou skryty. Můžete je kdykoli odblokovat." + "Zablokovat uživatele" + "Profil" + "Odblokovat" + "Znovu uvidíte všechny zprávy od nich." + "Odblokovat uživatele" + "K ověření tohoto uživatele použijte webovou aplikaci." + "Ověřit %1$s" "Při pokusu o zahájení chatu došlo k chybě" diff --git a/features/userprofile/shared/src/main/res/values-de/translations.xml b/features/userprofile/shared/src/main/res/values-de/translations.xml index 02f7517401..ff20101939 100644 --- a/features/userprofile/shared/src/main/res/values-de/translations.xml +++ b/features/userprofile/shared/src/main/res/values-de/translations.xml @@ -6,5 +6,12 @@ "Blockierung aufheben" "Der Nutzer kann dir wieder Nachrichten senden & alle Nachrichten des Nutzers werden wieder angezeigt." "Blockierung aufheben" + "Blockieren" + "Blockierte Benutzer können Dir keine Nachrichten senden und alle ihre alten Nachrichten werden ausgeblendet. Die Blockierung kann jederzeit aufgehoben werden." + "Benutzer blockieren" + "Profil" + "Blockierung aufheben" + "Der Nutzer kann dir wieder Nachrichten senden & alle Nachrichten des Nutzers werden wieder angezeigt." + "Blockierung aufheben" "Beim Versuch, einen Chat zu starten, ist ein Fehler aufgetreten" diff --git a/features/userprofile/shared/src/main/res/values-el/translations.xml b/features/userprofile/shared/src/main/res/values-el/translations.xml index 24061384ed..8dfb9fff92 100644 --- a/features/userprofile/shared/src/main/res/values-el/translations.xml +++ b/features/userprofile/shared/src/main/res/values-el/translations.xml @@ -6,5 +6,12 @@ "Άρση αποκλεισμού" "Θα μπορείς να δεις ξανά όλα τα μηνύματα του." "Κατάργηση αποκλεισμού χρήστη" + "Αποκλεισμός" + "Οι αποκλεισμένοι χρήστες δεν θα μπορούν να σου στέλνουν μηνύματα και όλα τα μηνύματά τους θα είναι κρυμμένα. Μπορείς να τα ξεμπλοκάρεις ανά πάσα στιγμή." + "Αποκλεισμός χρήστη" + "Προφίλ" + "Άρση αποκλεισμού" + "Θα μπορείς να δεις ξανά όλα τα μηνύματα του." + "Κατάργηση αποκλεισμού χρήστη" "Παρουσιάστηκε σφάλμα κατά την προσπάθεια έναρξης μιας συνομιλίας" diff --git a/features/userprofile/shared/src/main/res/values-es/translations.xml b/features/userprofile/shared/src/main/res/values-es/translations.xml index ffe33a333a..7d9a03375e 100644 --- a/features/userprofile/shared/src/main/res/values-es/translations.xml +++ b/features/userprofile/shared/src/main/res/values-es/translations.xml @@ -6,5 +6,11 @@ "Desbloquear" "Podrás ver todos sus mensajes de nuevo." "Desbloquear usuario" + "Bloquear" + "Los usuarios bloqueados no podrán enviarte mensajes y todos sus mensajes se ocultarán. Puedes desbloquearlos cuando quieras." + "Bloquear usuario" + "Desbloquear" + "Podrás ver todos sus mensajes de nuevo." + "Desbloquear usuario" "Se ha producido un error al intentar iniciar un chat" diff --git a/features/userprofile/shared/src/main/res/values-et/translations.xml b/features/userprofile/shared/src/main/res/values-et/translations.xml index d34ba97674..ce57e09dd6 100644 --- a/features/userprofile/shared/src/main/res/values-et/translations.xml +++ b/features/userprofile/shared/src/main/res/values-et/translations.xml @@ -6,5 +6,14 @@ "Eemalda blokeering" "Nüüd näed sa jälle kõiki tema sõnumeid" "Eemalda kasutajalt blokeering" + "Blokeeri" + "Blokeeritud kasutajad ei saa sulle kirjutada ja kõik nende sõnumid on sinu eest peidetud. Sa saad alati blokeeringu eemaldada." + "Blokeeri kasutaja" + "Profiil" + "Eemalda blokeering" + "Nüüd näed sa jälle kõiki tema sõnumeid" + "Eemalda kasutajalt blokeering" + "Kasutaja verifitseerimiseks kasuta veebirakendust." + "Verifitseeri kasutaja %1$s" "Vestluse alustamisel tekkis viga" diff --git a/features/userprofile/shared/src/main/res/values-fa/translations.xml b/features/userprofile/shared/src/main/res/values-fa/translations.xml index 169a87c2c3..8ce64548de 100644 --- a/features/userprofile/shared/src/main/res/values-fa/translations.xml +++ b/features/userprofile/shared/src/main/res/values-fa/translations.xml @@ -5,4 +5,10 @@ "رفع انسداد" "قادر خواهید بود دوباره همهٔ پیام‌هایش را ببینید." "رفع انسداد کاربر" + "بلوک" + "انسداد کاربر" + "نمایه" + "رفع انسداد" + "قادر خواهید بود دوباره همهٔ پیام‌هایش را ببینید." + "رفع انسداد کاربر" diff --git a/features/userprofile/shared/src/main/res/values-fr/translations.xml b/features/userprofile/shared/src/main/res/values-fr/translations.xml index 0238cacbc4..e8fae8852f 100644 --- a/features/userprofile/shared/src/main/res/values-fr/translations.xml +++ b/features/userprofile/shared/src/main/res/values-fr/translations.xml @@ -6,5 +6,14 @@ "Débloquer" "Vous pourrez à nouveau voir tous ses messages." "Débloquer l’utilisateur" + "Bloquer" + "Les utilisateurs bloqués ne pourront pas vous envoyer de messages et tous leurs messages seront masqués. Vous pouvez les débloquer à tout moment." + "Bloquer l’utilisateur" + "Profil" + "Débloquer" + "Vous pourrez à nouveau voir tous ses messages." + "Débloquer l’utilisateur" + "Utilisez l’application Web pour vérifier cet utilisateur." + "Vérifier %1$s" "Une erreur s’est produite lors de la tentative de création de la discussion" diff --git a/features/userprofile/shared/src/main/res/values-hu/translations.xml b/features/userprofile/shared/src/main/res/values-hu/translations.xml index 9b491d557b..0a433ee5da 100644 --- a/features/userprofile/shared/src/main/res/values-hu/translations.xml +++ b/features/userprofile/shared/src/main/res/values-hu/translations.xml @@ -6,5 +6,14 @@ "Letiltás feloldása" "Újra láthatja az összes üzenetét." "Felhasználó kitiltásának feloldása" + "Letiltás" + "A letiltott felhasználók nem fognak tudni üzeneteket küldeni, és az összes üzenetük rejtve lesz. Bármikor feloldhatja a letiltásukat." + "Felhasználó letiltása" + "Profil" + "Letiltás feloldása" + "Újra láthatja az összes üzenetét." + "Felhasználó kitiltásának feloldása" + "Használja a webes alkalmazást a felhasználó ellenőrzéséhez." + "A(z) %1$s ellenőrzése" "Hiba történt a csevegés indításakor" diff --git a/features/userprofile/shared/src/main/res/values-it/translations.xml b/features/userprofile/shared/src/main/res/values-it/translations.xml index e123113da6..daacd44255 100644 --- a/features/userprofile/shared/src/main/res/values-it/translations.xml +++ b/features/userprofile/shared/src/main/res/values-it/translations.xml @@ -6,5 +6,12 @@ "Sblocca" "Potrai vedere di nuovo tutti i suoi messaggi." "Sblocca utente" + "Blocca" + "Gli utenti bloccati non saranno in grado di inviarti messaggi e tutti quelli già ricevuti saranno nascosti. Puoi sbloccarli in qualsiasi momento." + "Blocca utente" + "Profilo" + "Sblocca" + "Potrai vedere di nuovo tutti i suoi messaggi." + "Sblocca utente" "Si è verificato un errore durante il tentativo di avviare una chat" diff --git a/features/userprofile/shared/src/main/res/values-ka/translations.xml b/features/userprofile/shared/src/main/res/values-ka/translations.xml index 0054f19946..f0b863e201 100644 --- a/features/userprofile/shared/src/main/res/values-ka/translations.xml +++ b/features/userprofile/shared/src/main/res/values-ka/translations.xml @@ -6,5 +6,11 @@ "განბლოკვა" "თქვენ კვლავ შეძლებთ მათგან ყველა შეტყობინების ნახვას." "Მომხმარებლის განბლოკვა" + "დაბლოკვა" + "დაბლოკილი მომხმარებლები ვერ შეძლებენ თქვენთვის შეტყობინების გაგზავნას და ყველა მათი შეტყობინება თქვენთვის დამალული იქნება. თქვენ მათი განბლოკვა ნებისმეირ დროს შეგიძლიათ." + "მომხმარებლის დაბლოკვა" + "განბლოკვა" + "თქვენ კვლავ შეძლებთ მათგან ყველა შეტყობინების ნახვას." + "Მომხმარებლის განბლოკვა" "ჩატის დაწყების მცდელობისას შეცდომა მოხდა" diff --git a/features/userprofile/shared/src/main/res/values-nl/translations.xml b/features/userprofile/shared/src/main/res/values-nl/translations.xml index ec08bf8650..7acdb58bdb 100644 --- a/features/userprofile/shared/src/main/res/values-nl/translations.xml +++ b/features/userprofile/shared/src/main/res/values-nl/translations.xml @@ -6,5 +6,12 @@ "Deblokkeren" "Je zult alle berichten van hen weer kunnen zien." "Gebruiker deblokkeren" + "Blokkeren" + "Geblokkeerde gebruikers kunnen je geen berichten sturen en al hun berichten worden verborgen. Je kunt ze op elk moment deblokkeren." + "Gebruiker blokkeren" + "Profiel" + "Deblokkeren" + "Je zult alle berichten van hen weer kunnen zien." + "Gebruiker deblokkeren" "Er is een fout opgetreden bij het starten van een chat" diff --git a/features/userprofile/shared/src/main/res/values-pl/translations.xml b/features/userprofile/shared/src/main/res/values-pl/translations.xml index 8ee9d296ac..ebac7599dc 100644 --- a/features/userprofile/shared/src/main/res/values-pl/translations.xml +++ b/features/userprofile/shared/src/main/res/values-pl/translations.xml @@ -6,5 +6,12 @@ "Odblokuj" "Będziesz mógł ponownie zobaczyć wszystkie wiadomości od tego użytkownika." "Odblokuj użytkownika" + "Zablokuj" + "Zablokowani użytkownicy nie będą mogli wysyłać Ci wiadomości, a wszystkie ich wiadomości zostaną ukryte. Możesz odblokować ich w dowolnym momencie." + "Zablokuj użytkownika" + "Profil" + "Odblokuj" + "Będziesz mógł ponownie zobaczyć wszystkie wiadomości od tego użytkownika." + "Odblokuj użytkownika" "Wystąpił błąd podczas próby rozpoczęcia czatu" diff --git a/features/userprofile/shared/src/main/res/values-pt-rBR/translations.xml b/features/userprofile/shared/src/main/res/values-pt-rBR/translations.xml index d5a26a77ca..8d64033f62 100644 --- a/features/userprofile/shared/src/main/res/values-pt-rBR/translations.xml +++ b/features/userprofile/shared/src/main/res/values-pt-rBR/translations.xml @@ -6,5 +6,11 @@ "Desbloquear" "Você poderá ver todas as mensagens deles novamente." "Desbloquear usuário" + "Bloquear" + "Usuários bloqueados não poderão enviar mensagens para você e todas as mensagens deles serão ocultadas. Você pode desbloqueá-los a qualquer momento." + "Bloquear usuário" + "Desbloquear" + "Você poderá ver todas as mensagens deles novamente." + "Desbloquear usuário" "Ocorreu um erro ao tentar iniciar um chat" diff --git a/features/userprofile/shared/src/main/res/values-pt/translations.xml b/features/userprofile/shared/src/main/res/values-pt/translations.xml index df2ca21681..eae68be0b7 100644 --- a/features/userprofile/shared/src/main/res/values-pt/translations.xml +++ b/features/userprofile/shared/src/main/res/values-pt/translations.xml @@ -6,5 +6,14 @@ "Desbloquear" "Poderás voltar a ver todas as suas mensagens." "Desbloquear utilizador" + "Bloquear" + "Os utilizadores bloqueados não poderão enviar-te mensagens e todas as suas mensagens ficarão ocultas. Podes desbloqueá-los em qualquer altura." + "Bloquear utilizador" + "Perfil" + "Desbloquear" + "Poderás voltar a ver todas as suas mensagens." + "Desbloquear utilizador" + "Utiliza a aplicação Web para verificar este utilizador." + "Verifique %1$s" "Ocorreu um erro ao tentar iniciar uma conversa" diff --git a/features/userprofile/shared/src/main/res/values-ro/translations.xml b/features/userprofile/shared/src/main/res/values-ro/translations.xml index 0922bbebd6..e5f5f776db 100644 --- a/features/userprofile/shared/src/main/res/values-ro/translations.xml +++ b/features/userprofile/shared/src/main/res/values-ro/translations.xml @@ -6,5 +6,12 @@ "Deblocați" "La deblocarea utilizatorului, veți putea vedea din nou toate mesajele de la acesta." "Deblocați utilizatorul" + "Blocați" + "Utilizatorii blocați nu vă vor putea trimite mesaje și toate mesajele lor vor fi ascunse. Puteți anula această acțiune oricând." + "Blocați utilizatorul" + "Profil" + "Deblocați" + "La deblocarea utilizatorului, veți putea vedea din nou toate mesajele de la acesta." + "Deblocați utilizatorul" "A apărut o eroare la încercarea începerii conversației" diff --git a/features/userprofile/shared/src/main/res/values-ru/translations.xml b/features/userprofile/shared/src/main/res/values-ru/translations.xml index b790f579f1..4138f6471b 100644 --- a/features/userprofile/shared/src/main/res/values-ru/translations.xml +++ b/features/userprofile/shared/src/main/res/values-ru/translations.xml @@ -6,5 +6,14 @@ "Разблокировать" "Вы снова сможете увидеть все сообщения." "Разблокировать пользователя" + "Заблокировать" + "Заблокированные пользователи не смогут отправлять вам сообщения, а все их сообщения будут скрыты. Вы можете разблокировать их в любое время." + "Заблокировать пользователя" + "Профиль" + "Разблокировать" + "Вы снова сможете увидеть все сообщения." + "Разблокировать пользователя" + "Используйте веб-приложение для проверки этого пользователя." + "Верифицировать %1$s" "Произошла ошибка при запуске чата" diff --git a/features/userprofile/shared/src/main/res/values-sk/translations.xml b/features/userprofile/shared/src/main/res/values-sk/translations.xml index 01c2dffa42..4055bcd27d 100644 --- a/features/userprofile/shared/src/main/res/values-sk/translations.xml +++ b/features/userprofile/shared/src/main/res/values-sk/translations.xml @@ -6,5 +6,12 @@ "Odblokovať" "Všetky správy od nich budete môcť opäť vidieť." "Odblokovať používateľa" + "Zablokovať" + "Blokovaní používatelia vám nebudú môcť posielať správy a všetky ich správy budú skryté. Môžete ich kedykoľvek odblokovať." + "Zablokovať používateľa" + "Profil" + "Odblokovať" + "Všetky správy od nich budete môcť opäť vidieť." + "Odblokovať používateľa" "Pri pokuse o spustenie konverzácie sa vyskytla chyba" diff --git a/features/userprofile/shared/src/main/res/values-sv/translations.xml b/features/userprofile/shared/src/main/res/values-sv/translations.xml index 6f2c9568c1..a1afe5398f 100644 --- a/features/userprofile/shared/src/main/res/values-sv/translations.xml +++ b/features/userprofile/shared/src/main/res/values-sv/translations.xml @@ -6,5 +6,12 @@ "Avblockera" "Du kommer att kunna se alla meddelanden från dem igen." "Avblockera användare" + "Blockera" + "Blockerade användare kommer inte att kunna skicka meddelanden till dig och alla deras meddelanden kommer att döljas. Du kan avblockera dem när som helst." + "Blockera användare" + "Profil" + "Avblockera" + "Du kommer att kunna se alla meddelanden från dem igen." + "Avblockera användare" "Ett fel uppstod när du försökte starta en chatt" diff --git a/features/userprofile/shared/src/main/res/values-uk/translations.xml b/features/userprofile/shared/src/main/res/values-uk/translations.xml index 63bc66bb0f..2caa1d99f0 100644 --- a/features/userprofile/shared/src/main/res/values-uk/translations.xml +++ b/features/userprofile/shared/src/main/res/values-uk/translations.xml @@ -6,5 +6,12 @@ "Розблокувати" "Ви знову зможете бачити всі повідомлення від них." "Розблокувати користувача" + "Заблокувати" + "Заблоковані користувачі не зможуть надсилати Вам повідомлення, і всі їхні повідомлення будуть приховані. Ви можете розблокувати їх у будь-який час." + "Заблокувати користувача" + "Профіль" + "Розблокувати" + "Ви знову зможете бачити всі повідомлення від них." + "Розблокувати користувача" "Під час спроби почати чат сталася помилка" diff --git a/features/userprofile/shared/src/main/res/values-uz/translations.xml b/features/userprofile/shared/src/main/res/values-uz/translations.xml index 5c7e50eaec..4e4fe08051 100644 --- a/features/userprofile/shared/src/main/res/values-uz/translations.xml +++ b/features/userprofile/shared/src/main/res/values-uz/translations.xml @@ -6,5 +6,11 @@ "Blokdan chiqarish" "Ulardan kelgan barcha xabarlarni yana koʻrishingiz mumkin boʻladi." "Foydalanuvchini blokdan chiqarish" + "Bloklash" + "Bloklangan foydalanuvchilar sizga xabar yubora olmaydi va ularning barcha xabarlari yashiriladi. Ularni istalgan vaqtda blokdan chiqarishingiz mumkin." + "Foydalanuvchini bloklash" + "Blokdan chiqarish" + "Ulardan kelgan barcha xabarlarni yana koʻrishingiz mumkin boʻladi." + "Foydalanuvchini blokdan chiqarish" "Suhbatni boshlashda xatolik yuz berdi" diff --git a/features/userprofile/shared/src/main/res/values-zh-rTW/translations.xml b/features/userprofile/shared/src/main/res/values-zh-rTW/translations.xml index ec239ebbd5..addc846a5e 100644 --- a/features/userprofile/shared/src/main/res/values-zh-rTW/translations.xml +++ b/features/userprofile/shared/src/main/res/values-zh-rTW/translations.xml @@ -6,4 +6,11 @@ "解除封鎖" "您將無法看到任何來自他們的訊息。" "解除封鎖使用者" + "封鎖" + "被封鎖的使用者無法傳訊息給您,他們的訊息會被隱藏。您可以在任何時候解除封鎖。" + "封鎖使用者" + "個人檔案" + "解除封鎖" + "您將無法看到任何來自他們的訊息。" + "解除封鎖使用者" diff --git a/features/userprofile/shared/src/main/res/values-zh/translations.xml b/features/userprofile/shared/src/main/res/values-zh/translations.xml index 83f884cecb..dd3df4c2cc 100644 --- a/features/userprofile/shared/src/main/res/values-zh/translations.xml +++ b/features/userprofile/shared/src/main/res/values-zh/translations.xml @@ -6,5 +6,12 @@ "解封" "可以重新接收他们的消息。" "解封用户" + "封禁" + "被封禁的用户无法给你发消息,并且他们的消息会被隐藏。你可以随时解封。" + "封禁用户" + "个人资料" + "解封" + "可以重新接收他们的消息。" + "解封用户" "在开始聊天时发生了错误" diff --git a/features/userprofile/shared/src/main/res/values/localazy.xml b/features/userprofile/shared/src/main/res/values/localazy.xml index e73c16fe4e..29f6169f16 100644 --- a/features/userprofile/shared/src/main/res/values/localazy.xml +++ b/features/userprofile/shared/src/main/res/values/localazy.xml @@ -6,5 +6,14 @@ "Unblock" "You\'ll be able to see all messages from them again." "Unblock user" + "Block" + "Blocked users won\'t be able to send you messages and all their messages will be hidden. You can unblock them anytime." + "Block user" + "Profile" + "Unblock" + "You\'ll be able to see all messages from them again." + "Unblock user" + "Use the web app to verify this user." + "Verify %1$s" "An error occurred when trying to start a chat" 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 10b64deda4..52272f43e3 100644 --- a/libraries/ui-strings/src/main/res/values-be/translations.xml +++ b/libraries/ui-strings/src/main/res/values-be/translations.xml @@ -303,13 +303,6 @@ "Замацаваныя паведамленні" "Не атрымалася апрацаваць медыяфайл для загрузкі, паспрабуйце яшчэ раз." "Не ўдалося атрымаць інфармацыю пра карыстальніка" - "Заблакіраваць" - "Заблакіраваныя карыстальнікі не змогуць адпраўляць вам паведамленні, і ўсе іх паведамленні будуць схаваны. Вы можаце разблакіраваць іх у любы час." - "Заблакіраваць карыстальніка" - "Профіль" - "Разблакіраваць" - "Вы зноў зможаце ўбачыць усе паведамленні." - "Разблакіраваць карыстальніка" "%1$s з %2$s" "%1$s Замацаваныя паведамленні" "Загрузка паведамлення…" diff --git a/libraries/ui-strings/src/main/res/values-bg/translations.xml b/libraries/ui-strings/src/main/res/values-bg/translations.xml index 48c602706b..dbe0fa17dc 100644 --- a/libraries/ui-strings/src/main/res/values-bg/translations.xml +++ b/libraries/ui-strings/src/main/res/values-bg/translations.xml @@ -198,10 +198,6 @@ "🔐️ Присъединете се към мен в %1$s" "Хей, говорете с мен в %1$s: %2$s" "%1$s Android" - "Блокиране" - "Блокиране на потребителя" - "Отблокиране" - "Отблокиране на потребителя" "Споделяне на местоположение" "Споделяне на моето местоположение" "Отваряне в Apple Maps" 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 8f0a20bd47..d505937781 100644 --- a/libraries/ui-strings/src/main/res/values-cs/translations.xml +++ b/libraries/ui-strings/src/main/res/values-cs/translations.xml @@ -326,15 +326,6 @@ Důvod: %1$s." "Připnuté zprávy" "Nahrání média se nezdařilo, zkuste to prosím znovu." "Nepodařilo se načíst údaje o uživateli" - "Zablokovat" - "Blokovaní uživatelé vám nebudou moci posílat zprávy a všechny jejich zprávy budou skryty. Můžete je kdykoli odblokovat." - "Zablokovat uživatele" - "Profil" - "Odblokovat" - "Znovu uvidíte všechny zprávy od nich." - "Odblokovat uživatele" - "K ověření tohoto uživatele použijte webovou aplikaci." - "Ověřit %1$s" "%1$s z %2$s" "%1$s Připnuté zprávy" "Načítání zprávy…" 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 45696e6f18..06c39e1d6c 100644 --- a/libraries/ui-strings/src/main/res/values-de/translations.xml +++ b/libraries/ui-strings/src/main/res/values-de/translations.xml @@ -294,13 +294,6 @@ Grund: %1$s." "Fixierte Nachrichten" "Fehler beim Verarbeiten des hochgeladenen Mediums. Bitte versuche es erneut." "Benutzerdetails konnten nicht abgerufen werden" - "Blockieren" - "Blockierte Benutzer können Dir keine Nachrichten senden und alle ihre alten Nachrichten werden ausgeblendet. Die Blockierung kann jederzeit aufgehoben werden." - "Benutzer blockieren" - "Profil" - "Blockierung aufheben" - "Der Nutzer kann dir wieder Nachrichten senden & alle Nachrichten des Nutzers werden wieder angezeigt." - "Blockierung aufheben" "%1$s von %2$s" "%1$s fixierte Nachrichten" "Nachricht wird geladen…" 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 482e4b3eb7..82737f373e 100644 --- a/libraries/ui-strings/src/main/res/values-el/translations.xml +++ b/libraries/ui-strings/src/main/res/values-el/translations.xml @@ -312,13 +312,6 @@ "Καρφιτσωμένα μηνύματα" "Αποτυχία μεταφόρτωσης μέσου, δοκίμασε ξανά." "Δεν ήταν δυνατή η ανάκτηση στοιχείων χρήστη" - "Αποκλεισμός" - "Οι αποκλεισμένοι χρήστες δεν θα μπορούν να σου στέλνουν μηνύματα και όλα τα μηνύματά τους θα είναι κρυμμένα. Μπορείς να τα ξεμπλοκάρεις ανά πάσα στιγμή." - "Αποκλεισμός χρήστη" - "Προφίλ" - "Άρση αποκλεισμού" - "Θα μπορείς να δεις ξανά όλα τα μηνύματα του." - "Κατάργηση αποκλεισμού χρήστη" "%1$s από %2$s" "%1$s Καρφιτσωμένα μηνύματα" "Φόρτωση μηνύματος…" diff --git a/libraries/ui-strings/src/main/res/values-es/translations.xml b/libraries/ui-strings/src/main/res/values-es/translations.xml index 4a09b3d52d..ad40a215a7 100644 --- a/libraries/ui-strings/src/main/res/values-es/translations.xml +++ b/libraries/ui-strings/src/main/res/values-es/translations.xml @@ -250,12 +250,6 @@ "Error al subir el contenido multimedia, por favor inténtalo de nuevo." "Error al procesar el contenido multimedia, por favor inténtalo de nuevo." "No se pudieron recuperar los detalles del usuario" - "Bloquear" - "Los usuarios bloqueados no podrán enviarte mensajes y todos sus mensajes se ocultarán. Puedes desbloquearlos cuando quieras." - "Bloquear usuario" - "Desbloquear" - "Podrás ver todos sus mensajes de nuevo." - "Desbloquear usuario" "Compartir ubicación" "Compartir mi ubicación" "Abrir en Apple Maps" 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 5905e40b12..2f23722932 100644 --- a/libraries/ui-strings/src/main/res/values-et/translations.xml +++ b/libraries/ui-strings/src/main/res/values-et/translations.xml @@ -321,15 +321,6 @@ Põhjus: %1$s." "Esiletõstetud sõnumid" "Meediafaili töötlemine enne üleslaadimist ei õnnestunud. Palun proovi uuesti." "Kasutaja andmete laadimine ei õnnestunud" - "Blokeeri" - "Blokeeritud kasutajad ei saa sulle kirjutada ja kõik nende sõnumid on sinu eest peidetud. Sa saad alati blokeeringu eemaldada." - "Blokeeri kasutaja" - "Profiil" - "Eemalda blokeering" - "Nüüd näed sa jälle kõiki tema sõnumeid" - "Eemalda kasutajalt blokeering" - "Kasutaja verifitseerimiseks kasuta veebirakendust." - "Verifitseeri kasutaja %1$s" "%1$s / %2$s" "%1$s esiletõstetud sõnumit" "Laadime sõnumit…" diff --git a/libraries/ui-strings/src/main/res/values-fa/translations.xml b/libraries/ui-strings/src/main/res/values-fa/translations.xml index a22be0888c..ff17ab411b 100644 --- a/libraries/ui-strings/src/main/res/values-fa/translations.xml +++ b/libraries/ui-strings/src/main/res/values-fa/translations.xml @@ -262,12 +262,6 @@ "فرستادن پیام به هر روی" "پیام‌های سنجاق شده" "پردازش رسانه برای بارگذاری شکست خورد. لطفاً دوباره تلاش کنید." - "بلوک" - "انسداد کاربر" - "نمایه" - "رفع انسداد" - "قادر خواهید بود دوباره همهٔ پیام‌هایش را ببینید." - "رفع انسداد کاربر" "%1$s از %2$s" "%1$s پیام‌های سنجاق شده" "بار کردن پشام‌ها…" 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 a1b8f54f34..1c130c5ffb 100644 --- a/libraries/ui-strings/src/main/res/values-fr/translations.xml +++ b/libraries/ui-strings/src/main/res/values-fr/translations.xml @@ -317,15 +317,6 @@ Raison: %1$s." "Messages épinglés" "Échec du traitement des médias à télécharger, veuillez réessayer." "Impossible de récupérer les détails de l’utilisateur" - "Bloquer" - "Les utilisateurs bloqués ne pourront pas vous envoyer de messages et tous leurs messages seront masqués. Vous pouvez les débloquer à tout moment." - "Bloquer l’utilisateur" - "Profil" - "Débloquer" - "Vous pourrez à nouveau voir tous ses messages." - "Débloquer l’utilisateur" - "Utilisez l’application Web pour vérifier cet utilisateur." - "Vérifier %1$s" "%1$s sur %2$s" "%1$s Messages épinglés" "Chargement du message…" 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 6e2d70e004..81dade610a 100644 --- a/libraries/ui-strings/src/main/res/values-hu/translations.xml +++ b/libraries/ui-strings/src/main/res/values-hu/translations.xml @@ -321,15 +321,6 @@ Ok: %1$s." "Kitűzött üzenetek" "Nem sikerült feldolgozni a feltöltendő médiát, próbálja újra." "Nem sikerült letölteni a felhasználói adatokat" - "Letiltás" - "A letiltott felhasználók nem fognak tudni üzeneteket küldeni, és az összes üzenetük rejtve lesz. Bármikor feloldhatja a letiltásukat." - "Felhasználó letiltása" - "Profil" - "Letiltás feloldása" - "Újra láthatja az összes üzenetét." - "Felhasználó kitiltásának feloldása" - "Használja a webes alkalmazást a felhasználó ellenőrzéséhez." - "A(z) %1$s ellenőrzése" "%1$s / %2$s" "%1$s kitűzött üzenet" "Üzenet betöltése…" diff --git a/libraries/ui-strings/src/main/res/values-in/translations.xml b/libraries/ui-strings/src/main/res/values-in/translations.xml index b18cd28116..eefb2206ff 100644 --- a/libraries/ui-strings/src/main/res/values-in/translations.xml +++ b/libraries/ui-strings/src/main/res/values-in/translations.xml @@ -260,13 +260,6 @@ Alasan: %1$s." "Gagal mengunggah media, silakan coba lagi." "Gagal memproses media untuk diunggah, silakan coba lagi." "Tidak dapat mengambil detail pengguna" - "Blokir" - "Pengguna yang diblokir tidak akan dapat mengirim Anda pesan dan semua pesan mereka akan disembunyikan. Anda dapat membuka blokirnya kapan saja." - "Blokir pengguna" - "Profil" - "Buka blokir" - "Anda akan dapat melihat semua pesan dari mereka lagi." - "Buka blokir pengguna" "Obrolan" "Bagikan lokasi" "Bagikan lokasi saya" 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 e4e3c79e0e..dd6b3c47de 100644 --- a/libraries/ui-strings/src/main/res/values-it/translations.xml +++ b/libraries/ui-strings/src/main/res/values-it/translations.xml @@ -302,13 +302,6 @@ Motivo:. %1$s" "Messaggi fissati" "Elaborazione del file multimediale da caricare fallita, riprova." "Impossibile recuperare i dettagli dell\'utente" - "Blocca" - "Gli utenti bloccati non saranno in grado di inviarti messaggi e tutti quelli già ricevuti saranno nascosti. Puoi sbloccarli in qualsiasi momento." - "Blocca utente" - "Profilo" - "Sblocca" - "Potrai vedere di nuovo tutti i suoi messaggi." - "Sblocca utente" "%1$s di %2$s" "%1$s Messaggi fissati" "Caricamento messaggio…" diff --git a/libraries/ui-strings/src/main/res/values-ka/translations.xml b/libraries/ui-strings/src/main/res/values-ka/translations.xml index 2661db369a..0df6e83bef 100644 --- a/libraries/ui-strings/src/main/res/values-ka/translations.xml +++ b/libraries/ui-strings/src/main/res/values-ka/translations.xml @@ -238,12 +238,6 @@ "მედიის ატვირთვა ვერ მოხერხდა, გთხოვთ, სცადოთ ხელახლა." "მედიის ატვირთვა ვერ მოხერხდა. გთხოვთ, სცადოთ ხელახლა." "მომხმარებლის მონაცემების მოძიება ვერ მოხერხდა" - "დაბლოკვა" - "დაბლოკილი მომხმარებლები ვერ შეძლებენ თქვენთვის შეტყობინების გაგზავნას და ყველა მათი შეტყობინება თქვენთვის დამალული იქნება. თქვენ მათი განბლოკვა ნებისმეირ დროს შეგიძლიათ." - "მომხმარებლის დაბლოკვა" - "განბლოკვა" - "თქვენ კვლავ შეძლებთ მათგან ყველა შეტყობინების ნახვას." - "Მომხმარებლის განბლოკვა" "მდებარეობის გაზიარება" "ჩემი მდებარეობის გაზიარება" "Apple Maps-ში გახსნა" diff --git a/libraries/ui-strings/src/main/res/values-nl/translations.xml b/libraries/ui-strings/src/main/res/values-nl/translations.xml index d33c05cfc3..d6c7d640b5 100644 --- a/libraries/ui-strings/src/main/res/values-nl/translations.xml +++ b/libraries/ui-strings/src/main/res/values-nl/translations.xml @@ -260,13 +260,6 @@ "Het uploaden van media is mislukt. Probeer het opnieuw." "Het verwerken van media voor uploaden is mislukt. Probeer het opnieuw." "Kon gebruikersgegevens niet ophalen" - "Blokkeren" - "Geblokkeerde gebruikers kunnen je geen berichten sturen en al hun berichten worden verborgen. Je kunt ze op elk moment deblokkeren." - "Gebruiker blokkeren" - "Profiel" - "Deblokkeren" - "Je zult alle berichten van hen weer kunnen zien." - "Gebruiker deblokkeren" "Chat" "Locatie delen" "Deel mijn locatie" 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 7d549b905d..c4d7684591 100644 --- a/libraries/ui-strings/src/main/res/values-pl/translations.xml +++ b/libraries/ui-strings/src/main/res/values-pl/translations.xml @@ -307,13 +307,6 @@ Powód: %1$s." "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" - "Zablokowani użytkownicy nie będą mogli wysyłać Ci wiadomości, a wszystkie ich wiadomości zostaną ukryte. Możesz odblokować ich w dowolnym momencie." - "Zablokuj użytkownika" - "Profil" - "Odblokuj" - "Będziesz mógł ponownie zobaczyć wszystkie wiadomości od tego użytkownika." - "Odblokuj użytkownika" "%1$s z %2$s" "%1$s przypiętych wiadomości" "Wczytywanie wiadomości…" diff --git a/libraries/ui-strings/src/main/res/values-pt-rBR/translations.xml b/libraries/ui-strings/src/main/res/values-pt-rBR/translations.xml index 17bfd31dc0..f2b246b3b6 100644 --- a/libraries/ui-strings/src/main/res/values-pt-rBR/translations.xml +++ b/libraries/ui-strings/src/main/res/values-pt-rBR/translations.xml @@ -266,12 +266,6 @@ "Falha ao enviar mídia. Tente novamente." "Falha ao processar mídia para upload. Tente novamente." "Não foi possível recuperar os detalhes do usuário" - "Bloquear" - "Usuários bloqueados não poderão enviar mensagens para você e todas as mensagens deles serão ocultadas. Você pode desbloqueá-los a qualquer momento." - "Bloquear usuário" - "Desbloquear" - "Você poderá ver todas as mensagens deles novamente." - "Desbloquear usuário" "Compartilhar localização" "Compartilhar minha localização" "Abrir no Apple Maps" 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 14504d056c..121a5f56c3 100644 --- a/libraries/ui-strings/src/main/res/values-pt/translations.xml +++ b/libraries/ui-strings/src/main/res/values-pt/translations.xml @@ -317,15 +317,6 @@ Razão: %1$s." "Mensagens afixadas" "Falha ao processar multimédia para carregamento, por favor tente novamente." "Não foi possível obter os detalhes de utilizador." - "Bloquear" - "Os utilizadores bloqueados não poderão enviar-te mensagens e todas as suas mensagens ficarão ocultas. Podes desbloqueá-los em qualquer altura." - "Bloquear utilizador" - "Perfil" - "Desbloquear" - "Poderás voltar a ver todas as suas mensagens." - "Desbloquear utilizador" - "Utiliza a aplicação Web para verificar este utilizador." - "Verifique %1$s" "%1$s de %2$s" "%1$s mensagens afixadas" "A carregar mensagem…" diff --git a/libraries/ui-strings/src/main/res/values-ro/translations.xml b/libraries/ui-strings/src/main/res/values-ro/translations.xml index 53cc7c3416..51bbf0eaf9 100644 --- a/libraries/ui-strings/src/main/res/values-ro/translations.xml +++ b/libraries/ui-strings/src/main/res/values-ro/translations.xml @@ -264,13 +264,6 @@ "Încărcarea fișierelor media a eșuat, încercați din nou." "Procesarea datelor media a eșuat, vă rugăm să încercați din nou." "Nu am putut găsi detaliile utilizatorului" - "Blocați" - "Utilizatorii blocați nu vă vor putea trimite mesaje și toate mesajele lor vor fi ascunse. Puteți anula această acțiune oricând." - "Blocați utilizatorul" - "Profil" - "Deblocați" - "La deblocarea utilizatorului, veți putea vedea din nou toate mesajele de la acesta." - "Deblocați utilizatorul" "Chat" "Partajați locația" "Distribuiți locația mea" diff --git a/libraries/ui-strings/src/main/res/values-ru/translations.xml b/libraries/ui-strings/src/main/res/values-ru/translations.xml index 866e210cf1..4628cbf0b3 100644 --- a/libraries/ui-strings/src/main/res/values-ru/translations.xml +++ b/libraries/ui-strings/src/main/res/values-ru/translations.xml @@ -328,15 +328,6 @@ "Закрепленные сообщения" "Не удалось обработать медиафайл для загрузки, попробуйте еще раз." "Не удалось получить данные о пользователе" - "Заблокировать" - "Заблокированные пользователи не смогут отправлять вам сообщения, а все их сообщения будут скрыты. Вы можете разблокировать их в любое время." - "Заблокировать пользователя" - "Профиль" - "Разблокировать" - "Вы снова сможете увидеть все сообщения." - "Разблокировать пользователя" - "Используйте веб-приложение для проверки этого пользователя." - "Верифицировать %1$s" "%1$s из %2$s" "%1$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 c121d8bf6d..665a23b421 100644 --- a/libraries/ui-strings/src/main/res/values-sk/translations.xml +++ b/libraries/ui-strings/src/main/res/values-sk/translations.xml @@ -308,13 +308,6 @@ Dôvod: %1$s." "Pripnuté správy" "Nepodarilo sa spracovať médiá na odoslanie, skúste to prosím znova." "Nepodarilo sa získať údaje o používateľovi" - "Zablokovať" - "Blokovaní používatelia vám nebudú môcť posielať správy a všetky ich správy budú skryté. Môžete ich kedykoľvek odblokovať." - "Zablokovať používateľa" - "Profil" - "Odblokovať" - "Všetky správy od nich budete môcť opäť vidieť." - "Odblokovať používateľa" "%1$s z %2$s" "%1$s Pripnutých správ" "Načítava sa správa…" diff --git a/libraries/ui-strings/src/main/res/values-sv/translations.xml b/libraries/ui-strings/src/main/res/values-sv/translations.xml index 9a73ec274f..cc203a5183 100644 --- a/libraries/ui-strings/src/main/res/values-sv/translations.xml +++ b/libraries/ui-strings/src/main/res/values-sv/translations.xml @@ -286,13 +286,6 @@ Anledning:%1$s." "Fästa meddelanden" "Misslyckades att bearbeta media för uppladdning, vänligen pröva igen." "Kunde inte hämta användarinformation" - "Blockera" - "Blockerade användare kommer inte att kunna skicka meddelanden till dig och alla deras meddelanden kommer att döljas. Du kan avblockera dem när som helst." - "Blockera användare" - "Profil" - "Avblockera" - "Du kommer att kunna se alla meddelanden från dem igen." - "Avblockera användare" "%1$s av %2$s" "%1$s Fästa meddelanden" "Laddar meddelande …" diff --git a/libraries/ui-strings/src/main/res/values-uk/translations.xml b/libraries/ui-strings/src/main/res/values-uk/translations.xml index d2c1032710..20e3994159 100644 --- a/libraries/ui-strings/src/main/res/values-uk/translations.xml +++ b/libraries/ui-strings/src/main/res/values-uk/translations.xml @@ -276,13 +276,6 @@ "Не вдалося завантажити медіафайл, спробуйте ще раз." "Не вдалося обробити медіафайл для завантаження, спробуйте ще раз." "Не вдалося отримати дані користувача" - "Заблокувати" - "Заблоковані користувачі не зможуть надсилати Вам повідомлення, і всі їхні повідомлення будуть приховані. Ви можете розблокувати їх у будь-який час." - "Заблокувати користувача" - "Профіль" - "Розблокувати" - "Ви знову зможете бачити всі повідомлення від них." - "Розблокувати користувача" "%1$s із %2$s" "%1$s Закріплених повідомлень" "Переглянути всі" diff --git a/libraries/ui-strings/src/main/res/values-uz/translations.xml b/libraries/ui-strings/src/main/res/values-uz/translations.xml index 79571dd613..2f15a5ccd8 100644 --- a/libraries/ui-strings/src/main/res/values-uz/translations.xml +++ b/libraries/ui-strings/src/main/res/values-uz/translations.xml @@ -192,12 +192,6 @@ "Media yuklanmadi, qayta urinib ko‘ring." "Mediani yuklab bo‘lmadi, qayta urinib ko‘ring." "Foydalanuvchi tafsilotlarini olinmadi" - "Bloklash" - "Bloklangan foydalanuvchilar sizga xabar yubora olmaydi va ularning barcha xabarlari yashiriladi. Ularni istalgan vaqtda blokdan chiqarishingiz mumkin." - "Foydalanuvchini bloklash" - "Blokdan chiqarish" - "Ulardan kelgan barcha xabarlarni yana koʻrishingiz mumkin boʻladi." - "Foydalanuvchini blokdan chiqarish" "Joylashuvni ulashish" "Joylashuvimni ulashing" "Apple Mapsda oching" diff --git a/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml b/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml index 4480fa1153..63395fffee 100644 --- a/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml +++ b/libraries/ui-strings/src/main/res/values-zh-rTW/translations.xml @@ -242,13 +242,6 @@ "嘿,來 %1$s 和我聊天:%2$s" "%1$s Android" "無法上傳媒體檔案,請稍後再試。" - "封鎖" - "被封鎖的使用者無法傳訊息給您,他們的訊息會被隱藏。您可以在任何時候解除封鎖。" - "封鎖使用者" - "個人檔案" - "解除封鎖" - "您將無法看到任何來自他們的訊息。" - "解除封鎖使用者" "分享位置" "分享我的位置" "在 Apple Maps 中開啟" 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 34bca6d3fa..445f1d4cdd 100644 --- a/libraries/ui-strings/src/main/res/values-zh/translations.xml +++ b/libraries/ui-strings/src/main/res/values-zh/translations.xml @@ -281,13 +281,6 @@ "置顶消息" "处理要上传的媒体失败,请重试。" "无法获取用户信息" - "封禁" - "被封禁的用户无法给你发消息,并且他们的消息会被隐藏。你可以随时解封。" - "封禁用户" - "个人资料" - "解封" - "可以重新接收他们的消息。" - "解封用户" "%1$s / %2$s" "置顶消息 %1$s" "正在加载消息…" diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index f80e8b1a3b..eaea989b4d 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -321,15 +321,6 @@ Reason: %1$s." "Pinned messages" "Failed processing media to upload, please try again." "Could not retrieve user details" - "Block" - "Blocked users won\'t be able to send you messages and all their messages will be hidden. You can unblock them anytime." - "Block user" - "Profile" - "Unblock" - "You\'ll be able to see all messages from them again." - "Unblock user" - "Use the web app to verify this user." - "Verify %1$s" "%1$s of %2$s" "%1$s Pinned messages" "Loading message…" diff --git a/tools/localazy/config.json b/tools/localazy/config.json index f7555ea393..f670f08987 100644 --- a/tools/localazy/config.json +++ b/tools/localazy/config.json @@ -176,7 +176,8 @@ "name" : ":features:userprofile:shared", "includeRegex" : [ "screen_start_chat_error_starting_chat", - "screen_dm_details_.*" + "screen_dm_details_.*", + "screen_room_member_details_.*" ] }, { From 46091b5b2d7157cd1b03661a096ff62bf7033455 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 22 Oct 2024 11:40:19 +0200 Subject: [PATCH 25/93] Fix color of BigIcon according to Figma --- .../android/libraries/designsystem/components/BigIcon.kt | 6 +++--- .../android/libraries/designsystem/theme/ColorAliases.kt | 5 ----- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/BigIcon.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/BigIcon.kt index 6140373b21..5b22b534f4 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/BigIcon.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/BigIcon.kt @@ -30,12 +30,12 @@ import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight -import io.element.android.libraries.designsystem.theme.bigIconDefaultBackgroundColor import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.ui.strings.CommonStrings /** * Compound component that display a big icon centered in a rounded square. + * Figma: https://www.figma.com/design/G1xy0HDZKJf5TCRFmKb5d5/Compound-Android-Components?node-id=1960-553&node-type=frame&m=dev */ object BigIcon { /** @@ -84,7 +84,7 @@ object BigIcon { modifier: Modifier = Modifier, ) { val backgroundColor = when (style) { - is Style.Default -> ElementTheme.colors.bigIconDefaultBackgroundColor + is Style.Default -> ElementTheme.colors.bgSubtleSecondary Style.Alert, Style.Success -> Color.Transparent Style.AlertSolid -> ElementTheme.colors.bgCriticalSubtle Style.SuccessSolid -> ElementTheme.colors.bgSuccessSubtle @@ -100,7 +100,7 @@ object BigIcon { Style.Success, Style.SuccessSolid -> stringResource(CommonStrings.common_success) } val iconTint = when (style) { - is Style.Default -> ElementTheme.colors.iconSecondaryAlpha + is Style.Default -> ElementTheme.colors.iconSecondary Style.Alert, Style.AlertSolid -> ElementTheme.colors.iconCriticalPrimary Style.Success, Style.SuccessSolid -> ElementTheme.colors.iconSuccessPrimary } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorAliases.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorAliases.kt index 86db89950c..2a46c9dea0 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorAliases.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/ColorAliases.kt @@ -132,10 +132,6 @@ val SemanticColors.mentionPillBackground Color(0x26f4f7fa) } -@OptIn(CoreColorToken::class) -val SemanticColors.bigIconDefaultBackgroundColor - get() = if (isLight) LightColorTokens.colorAlphaGray300 else DarkColorTokens.colorAlphaGray300 - @OptIn(CoreColorToken::class) val SemanticColors.bigCheckmarkBorderColor get() = if (isLight) LightColorTokens.colorGray400 else DarkColorTokens.colorGray400 @@ -195,7 +191,6 @@ internal fun ColorAliasesPreview() = ElementPreview { "progressIndicatorTrackColor" to ElementTheme.colors.progressIndicatorTrackColor, "temporaryColorBgSpecial" to ElementTheme.colors.temporaryColorBgSpecial, "iconSuccessPrimaryBackground" to ElementTheme.colors.iconSuccessPrimaryBackground, - "bigIconBackgroundColor" to ElementTheme.colors.bigIconDefaultBackgroundColor, "bigCheckmarkBorderColor" to ElementTheme.colors.bigCheckmarkBorderColor, "highlightedMessageBackgroundColor" to ElementTheme.colors.highlightedMessageBackgroundColor, ) From f5edb6d8fd018fba1bbcb875299f80f8fd2c84b0 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 22 Oct 2024 11:53:30 +0200 Subject: [PATCH 26/93] Let IconTitleSubtitleMolecule use BigIcon. --- .../setup/biometric/SetupBiometricView.kt | 3 +- .../lockscreen/impl/setup/pin/SetupPinView.kt | 3 +- .../ChangeAccountProviderView.kt | 5 +-- .../ConfirmAccountProviderView.kt | 3 +- .../loginpassword/LoginPasswordView.kt | 3 +- .../SearchAccountProviderView.kt | 3 +- .../ResolveVerifiedUserSendFailureView.kt | 7 +--- .../pinned/list/PinnedMessagesListView.kt | 5 ++- .../features/signedout/impl/SignedOutView.kt | 4 +- .../molecules/IconTitleSubtitleMolecule.kt | 41 ++++--------------- .../tests/konsist/KonsistPreviewTest.kt | 1 - 11 files changed, 26 insertions(+), 52 deletions(-) diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricView.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricView.kt index f2fa5fe1bd..46920c69d1 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricView.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/biometric/SetupBiometricView.kt @@ -20,6 +20,7 @@ import io.element.android.features.lockscreen.impl.R import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage +import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Button @@ -51,7 +52,7 @@ fun SetupBiometricView( private fun SetupBiometricHeader() { val biometricAuth = stringResource(id = R.string.screen_app_lock_biometric_authentication) IconTitleSubtitleMolecule( - iconImageVector = Icons.Default.Fingerprint, + iconStyle = BigIcon.Style.Default(Icons.Default.Fingerprint), title = stringResource(id = R.string.screen_app_lock_settings_enable_biometric_unlock), subTitle = stringResource(id = R.string.screen_app_lock_setup_biometric_unlock_subtitle, biometricAuth), ) diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt index b3cd532487..dce1138870 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/setup/pin/SetupPinView.kt @@ -33,6 +33,7 @@ import io.element.android.features.lockscreen.impl.R import io.element.android.features.lockscreen.impl.components.PinEntryTextField import io.element.android.features.lockscreen.impl.setup.pin.validation.SetupPinFailure import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule +import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.components.button.BackButton import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog import io.element.android.libraries.designsystem.preview.ElementPreview @@ -88,7 +89,7 @@ private fun SetupPinHeader( stringResource(id = R.string.screen_app_lock_setup_choose_pin) }, subTitle = stringResource(id = R.string.screen_app_lock_setup_pin_context, appName), - iconImageVector = Icons.Filled.Lock, + iconStyle = BigIcon.Style.Default(Icons.Filled.Lock), ) } } diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderView.kt index 5fa0f4775d..a37b54f651 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/changeaccountprovider/ChangeAccountProviderView.kt @@ -22,7 +22,6 @@ import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Home import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource @@ -34,6 +33,7 @@ import io.element.android.features.login.impl.accountprovider.AccountProviderVie import io.element.android.features.login.impl.changeserver.ChangeServerEvents import io.element.android.features.login.impl.changeserver.ChangeServerView import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule +import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.components.button.BackButton import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight @@ -74,8 +74,7 @@ fun ChangeAccountProviderView( ) { IconTitleSubtitleMolecule( modifier = Modifier.padding(top = 16.dp, bottom = 32.dp, start = 16.dp, end = 16.dp), - iconImageVector = Icons.Filled.Home, - iconTint = MaterialTheme.colorScheme.primary, + iconStyle = BigIcon.Style.Default(Icons.Filled.Home), title = stringResource(id = R.string.screen_change_account_provider_title), subTitle = stringResource(id = R.string.screen_change_account_provider_subtitle), ) diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt index 407ea9d88b..5958f1be9a 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/confirmaccountprovider/ConfirmAccountProviderView.kt @@ -27,6 +27,7 @@ import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage +import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight @@ -59,7 +60,7 @@ fun ConfirmAccountProviderView( header = { IconTitleSubtitleMolecule( modifier = Modifier.padding(top = 60.dp), - iconImageVector = Icons.Filled.AccountCircle, + iconStyle = BigIcon.Style.Default(Icons.Filled.AccountCircle), title = stringResource( id = if (state.isAccountCreation) { R.string.screen_account_provider_signup_title diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt index 48fe71e0fc..a76a2afbea 100644 --- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt +++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/loginpassword/LoginPasswordView.kt @@ -48,6 +48,7 @@ import io.element.android.features.login.impl.error.loginError import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule +import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.components.button.BackButton import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog import io.element.android.libraries.designsystem.components.form.textFieldState @@ -110,7 +111,7 @@ fun LoginPasswordView( // Title IconTitleSubtitleMolecule( modifier = Modifier.padding(top = 20.dp, start = 16.dp, end = 16.dp), - iconImageVector = Icons.Filled.AccountCircle, + iconStyle = BigIcon.Style.Default(Icons.Filled.AccountCircle), title = stringResource( id = R.string.screen_account_provider_signin_title, state.accountProvider.title 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 fc75b07a71..118f3611d0 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 @@ -48,6 +48,7 @@ import io.element.android.features.login.impl.changeserver.ChangeServerView import io.element.android.features.login.impl.resolver.HomeserverData import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule +import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.components.button.BackButton import io.element.android.libraries.designsystem.components.form.textFieldState import io.element.android.libraries.designsystem.preview.ElementPreview @@ -94,7 +95,7 @@ fun SearchAccountProviderView( item { IconTitleSubtitleMolecule( modifier = Modifier.padding(top = 16.dp, bottom = 40.dp, start = 16.dp, end = 16.dp), - iconImageVector = CompoundIcons.Search(), + iconStyle = BigIcon.Style.Default(CompoundIcons.Search()), title = stringResource(id = R.string.screen_account_provider_form_title), subTitle = stringResource(id = R.string.screen_account_provider_form_subtitle), ) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt index fb602fa943..8190e3cf93 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/crypto/sendfailure/resolve/ResolveVerifiedUserSendFailureView.kt @@ -24,11 +24,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp -import io.element.android.compound.theme.ElementTheme -import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.messages.impl.crypto.sendfailure.VerifiedUserSendFailure import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule +import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Button @@ -80,9 +79,7 @@ fun ResolveVerifiedUserSendFailureView( modifier = Modifier.padding(24.dp), title = state.verifiedUserSendFailure.title(), subTitle = state.verifiedUserSendFailure.subtitle(), - iconImageVector = CompoundIcons.Error(), - iconTint = ElementTheme.colors.iconCriticalPrimary, - iconBackgroundTint = ElementTheme.colors.bgCriticalSubtle, + iconStyle = BigIcon.Style.AlertSolid, ) ButtonColumnMolecule( modifier = Modifier.padding(horizontal = 16.dp, vertical = 16.dp), 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 3c7f76e507..f4a3247cba 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 @@ -24,6 +24,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import im.vector.app.features.analytics.plan.Interaction import io.element.android.compound.theme.ElementTheme +import io.element.android.compound.tokens.generated.CompoundIcons 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 @@ -36,9 +37,9 @@ import io.element.android.features.messages.impl.timeline.protection.TimelinePro 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.BigIcon import io.element.android.libraries.designsystem.components.button.BackButton import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog -import io.element.android.libraries.designsystem.icons.CompoundDrawables import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator @@ -154,7 +155,7 @@ private fun PinnedMessagesListEmpty( IconTitleSubtitleMolecule( title = stringResource(id = CommonStrings.screen_pinned_timeline_empty_state_headline), subTitle = stringResource(id = CommonStrings.screen_pinned_timeline_empty_state_description, pinActionText), - iconResourceId = CompoundDrawables.ic_compound_pin, + iconStyle = BigIcon.Style.Default(CompoundIcons.Pin()), ) } } diff --git a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutView.kt b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutView.kt index 47119d99b3..593b67ac2c 100644 --- a/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutView.kt +++ b/features/signedout/impl/src/main/kotlin/io/element/android/features/signedout/impl/SignedOutView.kt @@ -29,6 +29,7 @@ import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubti import io.element.android.libraries.designsystem.atomic.organisms.InfoListItem import io.element.android.libraries.designsystem.atomic.organisms.InfoListOrganism import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage +import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Button @@ -63,8 +64,7 @@ private fun SignedOutHeader(state: SignedOutState) { modifier = Modifier.padding(top = 60.dp, bottom = 12.dp), title = stringResource(id = R.string.screen_signed_out_title), subTitle = stringResource(id = R.string.screen_signed_out_subtitle, state.appName), - iconImageVector = Icons.Filled.AccountCircle, - iconTint = ElementTheme.colors.iconSecondary, + iconStyle = BigIcon.Style.Default(Icons.Filled.AccountCircle), ) } diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt index 4812eaddee..c00121a567 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt @@ -15,19 +15,14 @@ import androidx.compose.material3.MaterialTheme 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.graphics.vector.ImageVector import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons -import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtom -import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtomSize -import io.element.android.libraries.designsystem.icons.CompoundDrawables +import io.element.android.libraries.designsystem.components.BigIcon 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.designsystem.theme.temporaryColorBgSpecial /** * IconTitleSubtitleMolecule is a molecule which displays an icon, a title and a subtitle. @@ -35,30 +30,19 @@ import io.element.android.libraries.designsystem.theme.temporaryColorBgSpecial * @param title the title to display * @param subTitle the subtitle to display * @param modifier the modifier to apply to this layout - * @param iconResourceId the resource id of the icon to display, exclusive with [iconImageVector] - * @param iconImageVector the image vector of the icon to display, exclusive with [iconResourceId] - * @param iconTint the tint to apply to the icon - * @param iconBackgroundTint the tint to apply to the icon background + * @param iconStyle the style of the [BigIcon] to display */ @Composable fun IconTitleSubtitleMolecule( title: String, subTitle: String?, + iconStyle: BigIcon.Style, modifier: Modifier = Modifier, - iconResourceId: Int? = null, - iconImageVector: ImageVector? = null, - iconTint: Color = MaterialTheme.colorScheme.primary, - iconBackgroundTint: Color = ElementTheme.colors.temporaryColorBgSpecial, ) { Column(modifier) { - RoundedIconAtom( - modifier = Modifier - .align(Alignment.CenterHorizontally), - size = RoundedIconAtomSize.Large, - resourceId = iconResourceId, - imageVector = iconImageVector, - tint = iconTint, - backgroundTint = iconBackgroundTint, + BigIcon( + modifier = Modifier.align(Alignment.CenterHorizontally), + style = iconStyle, ) Spacer(modifier = Modifier.height(16.dp)) Text( @@ -86,18 +70,7 @@ fun IconTitleSubtitleMolecule( @Composable internal fun IconTitleSubtitleMoleculePreview() = ElementPreview { IconTitleSubtitleMolecule( - iconImageVector = CompoundIcons.Chat(), - title = "Title", - subTitle = "Subtitle", - ) -} - -@PreviewsDayNight -@Composable -internal fun IconTitleSubtitleMoleculeWithResIconPreview() = ElementPreview { - IconTitleSubtitleMolecule( - iconResourceId = CompoundDrawables.ic_compound_admin, - iconTint = Color.Black, + iconStyle = BigIcon.Style.Default(CompoundIcons.Chat()), title = "Title", subTitle = "Subtitle", ) 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 9db116ebc5..733d2f939d 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 @@ -67,7 +67,6 @@ class KonsistPreviewTest { "ColorAliasesPreview", "DefaultRoomListTopBarWithIndicatorPreview", "GradientFloatingActionButtonCircleShapePreview", - "IconTitleSubtitleMoleculeWithResIconPreview", "IconsCompoundPreview", "IconsOtherPreview", "MarkdownTextComposerEditPreview", From 7445d9633e0c25913c8e806b56826ccbb0299b85 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 22 Oct 2024 11:56:35 +0200 Subject: [PATCH 27/93] Remove RoundedIconAtomSize.Large, we must use BigIcon now. --- .../designsystem/atomic/atoms/RoundedIconAtom.kt | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt index a835351bdf..0396eeea67 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/RoundedIconAtom.kt @@ -42,7 +42,7 @@ import io.element.android.libraries.designsystem.theme.temporaryColorBgSpecial @Composable fun RoundedIconAtom( modifier: Modifier = Modifier, - size: RoundedIconAtomSize = RoundedIconAtomSize.Large, + size: RoundedIconAtomSize = RoundedIconAtomSize.Big, resourceId: Int? = null, imageVector: ImageVector? = null, tint: Color = MaterialTheme.colorScheme.secondary, @@ -72,7 +72,6 @@ private fun RoundedIconAtomSize.toContainerSize(): Dp { return when (this) { RoundedIconAtomSize.Medium -> 30.dp RoundedIconAtomSize.Big -> 36.dp - RoundedIconAtomSize.Large -> 70.dp } } @@ -80,7 +79,6 @@ private fun RoundedIconAtomSize.toCornerSize(): Dp { return when (this) { RoundedIconAtomSize.Medium -> 8.dp RoundedIconAtomSize.Big -> 8.dp - RoundedIconAtomSize.Large -> 14.dp } } @@ -88,7 +86,6 @@ private fun RoundedIconAtomSize.toIconSize(): Dp { return when (this) { RoundedIconAtomSize.Medium -> 16.dp RoundedIconAtomSize.Big -> 24.dp - RoundedIconAtomSize.Large -> 48.dp } } @@ -104,15 +101,10 @@ internal fun RoundedIconAtomPreview() = ElementPreview { size = RoundedIconAtomSize.Big, imageVector = Icons.Filled.Home, ) - RoundedIconAtom( - size = RoundedIconAtomSize.Large, - imageVector = Icons.Filled.Home, - ) } } enum class RoundedIconAtomSize { Medium, Big, - Large } From 227bfab37b9051a2896fe6fc2d0ef4564739faee Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 22 Oct 2024 12:02:44 +0200 Subject: [PATCH 28/93] Use BigIcon. --- .../android/features/lockscreen/impl/unlock/PinUnlockView.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt index f0a611d56f..f305ae5422 100644 --- a/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt +++ b/features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/PinUnlockView.kt @@ -51,7 +51,7 @@ import io.element.android.features.lockscreen.impl.pin.model.PinEntry import io.element.android.features.lockscreen.impl.unlock.keypad.PinKeypad import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncData -import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtom +import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.components.ProgressDialog import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog @@ -299,7 +299,7 @@ private fun PinUnlockHeader( horizontalAlignment = Alignment.CenterHorizontally, ) { if (isInAppUnlock) { - RoundedIconAtom(imageVector = Icons.Filled.Lock) + BigIcon(style = BigIcon.Style.Default(Icons.Filled.Lock)) } else { Icon( modifier = Modifier From ce3e240df896de1c1ea1eb6cd1d2093ea9394b1e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 22 Oct 2024 12:29:18 +0200 Subject: [PATCH 29/93] Doc --- .../designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt index c00121a567..ea2faaf436 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/IconTitleSubtitleMolecule.kt @@ -29,8 +29,8 @@ import io.element.android.libraries.designsystem.theme.components.Text * * @param title the title to display * @param subTitle the subtitle to display - * @param modifier the modifier to apply to this layout * @param iconStyle the style of the [BigIcon] to display + * @param modifier the modifier to apply to this layout */ @Composable fun IconTitleSubtitleMolecule( From 07e1a675a2a012eac01444e4ef67b2d009ee45af Mon Sep 17 00:00:00 2001 From: ElementBot Date: Tue, 22 Oct 2024 10:39:48 +0000 Subject: [PATCH 30/93] Update screenshots --- .../features.analytics.impl_AnalyticsOptInView_Day_0_en.png | 4 ++-- .../features.analytics.impl_AnalyticsOptInView_Night_0_en.png | 4 ++-- ...tue.impl.notifications_NotificationsOptInView_Day_0_en.png | 4 ++-- ...e.impl.notifications_NotificationsOptInView_Night_0_en.png | 4 ++-- ...creen.impl.setup.biometric_SetupBiometricView_Day_0_en.png | 4 ++-- ...een.impl.setup.biometric_SetupBiometricView_Night_0_en.png | 4 ++-- ...atures.lockscreen.impl.setup.pin_SetupPinView_Day_0_en.png | 4 ++-- ...atures.lockscreen.impl.setup.pin_SetupPinView_Day_1_en.png | 4 ++-- ...atures.lockscreen.impl.setup.pin_SetupPinView_Day_2_en.png | 4 ++-- ...atures.lockscreen.impl.setup.pin_SetupPinView_Day_3_en.png | 4 ++-- ...atures.lockscreen.impl.setup.pin_SetupPinView_Day_4_en.png | 4 ++-- ...ures.lockscreen.impl.setup.pin_SetupPinView_Night_0_en.png | 4 ++-- ...ures.lockscreen.impl.setup.pin_SetupPinView_Night_1_en.png | 4 ++-- ...ures.lockscreen.impl.setup.pin_SetupPinView_Night_2_en.png | 4 ++-- ...ures.lockscreen.impl.setup.pin_SetupPinView_Night_3_en.png | 4 ++-- ...ures.lockscreen.impl.setup.pin_SetupPinView_Night_4_en.png | 4 ++-- ...res.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en.png | 4 ++-- ...res.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en.png | 4 ++-- ...res.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en.png | 4 ++-- ...res.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en.png | 4 ++-- ...res.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en.png | 4 ++-- ...res.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en.png | 4 ++-- ...res.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en.png | 4 ++-- ...res.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_en.png | 4 ++-- ...s.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en.png | 4 ++-- ...s.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en.png | 4 ++-- ...s.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en.png | 4 ++-- ...s.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en.png | 4 ++-- ...s.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en.png | 4 ++-- ...s.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en.png | 4 ++-- ...s.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en.png | 4 ++-- ...s.lockscreen.impl.unlock_PinUnlockViewInApp_Night_7_en.png | 4 ++-- ...angeaccountprovider_ChangeAccountProviderView_Day_0_en.png | 4 ++-- ...geaccountprovider_ChangeAccountProviderView_Night_0_en.png | 4 ++-- ...irmaccountprovider_ConfirmAccountProviderView_Day_0_en.png | 4 ++-- ...irmaccountprovider_ConfirmAccountProviderView_Day_1_en.png | 4 ++-- ...irmaccountprovider_ConfirmAccountProviderView_Day_2_en.png | 4 ++-- ...maccountprovider_ConfirmAccountProviderView_Night_0_en.png | 4 ++-- ...maccountprovider_ConfirmAccountProviderView_Night_1_en.png | 4 ++-- ...maccountprovider_ConfirmAccountProviderView_Night_2_en.png | 4 ++-- ....impl.screens.loginpassword_LoginPasswordView_Day_0_en.png | 4 ++-- ....impl.screens.loginpassword_LoginPasswordView_Day_1_en.png | 4 ++-- ....impl.screens.loginpassword_LoginPasswordView_Day_2_en.png | 4 ++-- ...mpl.screens.loginpassword_LoginPasswordView_Night_0_en.png | 4 ++-- ...mpl.screens.loginpassword_LoginPasswordView_Night_1_en.png | 4 ++-- ...mpl.screens.loginpassword_LoginPasswordView_Night_2_en.png | 4 ++-- ...ns.qrcode.confirmation_QrCodeConfirmationView_Day_0_en.png | 4 ++-- ...ns.qrcode.confirmation_QrCodeConfirmationView_Day_1_en.png | 4 ++-- ...ns.qrcode.confirmation_QrCodeConfirmationView_Day_2_en.png | 4 ++-- ....qrcode.confirmation_QrCodeConfirmationView_Night_0_en.png | 4 ++-- ....qrcode.confirmation_QrCodeConfirmationView_Night_1_en.png | 4 ++-- ....qrcode.confirmation_QrCodeConfirmationView_Night_2_en.png | 4 ++-- ...gin.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en.png | 4 ++-- ...gin.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en.png | 2 +- ...n.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en.png | 4 ++-- ...n.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en.png | 4 ++-- ...login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en.png | 4 ++-- ...login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en.png | 4 ++-- ...login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en.png | 4 ++-- ...login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en.png | 4 ++-- ...gin.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en.png | 4 ++-- ...gin.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en.png | 4 ++-- ...gin.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en.png | 4 ++-- ...gin.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en.png | 4 ++-- ...archaccountprovider_SearchAccountProviderView_Day_0_en.png | 4 ++-- ...archaccountprovider_SearchAccountProviderView_Day_1_en.png | 4 ++-- ...chaccountprovider_SearchAccountProviderView_Night_0_en.png | 4 ++-- ...chaccountprovider_SearchAccountProviderView_Night_1_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Day_0_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Day_1_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Day_2_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Day_3_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Day_4_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Day_5_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Day_6_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Day_7_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Day_8_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Day_9_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Night_0_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Night_1_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Night_2_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Night_3_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Night_4_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Night_5_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Night_6_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Night_7_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Night_8_en.png | 4 ++-- .../images/features.logout.impl_LogoutView_Night_9_en.png | 4 ++-- ...re.resolve_ResolveVerifiedUserSendFailureView_Day_1_en.png | 4 ++-- ...re.resolve_ResolveVerifiedUserSendFailureView_Day_2_en.png | 4 ++-- ....resolve_ResolveVerifiedUserSendFailureView_Night_1_en.png | 4 ++-- ....resolve_ResolveVerifiedUserSendFailureView_Night_2_en.png | 4 ++-- ...sages.impl.pinned.list_PinnedMessagesListView_Day_2_en.png | 4 ++-- ...ges.impl.pinned.list_PinnedMessagesListView_Night_2_en.png | 4 ++-- ...rebackup.impl.disable_SecureBackupDisableView_Day_0_en.png | 4 ++-- ...rebackup.impl.disable_SecureBackupDisableView_Day_1_en.png | 4 ++-- ...rebackup.impl.disable_SecureBackupDisableView_Day_2_en.png | 4 ++-- ...rebackup.impl.disable_SecureBackupDisableView_Day_3_en.png | 4 ++-- ...backup.impl.disable_SecureBackupDisableView_Night_0_en.png | 4 ++-- ...backup.impl.disable_SecureBackupDisableView_Night_1_en.png | 4 ++-- ...backup.impl.disable_SecureBackupDisableView_Night_2_en.png | 4 ++-- ...backup.impl.disable_SecureBackupDisableView_Night_3_en.png | 4 ++-- ...curebackup.impl.enable_SecureBackupEnableView_Day_0_en.png | 4 ++-- ...curebackup.impl.enable_SecureBackupEnableView_Day_1_en.png | 4 ++-- ...curebackup.impl.enable_SecureBackupEnableView_Day_2_en.png | 4 ++-- ...rebackup.impl.enable_SecureBackupEnableView_Night_0_en.png | 4 ++-- ...rebackup.impl.enable_SecureBackupEnableView_Night_1_en.png | 4 ++-- ...rebackup.impl.enable_SecureBackupEnableView_Night_2_en.png | 4 ++-- ...p.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en.png | 4 ++-- ...p.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en.png | 4 ++-- ...p.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en.png | 4 ++-- ...p.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en.png | 4 ++-- ...impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en.png | 4 ++-- ...impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en.png | 4 ++-- ...impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en.png | 4 ++-- ...impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en.png | 4 ++-- ...impl.reset.password_ResetIdentityPasswordView_Day_0_en.png | 4 ++-- ...impl.reset.password_ResetIdentityPasswordView_Day_1_en.png | 4 ++-- ...impl.reset.password_ResetIdentityPasswordView_Day_2_en.png | 4 ++-- ...impl.reset.password_ResetIdentityPasswordView_Day_3_en.png | 4 ++-- ...pl.reset.password_ResetIdentityPasswordView_Night_0_en.png | 4 ++-- ...pl.reset.password_ResetIdentityPasswordView_Night_1_en.png | 4 ++-- ...pl.reset.password_ResetIdentityPasswordView_Night_2_en.png | 4 ++-- ...pl.reset.password_ResetIdentityPasswordView_Night_3_en.png | 4 ++-- ...backup.impl.setup_SecureBackupSetupViewChange_Day_0_en.png | 4 ++-- ...backup.impl.setup_SecureBackupSetupViewChange_Day_1_en.png | 4 ++-- ...backup.impl.setup_SecureBackupSetupViewChange_Day_2_en.png | 4 ++-- ...backup.impl.setup_SecureBackupSetupViewChange_Day_3_en.png | 4 ++-- ...backup.impl.setup_SecureBackupSetupViewChange_Day_4_en.png | 4 ++-- ...ckup.impl.setup_SecureBackupSetupViewChange_Night_0_en.png | 4 ++-- ...ckup.impl.setup_SecureBackupSetupViewChange_Night_1_en.png | 4 ++-- ...ckup.impl.setup_SecureBackupSetupViewChange_Night_2_en.png | 4 ++-- ...ckup.impl.setup_SecureBackupSetupViewChange_Night_3_en.png | 4 ++-- ...ckup.impl.setup_SecureBackupSetupViewChange_Night_4_en.png | 4 ++-- ...securebackup.impl.setup_SecureBackupSetupView_Day_0_en.png | 4 ++-- ...securebackup.impl.setup_SecureBackupSetupView_Day_1_en.png | 4 ++-- ...securebackup.impl.setup_SecureBackupSetupView_Day_2_en.png | 4 ++-- ...securebackup.impl.setup_SecureBackupSetupView_Day_3_en.png | 4 ++-- ...securebackup.impl.setup_SecureBackupSetupView_Day_4_en.png | 4 ++-- ...curebackup.impl.setup_SecureBackupSetupView_Night_0_en.png | 4 ++-- ...curebackup.impl.setup_SecureBackupSetupView_Night_1_en.png | 4 ++-- ...curebackup.impl.setup_SecureBackupSetupView_Night_2_en.png | 4 ++-- ...curebackup.impl.setup_SecureBackupSetupView_Night_3_en.png | 4 ++-- ...curebackup.impl.setup_SecureBackupSetupView_Night_4_en.png | 4 ++-- .../images/features.signedout.impl_SignedOutView_Day_0_en.png | 4 ++-- .../features.signedout.impl_SignedOutView_Night_0_en.png | 4 ++-- ...ures.verifysession.impl_VerifySelfSessionView_Day_0_en.png | 4 ++-- ...res.verifysession.impl_VerifySelfSessionView_Day_10_en.png | 4 ++-- ...ures.verifysession.impl_VerifySelfSessionView_Day_1_en.png | 4 ++-- ...ures.verifysession.impl_VerifySelfSessionView_Day_2_en.png | 4 ++-- ...ures.verifysession.impl_VerifySelfSessionView_Day_3_en.png | 4 ++-- ...ures.verifysession.impl_VerifySelfSessionView_Day_5_en.png | 4 ++-- ...ures.verifysession.impl_VerifySelfSessionView_Day_6_en.png | 4 ++-- ...ures.verifysession.impl_VerifySelfSessionView_Day_7_en.png | 4 ++-- ...ures.verifysession.impl_VerifySelfSessionView_Day_8_en.png | 4 ++-- ...es.verifysession.impl_VerifySelfSessionView_Night_0_en.png | 4 ++-- ...s.verifysession.impl_VerifySelfSessionView_Night_10_en.png | 4 ++-- ...es.verifysession.impl_VerifySelfSessionView_Night_1_en.png | 4 ++-- ...es.verifysession.impl_VerifySelfSessionView_Night_2_en.png | 4 ++-- ...es.verifysession.impl_VerifySelfSessionView_Night_3_en.png | 4 ++-- ...es.verifysession.impl_VerifySelfSessionView_Night_5_en.png | 4 ++-- ...es.verifysession.impl_VerifySelfSessionView_Night_6_en.png | 4 ++-- ...es.verifysession.impl_VerifySelfSessionView_Night_7_en.png | 4 ++-- ...es.verifysession.impl_VerifySelfSessionView_Night_8_en.png | 4 ++-- ...ies.designsystem.atomic.atoms_RoundedIconAtom_Day_0_en.png | 4 ++-- ...s.designsystem.atomic.atoms_RoundedIconAtom_Night_0_en.png | 4 ++-- ...olecules_IconTitleSubtitleMoleculeWithResIcon_Day_0_en.png | 3 --- ...ecules_IconTitleSubtitleMoleculeWithResIcon_Night_0_en.png | 3 --- ...em.atomic.molecules_IconTitleSubtitleMolecule_Day_0_en.png | 4 ++-- ....atomic.molecules_IconTitleSubtitleMolecule_Night_0_en.png | 4 ++-- ...raries.designsystem.atomic.pages_FlowStepPage_Day_0_en.png | 4 ++-- ...ries.designsystem.atomic.pages_FlowStepPage_Night_0_en.png | 4 ++-- .../libraries.designsystem.components_BigIcon_Day_0_en.png | 4 ++-- .../libraries.designsystem.components_BigIcon_Night_0_en.png | 4 ++-- ...designsystem.components_PageTitleWithIconFull_Day_0_en.png | 4 ++-- ...signsystem.components_PageTitleWithIconFull_Night_0_en.png | 4 ++-- ...ignsystem.components_PageTitleWithIconMinimal_Day_0_en.png | 4 ++-- ...nsystem.components_PageTitleWithIconMinimal_Night_0_en.png | 4 ++-- .../libraries.designsystem.theme_ColorAliases_Day_0_en.png | 4 ++-- .../libraries.designsystem.theme_ColorAliases_Night_0_en.png | 4 ++-- 180 files changed, 355 insertions(+), 361 deletions(-) delete mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Day_0_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Night_0_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.analytics.impl_AnalyticsOptInView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.analytics.impl_AnalyticsOptInView_Day_0_en.png index e7fb1a8b0c..61f6ebdc23 100644 --- a/tests/uitests/src/test/snapshots/images/features.analytics.impl_AnalyticsOptInView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.analytics.impl_AnalyticsOptInView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:572290a96021392ab1a0cf5592962dc0197f8803e2584b78591182cfc4075a65 -size 89115 +oid sha256:c4eeb1191c449106118a084db23555ea3882971a41e219b6b094e6a980a6a2b8 +size 88813 diff --git a/tests/uitests/src/test/snapshots/images/features.analytics.impl_AnalyticsOptInView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.analytics.impl_AnalyticsOptInView_Night_0_en.png index 2ad9ce8dd7..0274582366 100644 --- a/tests/uitests/src/test/snapshots/images/features.analytics.impl_AnalyticsOptInView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.analytics.impl_AnalyticsOptInView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68b418f4b4e88fc7093286bfe7d7e77369480ef4cf26f96bcb601db660e70090 -size 81143 +oid sha256:312f2196d34f5c75336e55e0cc1f47adc1484b3a51f19e662f60ccbbe2ba72b6 +size 80869 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 8abd4bc712..196fa7a129 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:e46d9479220004a152884887df22017c7dd772879653b8a290ac0b31ac1bc50e -size 68356 +oid sha256:bc56ae93010a808f49cacacc84ed2321e8eb792bc2761afbc32fb628511aaf8b +size 68133 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 a3dc27059a..7844559eb0 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:0234bac541949142e19cf9f25988ff6afb6f01bbe5c27611b1681a849b220c51 -size 59428 +oid sha256:d3954d38335b27519c37b3ef0703d982bfea6b9979a07f392b5479abe5186d81 +size 59187 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en.png index 7eee1eb31f..9c0667a473 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcc6bd697c7b2150328fcc5b6584f26ca993d803d055d5e0f77b497e5a751e95 -size 34421 +oid sha256:c19b85254005f36712a856388b9e7151571b5ca1c8376ff57b9ca10ef440570a +size 32561 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en.png index 2d8ca4a8e0..9a072adcbb 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:96ddacbeb57b20de6d9544a1856b7b17aa891ef4e7c860e3957e09f8ba72c9a7 -size 33627 +oid sha256:b9ae39e61b841a38240b20cf009d4bd82b961daaf2ae238f05b27acdee944a32 +size 31479 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 d757a0979b..1f9643d227 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:a840a4ea90363427001da16456686257faffd22c188a2be7cb618e30f975b73a -size 30319 +oid sha256:68f71efc622decbb6e97f9e2f72e5a0be0a8ef555d26fe608d0400773ccaf3cf +size 29666 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 5388e7e983..117da20335 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:5cbc4d351d3949fcb52a1d75c59328d012b5477aff18cb1a74f129b3b2e832f3 -size 29876 +oid sha256:d920c3ed177616383d64dc1518d5bdc8784a95967f06d7381234d73c0d54d77a +size 29282 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 c142cd4a3d..409412027d 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:51dc16f7bf1a572ab85b6c7e9d47c37468831998afcf2ef84561ec98ab91a43f -size 29758 +oid sha256:1665314b2c4865355fc3ff926d07e5fa4cd963cc4ef0adb95776d60031ebaa14 +size 29158 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en.png index ef46fbad28..d78a6fc79b 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aa7d9ef4b2d68b94239dd83bf41f810776f096f6a07e1012757e46f4a7414c80 -size 25562 +oid sha256:6a9ecf9862bbb14dcc05adbc2c0036e89dd8715dce3a8e95d46e1be3c13fae0c +size 25210 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en.png index 1814e232e1..3733cdcad9 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b87e5e881c05e5297016af2dd85b1353304424f5479b5f944fd728ee47ad3863 -size 30267 +oid sha256:3aaece3167367d72117e0b4e6c989c631bc982742f7aec2468c70f286a54266a +size 29925 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 9cce44ab4b..1ff77934ca 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:0357c85f4de58b72aa4e57c8129da71bc5847a27ce03871fe8bf0058099b4217 -size 29547 +oid sha256:fb8020cfd58453ca01acb493d95fb3395d482f590f050bb18ce625220a358c83 +size 29135 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 b2aa3b9c63..21f1fcc63f 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:e592f4e5da491a5d69bb7fe94d4215a7dce3e6553fec20004eb3f9e44f42d01d -size 29235 +oid sha256:59980a74f85d06b67bd743214472c079ec770f3764c552c17b83a2bcb8fa7ac3 +size 28792 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 9c2fbdd03a..e2cab434c2 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:8c62bdc7737efaa41d7403881bcbd98f105fe9f5c1a88ead8cd4eedd0a25af7b -size 29120 +oid sha256:4668416249c9969e61387674f2a5e5cf4a67907707cb87a956411931fe2292cf +size 28633 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en.png index b6dcc29024..645d17da64 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:00aa425ab7d9982188efd9a9015cea41d82a15572f9f39a816849019a3f37d9b -size 23646 +oid sha256:e4c6bc8365185929cb5185641b9a258dd1abcf0a75f1806dc92420a9b7978729 +size 23240 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en.png index 529cbfd256..cc149ee87b 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6072b6cad2531dab81f0bc5eded84dc230c5199ae719e70083209f71a7a2bdb8 -size 28203 +oid sha256:bdd69fec1d8a137e2560193b494e1ff7152938f0969222b6bc8889453cefa957 +size 27793 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en.png index 29303e7278..9b96187e60 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b0c952a4f7b158c46675a766a2dab3858d8de4a4b0b0733e8315b6d7d4212edc -size 20848 +oid sha256:4132ddd836c382f198a5dcfc6c33e232ff55fcad78408b30f03e94cb1977044a +size 20530 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en.png index 3ab2581e82..23f5acf95b 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b4e36dee15026d7ef67fb6265b4aeadfece807d432f9afaf6d5dd4b20d5a653f -size 20399 +oid sha256:eb66db4ab6ad3ceecfea21041626e63420d6d761988cb06922b4d010378d22d8 +size 20129 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en.png index c3bf2e5b73..0daf504fcb 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b787b0d304c62aad990325fbb602883926fd741406c03f688e0ed19b2e88fa2 -size 22112 +oid sha256:3f06e45ae17e3bb230d58bb17d77bbf3d24569cae70c9d7198c04fa64c45ffee +size 21761 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en.png index a257497a11..472a1720b0 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b312b034a5387cde81b58bd2832be05ecfeb21f76abc83a2d541a97a1989f5f -size 33828 +oid sha256:76f93ce996666c91f33624549a6aa227feb25c1abed379d01056f29fa3473010 +size 33486 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en.png index 8f214cf157..9a1b6c989c 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:efdd4789c0579cbb01a80823cc62b22c4ca3c20b2378280600366a2aca21b863 -size 18440 +oid sha256:a37cf55bb68e4f354a9ec9c1b9aa70fd6bdc5300120928f65b1e698b165d8949 +size 18111 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en.png index a5d887752f..b3cac885c9 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:01be419e21a35896e14be2228f6cb17853c606d3b741afb384370343638370f4 -size 31503 +oid sha256:2c1c0bbafdb06652218409ef6632dccabc447e5026252ad7c3f6692e39a12bba +size 31129 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 60afa2b510..96b3163175 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:f05326f20d8f18a245b1d98ef0f52e33f1a87a525bf0c86ff24107b83e176d39 -size 22479 +oid sha256:9b6bfb112e2ecc8e1c552b1525347bccfbb762efb02e57a37e4fdf08310f541a +size 22170 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 index 634b69b361..17bc14a40e 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a12b9a2dfafb1f8cdb329a41c422ebe913b6a8da2f48a217955f43b9f46ac4d -size 23505 +oid sha256:9c439068253b00b55275353538bd515aa3efa1b7ea4b288cd230862a1f81e8a6 +size 23186 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en.png index 2218bef7d0..620594372e 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:13289186f19b6208c1f08e6b5b4c3c90bd1f3522855fff56e7fb21acd4a906ea -size 20460 +oid sha256:2a05b1194954c357a486f85d093504c56e9ab47bedd233f977bfb01e315f184e +size 20174 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en.png index 2ae7f70aff..94f0b13aeb 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:28d5190997fec9971ef628f05a3fa1002bf5fc92a577e2a87e00ed223a0dc44e -size 20110 +oid sha256:1cfddab6c314d679ec1af2c24a1585774273ce74b427858054014b4f65c85501 +size 19857 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en.png index db5d04f8a4..8658847acc 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e6f0b537865af7930be8e321a1cd513c01b28b96559649ac76d91e0626b8a05 -size 21555 +oid sha256:fe6540c62d496f99d147f5e35e0f435d072e9f30fd8717561d28da4feb97d846 +size 21280 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en.png index 41e41c8eb0..f82e001786 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b94990ecb0c204408d0be055f1574b6b28683d4976cdd5a11b9085c2537c576b -size 31429 +oid sha256:991160e6f20b492546b7195ffe15e55a26d70a781ef26a4f3c6a4438b7e8e18a +size 31038 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en.png index fb085bb46b..7100b9be84 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fa0337bc1dcd2b4dfac57a3c304dbeb4507e3a6dc031315057370a4cee7e9b0a -size 18093 +oid sha256:86536abf20dfeb05a7d025fc2ab6a67c1a40fae8d10ce3917343c9a6c7af3670 +size 17856 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en.png index d04e2447bd..bf3cc6d8b8 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:32656f8a4fa0d92158f9bcbea1571916eda1df2b58f9a5b5f48049aa7c5c32d0 -size 29369 +oid sha256:bd391d9e92d3677a47d6acf334d497b04e791f97cded74be68a0cdd0c5657ef6 +size 29039 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 f41f59a309..c8a152e190 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:bf4f3145e8eb2f7a9dccd3c9156dd2e8210dc344db40ab9a3a7a43553a5d668f -size 21128 +oid sha256:1d4133cd4230d392c41bd7a6463c85b478859ac92e8ad20464c5d1a9b8ddbd69 +size 20756 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 index 974d33e340..911231bef0 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:053b62a43c2ebec26c9d32f9cd002e01f90665be7530d281aad302377585dfae -size 21420 +oid sha256:2e02bd5f8010b02a470d2352d3d5b5df640f3dd57f4a276b5f33c58561c3bf00 +size 21055 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 79153952e0..e25835b8a7 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:f48292a9f8f3f009fe970b65732c612c42810404191f7ba979d84edbf9b0df84 -size 47684 +oid sha256:ea69081e2a5e8fe5426064533e77dbb3840bbaae54334e354b94452f04f31625 +size 47497 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 18ea5fc6d6..a646e39f32 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:55a0861f296ad6bc587a50f960f28b75c74859df60008774dfb8087b9cee708b -size 46843 +oid sha256:95be012533c573460c2b80596cb8b0e2ecdc156918b74b9885a33e641333bf67 +size 46595 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en.png index dde2032904..1ae7f02292 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c4fd5e572cf8268f085a7c3f5e076d4aad8b51ebf1c513be42a57ce15daa4a56 -size 36326 +oid sha256:c7e096cb891c043f72d3745e461f639a8518340b00d4feaab48b4ff87127de3a +size 35344 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en.png index f4a7f63530..5ee6ccb186 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2f3a79b578e2c4cb7f6c9cf48f2c94dd6889d57b82bd7454d9a0d7b76f58d8a -size 38689 +oid sha256:cbef81d76295a27716ed6d93779ea9c7bcf0d4523080b22de1853877a718662d +size 37556 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png index d880280de2..0d45a58c8c 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f45332a3b2a62939aff408aa9537f9b71c4bb85bbe26b43c61a6400441830483 -size 39482 +oid sha256:b37a2afdb9c773af7e98e6623df8cdd5bc3a28e03093b273c094d0068d0e5998 +size 38898 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en.png index af7c254263..b3f25525ac 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e1653f1f2ff16bde06cd674ac56c987f831708e58151132995d0270a54a57ec -size 35407 +oid sha256:e1474e83086bb97b16a593c4e184d55fde289f15240ab1929d6959405b12b3ac +size 34541 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en.png index f30b395104..c83e63194a 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a6818bb540210582166ff6484dfca0ec45e88def508c9c5e3a0eb838514b591 -size 37634 +oid sha256:67557332f2879b70d45057f40f0433c457c3d118c5f3d91d93ac3d7fc283c343 +size 36399 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png index 5c49aa51c3..ff29b201e9 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea7772eb8d6f825dc5d8a5823e8452e4e4aec1db0b460a189715b843d8f7ae7c -size 37021 +oid sha256:522b614192a2b7e5d88579b95d58a791de005692ae6c9b51f29b7e7e1cd04323 +size 36391 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 ba7e3d8d82..cfa699a1fb 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:07aaa5e8fa019a3686ea3f497f43d8ebe5f31739d406a002a7df1f550c64492d -size 36697 +oid sha256:afa896a21369e764e32b1dd4858a34708ddf38426a4a8aaa724761e76a90fed7 +size 35316 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 eaf8da831a..503e26d994 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:976f5a83301587055f2aed75a151f8a3341520bf31de9ca78e7d352f675341e4 -size 37816 +oid sha256:2dc060e53c33a7a06895e1be02f45f7f7e52b287d87b41c76d3321a71184f525 +size 36501 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 c3b7121e0d..7c2715d5a4 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:c7fe070c9d2eaadf36228e77687e37addf2c7ae02b33cb09c2f7aeb0e89853f6 -size 27215 +oid sha256:1cdff1f6e189eff691125330b0f2c733ffd16fca324a5f2faee3dd15c9b7bc90 +size 27119 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 7936e0eb33..d8dca2e9e1 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:2956b24ebf8d5558e266ab14888b0b7c5b5312675a39aff1059090d9ad4c1910 -size 35612 +oid sha256:60e85a3e25fd112009111634ddc59a6ae7d884e26ea29e0598c1af10818abcb5 +size 34285 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 cd315f7f28..4e8f07b36b 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:bdb216fd34daf6335129eb64b259a80ba35dacc297f7df7ed5721a80cd52ca72 -size 36802 +oid sha256:9b518aa920d7183d740be4358dcc495e7df1c2d40c866addb728c7af8e273dbe +size 35502 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 6e79d904e6..397238e47a 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:25547cb1d08bad6dd0eb9b9a8e1fb2c7c128e8de6d06b8fac757b58b073dc40d -size 25265 +oid sha256:a96833c5ba2508d77e1b8a1f885df78fb979fcb530223c4591076120729559e4 +size 25080 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 bfdb17516a..2fb4d86674 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:11fd978ce48bf923f51cd6a4b3915f633f47204c6abc82a7839a0f5e4647eb04 -size 32140 +oid sha256:a139f621872543b69854d5397d8b5c51f44fea6b4909e578ba1c7af8343175ce +size 31995 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 52d850cb11..6ee1109e82 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:519cad81c4c1a88aec638fce1e5264d425a72ebab12f373e94ced1e60f6c0ffc -size 32169 +oid sha256:3d724e2fadbdb0a740861ec0ea34f0a6c7f1c3269e79c23d38108adaef5b1c10 +size 31876 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 e5373ecf04..e0e02f51ea 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:921ce2b5696777a973f1ce3360ae418db132d04f217634eafd52c94517ac58c4 -size 34019 +oid sha256:ec27983616e9ce41f675f9b19751beb7fa99273b4fff2848c2ade021b2589468 +size 33728 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 e93b1dda34..48d745149a 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:b1132ee7faeee51a1e7e386c830cb2733bb96e0ed9731da7f40fad1baa71d917 -size 31482 +oid sha256:52f729159fe5298ea15d6400dfc13724e673c1cc8c588fcd52642bbb27ad87c1 +size 31312 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 bf42e3eb64..2d6850d583 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:0b0358bcec3d5401042e3ad4f4342b9ae28e79c829224ce90c5cbb5e55ad7891 -size 31502 +oid sha256:257f325a12c3e19a925930efb0903bd389a66b0afe91312b42028d9d165016db +size 31209 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 85056bd40e..5b66276db4 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:a2ed7523bd62487f5b0e1aed9cce7563443d7e1c2fabe7b184daeac0ffce08f1 -size 33362 +oid sha256:6b6a1e121a09f5aa614d7971193a26377883c2867a5ad37e999b2ace14a4cd0d +size 33082 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en.png index 21ab27c511..d9ce823ce3 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:021982f9575de9946f905c348f3be4cd12e58550fc2ba6f7e86d44f72c35a254 -size 50081 +oid sha256:788722dec315d910767e187eb6c868fb85918d0220c7b923fed82fae736c7c38 +size 49947 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 074ce8fb9e..f1282c1430 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:2f30cfd5af7247c188851213b122e78e51bf38f0b8c94870776c081b4d69f9e0 +oid sha256:b08155f87cc38f33eeaf8d1c1a71760ff3620e8db384159721c49648555a0beb size 48509 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en.png index 32c359384b..f09673883a 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4b16db86e6aa5ba64d4f4539120d28588ce9e5daf3aef30b275d47f00ec55776 -size 48634 +oid sha256:958606fd01dc7126836329f57c04913561cdc667cb47bd86d4a1cde654abd7f4 +size 48458 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 de297410b0..638c8a7ad9 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:ef3187936592091492d4d4d349954000722a8e764d9baa35ea987b49d5bd4b8a -size 46145 +oid sha256:3bf3c0ad50dd204809f7ef0aa95a38e9f18b52fe17943807a732aa4c74d962a7 +size 46027 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en.png index 263c187860..edcb1f9964 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:32dc9a4bb6efd504dc93393aa25348504a0ce64db6a23990be74139eb74fbc75 -size 14895 +oid sha256:900f489028d4af30bffc3fbfe49c377d27bef887b2a376973b9252bf9132da0a +size 14734 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 81ff752a8b..d6082e377c 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:96b58b83e71079e5272246f9706e1f52aeee8b2877ae5a698d1bd6e6309e858e -size 19983 +oid sha256:27200062b6eac1570c9868989fa4906a7c604d0e62a391d0f7299496f13fa7c9 +size 19832 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en.png index 19a005669a..db055e7657 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:972e4114d76bc53b59bb3e6ef04132d167202374466ef370fb27b262c6c2a14d -size 26502 +oid sha256:5952fcc2001ac647fef21bac6b5994648235fd3e721aa810520e5436d298acc7 +size 26351 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en.png index a9d5c036cd..a3d5b97bed 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:52bc87772f54feb7212cc0971b202adc30cc2506d0ac392d696eb143d8435430 -size 32644 +oid sha256:b291dc84c70f765eca548262fa352633eab6a43e79ebbd31233b01661adffba5 +size 32512 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en.png index b66a35e69d..37f60b9b57 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c78c7c657d32be4e44af8c8abef2b271f243292ae6868020111d6ada1bf84657 -size 14209 +oid sha256:df999d7acb6dac9e991a2e45a896d8c006034b0205cd01cf97a496f3be192790 +size 14024 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 76fc1b728f..8ff27f9321 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:136a66f7cb2d9bf365428d524f6faca44ea0f67571d54c99b17d55ccf57f4777 -size 19124 +oid sha256:3ee864b015608e7c54bd206c76d0410033259d0034db9875ec7bd126a1a7a11e +size 18941 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en.png index 7adc14627e..ae81d4fb05 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:11e79137501431495a6adb4a25a6cbdfd61626742caa1265f3ebba9ab9cc2169 -size 25388 +oid sha256:5b2a4e2925fb9042a9a25edc6f1ba439fd82bd8dac004c1bfb6d4cec7408a785 +size 25216 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en.png index abb713b249..ae3eaa710a 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:396b63ddd51230ccaca45f89a371a8851e061543602f4f8af880ab6482905d63 -size 31379 +oid sha256:51d18d0bcea22da66c5766b1a9ef0b32f72d9ed9c4202e27c7604dc29daa9b2a +size 31178 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en.png index 1cd49510f6..b64472a105 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1a51b5b66839e1233594c3f1283f0594ad426ab9f770dd7dcc293b9428e23394 -size 24027 +oid sha256:4054b601d6afc38467b632a19a5e12540b21dccbd67a885bcc13f8ad8a86636e +size 23532 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 e19f99e55a..60bb996a68 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:718d4f0cdaec5b5e9b99fb808920cb19b81589600818b8674d1aafc83f42d3c5 -size 52109 +oid sha256:99fae3f838aa948b77391ef87d71ef56f2ac68b734bfdbd9c2b1868793dba192 +size 51583 diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en.png index bb8b2339b3..ac2ae3d61a 100644 --- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2b6eed8eb3a0acfc48649255825c684b31cb5bf9c73e6a96c961aab4ccf3cc88 -size 23652 +oid sha256:2426456773a27afb8daedb3d4ce8d03901d5b4c5a92c034537a79cd0ed018b0b +size 23067 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 94c9c8d355..0568c90329 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:2a7821da4271e35b23d20b99fd9fcedcda630a90af547489f866260c3c99613e -size 51248 +oid sha256:b929faac1dc1e016ae59333941612231fdc56ceeba56515b28d7e768e7fce4e2 +size 50630 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_0_en.png index 922184c130..b99d70c810 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d5c7af1d5475fd5d0273b8acb12de7188c10c32fa5c98ab512f68fbaa3a0e29f -size 11099 +oid sha256:e241e62bcd807e5b2c423179429dd1ebb9c495355acc81e95ccbb70dd3ab9edf +size 10920 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 529cb5a98d..4bb4feb912 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:772449038ec36ff05b464a011c1407e7b46afe434edc2e6b39335c6d197b4fa7 -size 37223 +oid sha256:70b295d68841ea3c484b348473a50eb2b2421dcec556a45325ea1b0a3d077e4e +size 37042 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 7806dd678f..3b5eee9cef 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:ca20f0fc7b05412b5bf27250b1afb3057598980e398b5d157ecd86a194727deb -size 27627 +oid sha256:4251ddc86df66472e9d8a9d0c45e87d68c7684fd2e194cf1c4547dc6d97421d0 +size 27456 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 529cb5a98d..4bb4feb912 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:772449038ec36ff05b464a011c1407e7b46afe434edc2e6b39335c6d197b4fa7 -size 37223 +oid sha256:70b295d68841ea3c484b348473a50eb2b2421dcec556a45325ea1b0a3d077e4e +size 37042 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 0447f40ba2..646cb45b48 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:de22224d213f6399bf3e811322d7bcbb5eb8aef57db08b3b048b567db49b23c4 -size 23885 +oid sha256:c847042a94da2a0cc3f0d6aba0140d9bd56ed8d4748385b2648f35738567ac22 +size 23877 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 674f354fbd..81f60aca41 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:a95faa7a1699adbfa186632e76375709fe7389e7cf441d73c87e4007d7070423 -size 17195 +oid sha256:d9c41cf85be13606688bd25e9b522ba47f5c014dfcbf567d2df25c24098ceca9 +size 17184 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_6_en.png index 7d7c9ed50c..8dca6b4cd2 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:929df44ba5fc300fa29d53c0f16b2eb9035f6bd9181a9bc0b5987bff175901ba -size 22550 +oid sha256:bab882bb88879f46f6d7dc9d5f488d3e1d9805fa6251b1a79e24563b787251c7 +size 22543 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_7_en.png index 7884604471..266e3482f7 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:217f29af62da2cf119eadc0a5e3fb0abccf936106fb6f7678decf13af86b6dd2 -size 35437 +oid sha256:0acd38e69927671b3b4d1c63de34b9764c29ac99220d7c2519244a3108f8de1b +size 35253 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 c2862ea220..4901179a11 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:6c724319145e4ce3d2222a3e5c0728aa52b7945ad1f2b902212fdabf5542539f -size 33548 +oid sha256:b5c00e506855d08de4a803e06fe52dd706e5780accb7e0f3702d7466224e033f +size 33397 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 12017470e0..9320cf5607 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:b160178e86dc05fb8ed2c39b65e894ce130186af1a9f784d8dfce2cbefc46b94 -size 34470 +oid sha256:762f4b470d14bc375b9536e1435dd9db486e2084f1570bd8cb70a10ce58c7f8a +size 34325 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_0_en.png index f844b0a796..46384c6b7a 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:185067af57a9855da358b70cdda39887345fe40bdd793536183f534798318180 -size 10693 +oid sha256:524d066be2eaebc46250236a68a9cf1ac5e48d40615b69497e61196e394de006 +size 10523 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 0c49362420..b33240758d 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:9e53e6e8cba19c5477bab4382159df0f6947ea04999d57e2722d5f14e370080d -size 35932 +oid sha256:f7242f50a654ae61d66d60d7ef78b0a6308988b4f1c88266ed53877d61afa887 +size 35765 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 03b5ed32c0..2d6b8c32d9 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:1b388d8c8e3a2b4b4d1d4aac5da7bf23b1f94a7ea58deb0850b10c2bccfe11aa -size 26652 +oid sha256:0245baf0dfd48495ab500f1897f405f1827cdc18eb3dc02b1516282f5e94c212 +size 26494 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 0c49362420..b33240758d 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:9e53e6e8cba19c5477bab4382159df0f6947ea04999d57e2722d5f14e370080d -size 35932 +oid sha256:f7242f50a654ae61d66d60d7ef78b0a6308988b4f1c88266ed53877d61afa887 +size 35765 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 f49d3fbc02..6c3f089142 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:965592b3ffcca5ad0f26c5d1091667586404ead863a342486d8eec758b56fda2 -size 21910 +oid sha256:eccb1d67beb4f49b719b51b5005221a740f1581d57ac37c19155689fdd3be1fe +size 21810 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 e367803f60..b25f7270f9 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:7ac1998c5803c9a88013871354e1840e1004cc91ad96de443ffa9b78f6a92298 -size 15837 +oid sha256:87e527c6091f41f249888fc9b78ed819685ea7f0bebad2287b773e5794a455bb +size 15736 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_6_en.png index 2670b62a08..e6a39291eb 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b52a440ed2a15249a66c2aa5990194353bd14ecd6c2c12a226c9fd7caacec9f1 -size 20547 +oid sha256:862f8431de60fe679847ed42e7a58e51317c537e21a06faa091a96b14bee5534 +size 20446 diff --git a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_7_en.png index bdb8415bb0..ed8d136eef 100644 --- a/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.logout.impl_LogoutView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b240203b4d89ab63767d080a7aec05b8ac9a7feae396cb10a0eaa7c5340223e -size 34121 +oid sha256:968f51a647d87ec67c75be0a3dc76cfe4bedcef65f0ce0a9077683405bb65162 +size 33955 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 fdca0df7fc..070eb44dfc 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:1186164d5ad6badf0427a9f5225074f8901b7e5d985f3aa220f13fdeab61bfa1 -size 32580 +oid sha256:75f0edd45ff6208829fb93452518a7eac4d371bf5cfb3c1a01a405f0de535407 +size 32421 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 268495d87a..218e8394aa 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:9d4efdc68ec5dd1acee35e387cfb5542068724722054aabdcd58a04beb0d8de0 -size 33504 +oid sha256:340ec2076e4924b111df622bce11aba94434a3ed07b3437bd28649d513634624 +size 33353 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 a55d34101a..89bbbe7c2a 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:3dd63af2571aa2a5b20cb5dd5211cf1943e7c4c16bc81dc0225e8636c56dd847 -size 56929 +oid sha256:2a48e666ed705b5c873e423e2555c96a7549bbc25dfd5499ba77feb2cc403784 +size 56615 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 0d4d2cbe86..0f8da5dc68 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:8d336b9bf1cd8a18df8436fc7c537d8b20d8185b5c5c9cd6e4c393b99e0fae9d -size 55135 +oid sha256:7338522b75d002cd88b31cbdf245a2143b28862ca2b5fa0f82d9df1c66de5d04 +size 54719 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 df888e33b3..ddb66a771b 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:0ca883e1360eafb8bef1523eb87cd0a5756085f323c55f991a01e8a15475bd43 -size 55458 +oid sha256:708d72610cdddcd525ae27dd695d6cecfd2227e6b6b9dd4d5398befc1a414693 +size 55118 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 844c3bf3c0..94ca63b15e 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:a04aec46babf690c76549b89fc733dbef3f308074dd59354a03e66399bf02473 -size 53342 +oid sha256:4936ee16763c77f1c76a85ad2cf137cf92a3547c0e4d2b64158244e9d0edbe58 +size 52900 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en.png index e74640592c..95af94340a 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:54a495cd353317e667d667d3f98c4b844568b0375d83b7cb4091bafd30dec194 -size 31738 +oid sha256:a6cac5cee10ab9ded373ed8275880534fbfa3f88c7f9219278b3805f30afb766 +size 30876 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en.png index d689a95fc8..3ceac1e1c5 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:97ae5c5a01f94e35d2d05d3b1a6f3be992fcf49f9674bdf913753c5430d3e0bf -size 30749 +oid sha256:e1bdd621283aa96a109b0f391874c2a2bc4d187db5ec408ab2d38f2d14f54eed +size 29870 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en.png index f5c1ce0c68..3a77b883b0 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5dc702eabd0fb57a87e0295b286eefced36a356e7965cc2b8f14dcc7ece7be06 -size 55562 +oid sha256:a6fc66d1964b323e7a4215b3127fb5812545116b24c668da7b18e716438b5449 +size 55377 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en.png index 4fab73bd90..dc9ccfe88f 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:346c998c20e7e1dffa10bbef3839ed2e2fce1d2cc860a87454789d5bbc540d3b -size 42041 +oid sha256:5d94b5d9a083d20ddf3d67679fe903234adbf2529aed1d7474c58b22e5bf3d5a +size 42030 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 af6cdcbb37..8ab7b82f80 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:78029526d34e608113c8dd71df921023fe5db5eba2ef6e464ec032cb84ee8472 -size 56141 +oid sha256:9a9646499a3ae2203a941d1b975157820bb96b80bb3107c223e1e4c1b1ceea3f +size 55957 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en.png index 0eeed2622c..03b063f06f 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f4b4f82e3ef7707fc9b9f7c36079fafccceb774339b37e314c960ba4e523f98a -size 27240 +oid sha256:8abb26ff01db7ab458d77f8279f6edf213f6abb9fe0697e7c1984eb3b8602193 +size 27231 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en.png index aca35826c5..f25d6a3c40 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b8feca337c9d9a4ab2c1e4d3b14fa23550f592ba1fcb3f3bd39fc64c523b81c -size 54289 +oid sha256:32cdf16ec3d642b0734b8e7829f6733d3c420a4a5d0e86ce78373eac7262af03 +size 54102 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en.png index 22cc545eba..b2df4882f4 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd5092baf19a2cca8873a721dabce17629aa0a4a8400c2c1b4a9f346948d8b04 -size 39210 +oid sha256:b7a7875fa017a8fa65ec7e9509bbddba823ef76fb4c42e023a39e4fe1e1d3b63 +size 39056 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 13ccf99c50..033f906cdc 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:815201e519d1a6ebacefaff2d90943f0694f449497af6cffdacad3147471c3fd -size 54867 +oid sha256:56d99be26704d77d3eca53fda5a74a41e6d69232d73722dd8b6b30d20afee6e6 +size 54676 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en.png index 27855c038a..9b9f2b5366 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ce20c940a961e14f688e9d8f1bcb2a38e000435a8b75620d45172d840350e0c -size 24903 +oid sha256:eb4fd397600880c37e0fa67cacb29e04e4026a239187d6c211509c0084b41103 +size 24750 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en.png index 1bb1a84f77..deeffba555 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4761b45d020bb50b5ab933c196cb69fda1bf903979ac338711de4ff666d76b1f -size 12880 +oid sha256:94acaee1daea87be3ccbbc7372a5473c1554c364323fe487fc8a92a8d5118d22 +size 12697 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 498b6b79d9..c1a7cc6009 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:4d31d7aa82a13f770d8309915514491797c4dc54d1c1c2d16a72aaffeb31836a -size 13451 +oid sha256:3c39f29b5435dfd402a046617032f35fd3e8c7ce13337755c67f55b548e19ae8 +size 13270 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en.png index 27cc8a7f70..8b21b5dae6 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:299855e9e49f0672e3395b2b1d9f8f7980bf835a3bb94d106f619b781c170d2d -size 18235 +oid sha256:aec83feacbffef1df6fb3bf3bcf6c937fc95c9e1f8974fdf193868b6fbc4d464 +size 18222 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en.png index 775ae5f229..43f170fa9f 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5337bccfcfe9bd4543a42f6d054a9feae8f04310e7c83ec3de0eebc921e37ace -size 12399 +oid sha256:14f1c3d40841097e78385edeb78fba3942545bb52fba33aeac4d5290f636ac05 +size 12229 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 5164378689..6b8418834f 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:f022c0491eb219741eeb25f69571cbfc7e34b22d898b9a57d62cf1e7c5bfd0e8 -size 12945 +oid sha256:57e525f8aefe4fa6aba18f46cf67e5ce2c46963ec0820e9f9d575be605b7c95f +size 12771 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en.png index 0aa5d48a39..fcac8ce953 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:36e68a45f52a71a3923ebd3a4d1dc06fb842687b38a7b2d496ecd05d220f6951 -size 16547 +oid sha256:c750e2f4038d335de92f98dcdaf4f7a7ca1425ea27266c2fa7867392d9dc9218 +size 16449 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en.png index 39093989c8..71f1c06f51 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c043c36734aaf81b2eebeb1ceb7b725c874a4ba4145f2c4155103e5e6e9527d -size 31195 +oid sha256:31f2c1ef58dfc4c920ac8d61a8dd2958ff82cf9f91debfd46bfada6deb18cfe9 +size 31018 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 e77feafcdd..b1dec49d67 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:86730b79f51a0851fed965bbd51227fc6580c3e5f348c553cff02c68a459f9f0 -size 42736 +oid sha256:b5cd4599e7d0273342e3516186c64c37c226a9d44c7118c531180cc6d046ff73 +size 42566 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 3c1aef39db..0f0e6c24e4 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:6c5a57c1ed350098f26a241b89fe09cddc38b781060e5decefeea0ab04881e33 -size 41139 +oid sha256:c8cfb86d41e722a2763d5057a61420523616a8079e1eff2fe4f42bd8e1a39926 +size 40970 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en.png index 1f86bb2be3..90c80083bc 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:49f3902dbf6a146506166469ae727bc2925af6e19f1a9a6d65bf029467685f3d -size 37444 +oid sha256:030e9ba7d127d48ff3f8c88a1cdac4aec19cc802f18fa0c5e732f20e9833c14e +size 37433 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en.png index f7ce545593..be95e6c6f5 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:73d75d63e2d9efa49cf8dbead654cda6c462a020d79925e02b5e9faa252747fe -size 30325 +oid sha256:a1524460802a0c67be437c959180cc4a1c4d62f41740ce17585eceaf885aa537 +size 30156 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 5db21550bd..53cdc5766f 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:db196b0d5762a636508553f4a390f46d39e8df0e53c5c5804caeaa7144e651c9 -size 41484 +oid sha256:a92bbc948b7897351853648815f4120997bd1e8a7fd8ed1b3382aaebbb3046f6 +size 41321 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 d1dd925b45..a6a35cde79 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:05302981d925b394d78802e110ea8cc652b464d7813b0e86789b3a82ad973e33 -size 40517 +oid sha256:012d2c461808280c0de92babf28b12b2183e9e1a082b66f1c1bf4f3abfc55ded +size 40352 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en.png index 8276038bda..e55d6604d5 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:704f7d76ec2617a7cacecd5d6b3379f856c9e0d65cc8d328e9845435e3b5329c -size 34787 +oid sha256:9d088e7919f0cdfef4f6ea3dbac0dec13f81d991c4d2a479c57856283e94a81d +size 34676 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 268b126c3b..3bd23182aa 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:842a7b0d2129dbd4def64b03027c7b8c62ebbf1a84f3bd4ce2a03952ff2f0dd4 -size 28048 +oid sha256:ee82b280a52f787856523288343f68a29180ed4c98bcf7aa96092c1263c5d278 +size 27767 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 4a8960d36d..edd8b0cd4a 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:89161cecf041cfaa46d2dce70eb40c03c117fa85d4826565466dcbf5353b3236 -size 27124 +oid sha256:dac05c4536e94b1e92b86f1e87a02231116327fa174f592359470badf8492b4d +size 27128 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 4a8960d36d..edd8b0cd4a 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:89161cecf041cfaa46d2dce70eb40c03c117fa85d4826565466dcbf5353b3236 -size 27124 +oid sha256:dac05c4536e94b1e92b86f1e87a02231116327fa174f592359470badf8492b4d +size 27128 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 7c67950792..4d3e4f163e 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:37030eeeb29874df284cad00fb421fe47dedcc54809c5bb2b3745c9e8c4a309e -size 39482 +oid sha256:db80e3f9d7ba7602be4d81a3b1650ea3a87fabe0cc8790c6eeb48e58a0368e62 +size 39173 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 b03c81b789..77eb724c82 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:6b90f14008d52b7b182277478d3db855baca96dde041bc628c5737a3419832f0 -size 27173 +oid sha256:b70eb163266038ff41c6ea11b6e4bc2efac00f49c3d61947593c0252528c3720 +size 26891 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 f2e37847e3..e96a5e2501 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:32b143b270473ed783c7bb14851de49d9a0231df07ea12cdccff6e67c33f5a16 -size 25291 +oid sha256:0b72f44ab61d9be69e89c53ffe2aa6a9083884d04745fb07cadaa061a9eebcb0 +size 25170 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 f2e37847e3..e96a5e2501 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:32b143b270473ed783c7bb14851de49d9a0231df07ea12cdccff6e67c33f5a16 -size 25291 +oid sha256:0b72f44ab61d9be69e89c53ffe2aa6a9083884d04745fb07cadaa061a9eebcb0 +size 25170 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 4a1a16d58b..3237de9395 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:5d7c8c67552f20fe687207a9ac0191d75129ea6e93d6f91d37fb1eb68768622f -size 37918 +oid sha256:6e5aca1ae42fafb0b87e5c51f71ac5e97124f03517515f598bdf80423745655e +size 37633 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 a470ea262b..eeae707640 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:578078d492d56feb0c1079e0918b1cd9c1537c96122154fbf8b42c3508967760 -size 47055 +oid sha256:939f2bbd4b8be1d3bf14bc5294ef31da7bec918e02676f829b9ba9ecc4346c61 +size 46891 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 7dc294b707..0a4c7588a1 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:5dada350cd2a42b2bb2d932ed022b449ea82c4e0c571f9312d4d67e969d2c8fc -size 44870 +oid sha256:5b1be8c9342910b83a200e9bbb5707ef0c1b167f1499eb50d455761dbad7f1c2 +size 44706 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 f91018dc04..afaef5b95c 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:23045a661504f02da16c37f2742bd2856010340f0d39a611f218401beb74a296 -size 49679 +oid sha256:3e7dd01afbf1d7f08148773d92185f265adff13800e0d52faf77ff84861c2728 +size 49516 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 f91018dc04..afaef5b95c 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:23045a661504f02da16c37f2742bd2856010340f0d39a611f218401beb74a296 -size 49679 +oid sha256:3e7dd01afbf1d7f08148773d92185f265adff13800e0d52faf77ff84861c2728 +size 49516 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 f13629bf57..aef3f418f7 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:ef5ed0ebf3a1f7d6540e9f5783a282f2e17090b4945ec1e39ff143ea4ff55c6d -size 46897 +oid sha256:939377441cdc93b9b9631d9fa7eb6b56c5a6ffb63283865998ef049bcea987bf +size 46890 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 26b2c3436d..d228caa844 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:34332764576b9358877f2379eea9e19ee8ffb6dc22330b5d8957fe4605710b45 -size 45835 +oid sha256:0bafa7eae7481bf5bd4ecc4253a154735d4de80ea3d203860ee1d4518f7e68ae +size 45684 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 f19d40a6c1..4bd7e4b362 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:a118bbd14f2e7db5e34af54d9709c8eb1399c236ee370d125eba175de77703b7 -size 43596 +oid sha256:97b7d3307f62869cf8fdf08f01bc09b23a84e14c81c263529afa73833e2287de +size 43444 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 56833c6f27..660257fafc 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:4e1580176100757f34487458850c13d5673d6eb3cb4b8a01f9734ed577ab744a -size 48156 +oid sha256:edbcd2b8ffacda8ddd5e583f1e203f43f7123e36829f4196f9e7a88fd974086c +size 48005 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 56833c6f27..660257fafc 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:4e1580176100757f34487458850c13d5673d6eb3cb4b8a01f9734ed577ab744a -size 48156 +oid sha256:edbcd2b8ffacda8ddd5e583f1e203f43f7123e36829f4196f9e7a88fd974086c +size 48005 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 efa5357b29..34f0edc309 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:5a4c58e679cc61581c743e4edf8cb89ae6bb7eb4bc66bffcca468ac8890a7df2 -size 44006 +oid sha256:3528219891548ab39757986f156aa5df5fa076c7a3c3a1e4197b83340f54bc59 +size 43915 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 f441302fca..dbed957d5f 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:f1be75c7d29e39bd1a0a925f9cd8f7ef7ee1f42f23b4246d0700b255e4765362 -size 48399 +oid sha256:b427efc6e08375286d96072d2d46e457a480ce5073d85d9bf5f42d7c4ccf72ac +size 48234 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 f52f408849..2fbb331aac 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:cf56492cd22e69b1b9b8f8703a102fe5ca81b80b9272dab0d82a6fb6c91c6c2e -size 46394 +oid sha256:300683270755e352faddcad7cc4ec7fb3af4b342a5719e1ab473a7b522d3b523 +size 46228 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 f91018dc04..afaef5b95c 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:23045a661504f02da16c37f2742bd2856010340f0d39a611f218401beb74a296 -size 49679 +oid sha256:3e7dd01afbf1d7f08148773d92185f265adff13800e0d52faf77ff84861c2728 +size 49516 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 f91018dc04..afaef5b95c 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:23045a661504f02da16c37f2742bd2856010340f0d39a611f218401beb74a296 -size 49679 +oid sha256:3e7dd01afbf1d7f08148773d92185f265adff13800e0d52faf77ff84861c2728 +size 49516 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 f13629bf57..aef3f418f7 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:ef5ed0ebf3a1f7d6540e9f5783a282f2e17090b4945ec1e39ff143ea4ff55c6d -size 46897 +oid sha256:939377441cdc93b9b9631d9fa7eb6b56c5a6ffb63283865998ef049bcea987bf +size 46890 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 126dd1b21a..e4da2b07a7 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:009aa982be71d1fd86cfb81f156859ee07ad5239d800bb9d36c75205c77e38fc -size 47061 +oid sha256:84689d27f8fda40b668fc95a68966f1e39fb73cd2da14b09cb9900c88c07008f +size 46922 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 5115803b22..c24349984a 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:fb72ef3faa8525c79f30919cdf4cc387f1fcc21e1f29efb9644333059926be3d -size 45045 +oid sha256:42e07c5000f0b6ce7baa35807504fcf6edbceff179a349a142c337dae822a9a8 +size 44906 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 56833c6f27..660257fafc 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:4e1580176100757f34487458850c13d5673d6eb3cb4b8a01f9734ed577ab744a -size 48156 +oid sha256:edbcd2b8ffacda8ddd5e583f1e203f43f7123e36829f4196f9e7a88fd974086c +size 48005 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 56833c6f27..660257fafc 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:4e1580176100757f34487458850c13d5673d6eb3cb4b8a01f9734ed577ab744a -size 48156 +oid sha256:edbcd2b8ffacda8ddd5e583f1e203f43f7123e36829f4196f9e7a88fd974086c +size 48005 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 efa5357b29..34f0edc309 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:5a4c58e679cc61581c743e4edf8cb89ae6bb7eb4bc66bffcca468ac8890a7df2 -size 44006 +oid sha256:3528219891548ab39757986f156aa5df5fa076c7a3c3a1e4197b83340f54bc59 +size 43915 diff --git a/tests/uitests/src/test/snapshots/images/features.signedout.impl_SignedOutView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.signedout.impl_SignedOutView_Day_0_en.png index ca3fee8fd8..b3a509cf49 100644 --- a/tests/uitests/src/test/snapshots/images/features.signedout.impl_SignedOutView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.signedout.impl_SignedOutView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ae39d4edaee216d536f707d59b29e5ae4a948d43a5c005294ac7bb4a8a215204 -size 56400 +oid sha256:c73527dbc8004c993d288447cd1596e26b0093536270b101fffb794a3233fc9b +size 56216 diff --git a/tests/uitests/src/test/snapshots/images/features.signedout.impl_SignedOutView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.signedout.impl_SignedOutView_Night_0_en.png index f55136d64b..af708a40a7 100644 --- a/tests/uitests/src/test/snapshots/images/features.signedout.impl_SignedOutView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.signedout.impl_SignedOutView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e7b7ea19b7bfb09a4619c81a9fcb5593c0b3dabb99267f512cf90680213f7371 -size 55489 +oid sha256:f86c6e2e9052d4124b339b1b569f1d359e3c3f7b37269f90cf672a4898573368 +size 55125 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 1f400226c9..b8a509c4ac 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:ea4aeceb9e0d72642c9be0d8dd1abc7a3b82bd05ce05a07aa95bec4e0b2a9df0 -size 34612 +oid sha256:4945b44bec1854dd46110f4b5763c76bd194c37291c16a56f3c6781459c41f66 +size 34319 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 cb409b37ee..538c7a315c 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:4a6896e2fc99b34d37dbc7494c21990d31aa6fb99500d61764b7d04afcffca74 -size 33690 +oid sha256:ae818c5880f0dcd878be8f7a6b231754175e765a40d3b29152f86e2a669294b3 +size 33692 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 0ea2f9a63b..130cc1d84a 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:9b91a9514f31deb0d42c19c2b70836668c9fe9cb067412e5d6d751baab32611d -size 23007 +oid sha256:2cc647747c41f4c2cf96a3425e8b279b39fd4e09e1441e5b5afcd260f79afaa1 +size 22714 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 7e1078a125..3161e69ab7 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:936c5ada17a342e22e977ed0f3ffc157b79ab372b15da76831eafecad9ca41e5 -size 46616 +oid sha256:c238637a0a3107cfcd98230ac52fad7779d8c260b0b97bf30d231cd5493a944a +size 46453 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 452b2bcea8..858308ce9a 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:d3de8b0e4c239c35690f9e037ece5d4a9e857c0f4d8737f6aa3feb6ce3d9f71e -size 48228 +oid sha256:b4ad563a92ae27cd0a1bb939409bcff556d6ba36d2cfe6ab4034740a5fdfff93 +size 48092 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_5_en.png index 23d799ffb3..1227b0b07c 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:383aea7755435ada34b9545b5bc828b14722986dd9c88950a424f235456d0a9a -size 19443 +oid sha256:0cc2e51b4c09de738bc8380977541b9af379f0e21e06c4f1dd923fd36382e6bd +size 19247 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_6_en.png index eabe3b4607..7e3f0d4fb7 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3a41ebe9779af502c23395c517ab5179521c8fdd83e791abf1650d4fb631712f -size 31689 +oid sha256:a25f85925a38d02a65af4fb342949e9545d3e5e19012885f2c3aee4caa8b8f7d +size 31535 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 1f400226c9..b8a509c4ac 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:ea4aeceb9e0d72642c9be0d8dd1abc7a3b82bd05ce05a07aa95bec4e0b2a9df0 -size 34612 +oid sha256:4945b44bec1854dd46110f4b5763c76bd194c37291c16a56f3c6781459c41f66 +size 34319 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 1adae97357..d69f43432c 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:84627a80338301f58e1fc877a587ff602c86dff848684d9ba56a49dde4bf2d9d -size 29801 +oid sha256:a6c4f45cf28006db62e03512ecf936439c109d5aad556f8e57d9fdda1c11158b +size 29507 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 8ef345dda6..673f2c3900 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:70adb44af338740cbc2f2297ca172d35563133d163bcfafbfe09295a4aa644c8 -size 33568 +oid sha256:1ea8c46e3f364d562680ad78ac20e0f2f143ad6663d6996c4a68888c927ebcef +size 33275 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 349bd5a1dd..64da5c6715 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:2cb5f4af03cdab9e432b790c8f5346358659d7338f1aecc6449f816b765d3b36 -size 32191 +oid sha256:69f8bbc627a85c5bb4f385f54345a7b9bec8d4f8cae4174c337ec3e6600bbf64 +size 32074 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 d8573d045d..7e3a113610 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:f5885d72521713f5b2973abaa7e0cf2e0e553b636e6a99d432b42f011d162d9b -size 22425 +oid sha256:786a63d0d824657270b44428a1a251d0d521e6a97a4239516ae5f2eff06fdc3b +size 22125 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 b223144fca..21dbb7d45d 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:85437a9db8558b901075158d4e48e96a18bae583c86d8558286075721be2c688 -size 45719 +oid sha256:fc4cbb2bea7749bda9f6c5647ff178717711bad5b1ee25621155bccb1e5f2328 +size 45528 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 1a69005ebd..911e097c33 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:9c726cc9658a6fc72ca4b3733f0e9eb896458e301799047da1fa4ed3438d8091 -size 47362 +oid sha256:46a8d95458d18e547c82970f19f369823714712fe6b1424c9f4ca39c6169662c +size 47176 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_5_en.png index b074a712e6..0a3366f74a 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4e05f41a2e7e5e63f0c0a733a1ab13462c65a59f6eb4d830972662e3fd91c43c -size 18898 +oid sha256:68af84c43882c7512d1bb162820f9bbe23c80a3e6d11bc964c945b27dfe25688 +size 18699 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_6_en.png index ea1b67bb7d..9768e763ee 100644 --- a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3abc9776ea107e36884318cea7c98d5195e41b650282d4d8aaef750fe6e027f3 -size 30944 +oid sha256:9ff1487c8c63a476a570d271f7a0b00c8990e1f90d49a2cae5056a9cc7e51e0e +size 30765 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 8ef345dda6..673f2c3900 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:70adb44af338740cbc2f2297ca172d35563133d163bcfafbfe09295a4aa644c8 -size 33568 +oid sha256:1ea8c46e3f364d562680ad78ac20e0f2f143ad6663d6996c4a68888c927ebcef +size 33275 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 c576a7f580..f3174f0bb9 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:65709ff3ec7a5a495370dfc58cdec1898d07e0f6eea8b41caa1ae40579fce817 -size 28896 +oid sha256:965ae432e1a931f5e93311415a7cbd9103aa763326ad8ad4811a9aa28ce08e9e +size 28612 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_RoundedIconAtom_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_RoundedIconAtom_Day_0_en.png index 982f061786..46213fb6b5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_RoundedIconAtom_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_RoundedIconAtom_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be567a066e0a7006e82cf1280e4a5c7a83fea7565615d46d906e6421028271e9 -size 5518 +oid sha256:67ff7c9588cc49baa0ffeb2620ac5c5b430db14b9f141cb91464c07d469e36f7 +size 4989 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_RoundedIconAtom_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_RoundedIconAtom_Night_0_en.png index a0c5717c4e..6f3db77354 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_RoundedIconAtom_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_RoundedIconAtom_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5e193cc3bd37e5f35ed7c69ca2b6edb17e35e9a308e5795b52ca3fc7b31b1dd3 -size 5646 +oid sha256:3c8fec3cfb705c222d102f241653bf6b2f8727946bce1595dc2aa7ac97473e9a +size 5107 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 deleted file mode 100644 index d80a3c8476..0000000000 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Day_0_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -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 deleted file mode 100644 index 4bed98b6f6..0000000000 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Night_0_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -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 6c74251107..dcf1fee93e 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:9587bbdc45527c0aa134fae9b60a4f37817b06319d9990cae0ce79afd116247d -size 8861 +oid sha256:9a294fb3b53fe70fcb467e4fce0eca65cac7f4cd5d4d2b716a29640657a742fb +size 8012 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 f5221eebf9..db61fa9c4f 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:6c1b917835ae2a976b0957cd7fada3ab28ae58c97e7071c50d98b9f60ae92074 -size 8840 +oid sha256:9b4046958f40f92f1f98feeb638cec8d13f0c3cc1378c6983ae982a15a404845 +size 7957 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 e769b26dad..da19681c0e 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:185025d6aea05c567895476551c4c28b58c2ecc2187b421a62cc27aadf2ad71b -size 15675 +oid sha256:273c0d2074133acfe00f08a5a9ac4ebfc9c0303fc482508b79884f8875d88415 +size 15516 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 648d234235..c18a0244ab 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:f4212bd79e7ad47b796e56a2cd7eb06f5eaa609336117c39109d30df0726f5b4 -size 15281 +oid sha256:2a284db87dc2404a8f2d99d829b9cd9882eb46a2ec49e3d26a9323355279d96c +size 15100 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigIcon_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigIcon_Day_0_en.png index 6adffcb69a..261e330a8f 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigIcon_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigIcon_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d3b5c90ec90bbbf92373e3e2a08ca245445b58174b3b969cdce574754ddb788 -size 10941 +oid sha256:ee6ae9f6af47e39480ec9e78d37da7d2f7174cba71c5274bb6314a2dc346b1ab +size 10691 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigIcon_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigIcon_Night_0_en.png index 20ba73ce16..c057b5283e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigIcon_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_BigIcon_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:98ea31da069159be8e5b89264b5ef7278ea5e618d56b2eeb709c965bc9e00c9c -size 10883 +oid sha256:e0ee879f0cb6b6d42aa0706c1d2ce763211d95768e0111f03e79eaa923515534 +size 10615 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconFull_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconFull_Day_0_en.png index 924daa37f2..9e29a276b3 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconFull_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconFull_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f05ffd79206c381371a73e7c2f91869505360e774f7435707f0a39c7cbdac77e -size 13554 +oid sha256:9ea4fd71bc94982578bc061607066dfd3efe55aeccbec69b6826fd345113f95e +size 13296 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconFull_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconFull_Night_0_en.png index 47816496a2..a544956d4f 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconFull_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconFull_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b9a9ac48d15485c34cee05a561bd8d05cb0552e98ce6d31b442f75eb14e7d66 -size 13493 +oid sha256:46639efc4726cfb78ba5955c7c56619ce06342ef222c4c06eb8829c22d90e6f7 +size 13200 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconMinimal_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconMinimal_Day_0_en.png index d3faa1c081..db9da7ae83 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconMinimal_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconMinimal_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c7db2c9ee05dc0ed939ac8095cf35e34ff337b7185190581b3a1747e55a8a017 -size 7805 +oid sha256:1c6bee86d5d0d45869a3c0737a74c03e82803f45c5e1604295c84d2cfe0b3ccf +size 7507 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconMinimal_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconMinimal_Night_0_en.png index 8c59b27d9e..dd637dbe45 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconMinimal_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_PageTitleWithIconMinimal_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2534941b4d959a20eadfa919b2a17676266c01185bc81e77a71e1838337339d0 -size 7861 +oid sha256:8a90445d97819e255969aa9bf071321f4152f18875ba6cbd5e6b4532ca9c9f4c +size 7523 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme_ColorAliases_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme_ColorAliases_Day_0_en.png index c3482c02dc..cc6f5a43d0 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme_ColorAliases_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme_ColorAliases_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:374c201306ad4a292c1c2fbdc1aeb2d8cdaa1d42723d0474c41b96e66b1f8a80 -size 72160 +oid sha256:72289fdd1b1d31fa44ef90220be7196243e848edadf23544dc72aa70d212798f +size 66415 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme_ColorAliases_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme_ColorAliases_Night_0_en.png index 9e0ce52922..e85bdfdf43 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme_ColorAliases_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme_ColorAliases_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1bcf945fc10091573b3dcab6019ee13fa49ae5f01765972fa108342668cf179d -size 71734 +oid sha256:b8b117d33e87b6f1dfb545429f6949f5362c42be957bbae7e987db5202e1b2f2 +size 66324 From 200ae60a8bc82ab610120e1a2ca93901f7414619 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 16 Oct 2024 22:28:16 +0200 Subject: [PATCH 31/93] Verified user badge. Add disable action to verify user. --- .../userprofile/api/UserProfileState.kt | 1 + .../impl/root/UserProfilePresenter.kt | 8 ++++ .../impl/UserProfilePresenterTest.kt | 43 +++++++++++++------ .../shared/UserProfileHeaderSection.kt | 20 +++++++++ .../shared/UserProfileStateProvider.kt | 7 +-- .../userprofile/shared/UserProfileView.kt | 23 ++++++++-- .../userprofile/UserProfileViewTest.kt | 3 ++ .../api/encryption/EncryptionService.kt | 2 + .../impl/encryption/RustEncryptionService.kt | 15 ++++++- .../test/encryption/FakeEncryptionService.kt | 5 +++ 10 files changed, 107 insertions(+), 20 deletions(-) diff --git a/features/userprofile/api/src/main/kotlin/io/element/android/features/userprofile/api/UserProfileState.kt b/features/userprofile/api/src/main/kotlin/io/element/android/features/userprofile/api/UserProfileState.kt index 4bc3dc06d7..128ac5622c 100644 --- a/features/userprofile/api/src/main/kotlin/io/element/android/features/userprofile/api/UserProfileState.kt +++ b/features/userprofile/api/src/main/kotlin/io/element/android/features/userprofile/api/UserProfileState.kt @@ -16,6 +16,7 @@ data class UserProfileState( val userId: UserId, val userName: String?, val avatarUrl: String?, + val isVerified: AsyncData, val isBlocked: AsyncData, val startDmActionState: AsyncAction, val displayConfirmationDialog: ConfirmationDialog?, diff --git a/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/root/UserProfilePresenter.kt b/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/root/UserProfilePresenter.kt index e73eef6aa0..e0fba4ba48 100644 --- a/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/root/UserProfilePresenter.kt +++ b/features/userprofile/impl/src/main/kotlin/io/element/android/features/userprofile/impl/root/UserProfilePresenter.kt @@ -27,6 +27,7 @@ import io.element.android.features.userprofile.api.UserProfileState.Confirmation 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.runCatchingUpdatingState import io.element.android.libraries.core.bool.orFalse import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.core.RoomId @@ -75,6 +76,7 @@ class UserProfilePresenter @AssistedInject constructor( var userProfile by remember { mutableStateOf(null) } val startDmActionState: MutableState> = remember { mutableStateOf(AsyncAction.Uninitialized) } val isBlocked: MutableState> = remember { mutableStateOf(AsyncData.Uninitialized) } + val isVerified: MutableState> = remember { mutableStateOf(AsyncData.Uninitialized) } val dmRoomId by getDmRoomId() val canCall by getCanCall(dmRoomId) LaunchedEffect(Unit) { @@ -87,6 +89,11 @@ class UserProfilePresenter @AssistedInject constructor( LaunchedEffect(Unit) { userProfile = client.getProfile(userId).getOrNull() } + LaunchedEffect(Unit) { + suspend { + client.encryptionService().isUserVerified(userId).getOrThrow() + }.runCatchingUpdatingState(isVerified) + } fun handleEvents(event: UserProfileEvents) { when (event) { @@ -126,6 +133,7 @@ class UserProfilePresenter @AssistedInject constructor( userName = userProfile?.displayName, avatarUrl = userProfile?.avatarUrl, isBlocked = isBlocked.value, + isVerified = isVerified.value, startDmActionState = startDmActionState.value, displayConfirmationDialog = confirmationDialog, isCurrentUser = isCurrentUser, diff --git a/features/userprofile/impl/src/test/kotlin/io/element/android/features/userprofile/impl/UserProfilePresenterTest.kt b/features/userprofile/impl/src/test/kotlin/io/element/android/features/userprofile/impl/UserProfilePresenterTest.kt index 1da38187e1..e62555d58f 100644 --- a/features/userprofile/impl/src/test/kotlin/io/element/android/features/userprofile/impl/UserProfilePresenterTest.kt +++ b/features/userprofile/impl/src/test/kotlin/io/element/android/features/userprofile/impl/UserProfilePresenterTest.kt @@ -25,6 +25,7 @@ import io.element.android.libraries.matrix.test.A_THROWABLE 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.FakeMatrixClient +import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.matrix.ui.components.aMatrixUser import io.element.android.tests.testutils.WarmUpRule @@ -43,7 +44,7 @@ class UserProfilePresenterTest { @Test fun `present - returns the user profile data`() = runTest { val matrixUser = aMatrixUser(A_USER_ID.value, "Alice", "anAvatarUrl") - val client = FakeMatrixClient().apply { + val client = createFakeMatrixClient().apply { givenGetProfileResult(A_USER_ID, Result.success(matrixUser)) } val presenter = createUserProfilePresenter( @@ -55,6 +56,7 @@ class UserProfilePresenterTest { assertThat(initialState.userName).isEqualTo(matrixUser.displayName) assertThat(initialState.avatarUrl).isEqualTo(matrixUser.avatarUrl) assertThat(initialState.isBlocked).isEqualTo(AsyncData.Success(false)) + assertThat(initialState.isVerified.dataOrNull()).isFalse() assertThat(initialState.dmRoomId).isEqualTo(A_ROOM_ID) assertThat(initialState.canCall).isFalse() } @@ -108,7 +110,7 @@ class UserProfilePresenterTest { val room = FakeMatrixRoom( canUserJoinCallResult = { canUserJoinCallResult }, ) - val client = FakeMatrixClient().apply { + val client = createFakeMatrixClient().apply { if (canFindRoom) { givenGetRoomResult(A_ROOM_ID, room) } @@ -126,7 +128,7 @@ class UserProfilePresenterTest { @Test fun `present - returns empty data in case of failure`() = runTest { - val client = FakeMatrixClient().apply { + val client = createFakeMatrixClient().apply { givenGetProfileResult(A_USER_ID, Result.failure(AN_EXCEPTION)) } val presenter = createUserProfilePresenter( @@ -153,14 +155,12 @@ class UserProfilePresenterTest { dialogState.eventSink(UserProfileEvents.ClearConfirmationDialog) assertThat(awaitItem().displayConfirmationDialog).isNull() - - ensureAllEventsConsumed() } } @Test fun `present - BlockUser and UnblockUser without confirmation change the 'blocked' state`() = runTest { - val client = FakeMatrixClient() + val client = createFakeMatrixClient() val presenter = createUserProfilePresenter( client = client, userId = A_USER_ID @@ -181,7 +181,7 @@ class UserProfilePresenterTest { @Test fun `present - BlockUser with error`() = runTest { - val matrixClient = FakeMatrixClient() + val matrixClient = createFakeMatrixClient() matrixClient.givenIgnoreUserResult(Result.failure(A_THROWABLE)) val presenter = createUserProfilePresenter(client = matrixClient) presenter.test { @@ -198,7 +198,7 @@ class UserProfilePresenterTest { @Test fun `present - UnblockUser with error`() = runTest { - val matrixClient = FakeMatrixClient() + val matrixClient = createFakeMatrixClient() matrixClient.givenUnignoreUserResult(Result.failure(A_THROWABLE)) val presenter = createUserProfilePresenter(client = matrixClient) presenter.test { @@ -225,8 +225,6 @@ class UserProfilePresenterTest { dialogState.eventSink(UserProfileEvents.ClearConfirmationDialog) assertThat(awaitItem().displayConfirmationDialog).isNull() - - ensureAllEventsConsumed() } } @@ -262,13 +260,34 @@ class UserProfilePresenterTest { } } + @Test + fun `present - when user is verified, the value in the state is true`() = runTest { + val client = createFakeMatrixClient(isUserVerified = true) + val presenter = createUserProfilePresenter( + client = client, + ) + presenter.test { + assertThat(awaitItem().isVerified.isUninitialized()).isTrue() + assertThat(awaitItem().isVerified.isLoading()).isTrue() + assertThat(awaitItem().isVerified.dataOrNull()).isTrue() + } + } + private suspend fun ReceiveTurbine.awaitFirstItem(): T { - skipItems(1) + skipItems(2) return awaitItem() } + private fun createFakeMatrixClient( + isUserVerified: Boolean = false, + ) = FakeMatrixClient( + encryptionService = FakeEncryptionService( + isUserVerifiedResult = { Result.success(isUserVerified) } + ), + ) + private fun createUserProfilePresenter( - client: MatrixClient = FakeMatrixClient(), + client: MatrixClient = createFakeMatrixClient(), userId: UserId = UserId("@alice:server.org"), startDMAction: StartDMAction = FakeStartDMAction() ): UserProfilePresenter { diff --git a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileHeaderSection.kt b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileHeaderSection.kt index abbb9ccdbe..51759d4ae4 100644 --- a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileHeaderSection.kt +++ b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileHeaderSection.kt @@ -18,9 +18,14 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clipToBounds +import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme +import io.element.android.compound.tokens.generated.CompoundIcons +import io.element.android.libraries.architecture.AsyncData +import io.element.android.libraries.designsystem.atomic.atoms.MatrixBadgeAtom +import io.element.android.libraries.designsystem.atomic.molecules.MatrixBadgeRowMolecule 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 @@ -30,12 +35,15 @@ import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.testtags.TestTags import io.element.android.libraries.testtags.testTag +import io.element.android.libraries.ui.strings.CommonStrings +import kotlinx.collections.immutable.toImmutableList @Composable fun UserProfileHeaderSection( avatarUrl: String?, userId: UserId, userName: String?, + isUserVerified: AsyncData, openAvatarPreview: (url: String) -> Unit, modifier: Modifier = Modifier ) { @@ -67,6 +75,17 @@ fun UserProfileHeaderSection( color = MaterialTheme.colorScheme.secondary, textAlign = TextAlign.Center, ) + if (isUserVerified.dataOrNull() == true) { + MatrixBadgeRowMolecule( + data = listOf( + MatrixBadgeAtom.MatrixBadgeData( + text = stringResource(CommonStrings.common_verified), + icon = CompoundIcons.Verified(), + type = MatrixBadgeAtom.Type.Positive, + ) + ).toImmutableList(), + ) + } Spacer(Modifier.height(40.dp)) } } @@ -78,6 +97,7 @@ internal fun UserProfileHeaderSectionPreview() = ElementPreview { avatarUrl = null, userId = UserId("@alice:example.com"), userName = "Alice", + isUserVerified = AsyncData.Success(true), openAvatarPreview = {}, ) } diff --git a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileStateProvider.kt b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileStateProvider.kt index 9fa1eca2dc..e143a4b5f4 100644 --- a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileStateProvider.kt +++ b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileStateProvider.kt @@ -20,13 +20,12 @@ open class UserProfileStateProvider : PreviewParameterProvider get() = sequenceOf( aUserProfileState(), aUserProfileState(userName = null), - aUserProfileState(isBlocked = AsyncData.Success(true)), + aUserProfileState(isBlocked = AsyncData.Success(true), isVerified = AsyncData.Success(true)), aUserProfileState(displayConfirmationDialog = UserProfileState.ConfirmationDialog.Block), aUserProfileState(displayConfirmationDialog = UserProfileState.ConfirmationDialog.Unblock), - aUserProfileState(isBlocked = AsyncData.Loading(true)), + aUserProfileState(isBlocked = AsyncData.Loading(true), isVerified = AsyncData.Loading()), aUserProfileState(startDmActionState = AsyncAction.Loading), aUserProfileState(canCall = true), - aUserProfileState(dmRoomId = null), // Add other states here ) } @@ -36,6 +35,7 @@ fun aUserProfileState( userName: String? = "Daniel", avatarUrl: String? = null, isBlocked: AsyncData = AsyncData.Success(false), + isVerified: AsyncData = AsyncData.Success(false), startDmActionState: AsyncAction = AsyncAction.Uninitialized, displayConfirmationDialog: UserProfileState.ConfirmationDialog? = null, isCurrentUser: Boolean = false, @@ -47,6 +47,7 @@ fun aUserProfileState( userName = userName, avatarUrl = avatarUrl, isBlocked = isBlocked, + isVerified = isVerified, startDmActionState = startDmActionState, displayConfirmationDialog = displayConfirmationDialog, isCurrentUser = isCurrentUser, diff --git a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt index 12aafb2731..c87b443d4a 100644 --- a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt +++ b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt @@ -21,6 +21,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp +import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.features.userprofile.api.UserProfileEvents import io.element.android.features.userprofile.api.UserProfileState import io.element.android.features.userprofile.shared.blockuser.BlockUserDialogs @@ -28,9 +29,13 @@ import io.element.android.features.userprofile.shared.blockuser.BlockUserSection import io.element.android.libraries.designsystem.components.async.AsyncActionView import io.element.android.libraries.designsystem.components.async.AsyncActionViewDefaults import io.element.android.libraries.designsystem.components.button.BackButton +import io.element.android.libraries.designsystem.components.list.ListItemContent import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.designsystem.theme.components.IconSource +import io.element.android.libraries.designsystem.theme.components.ListItem import io.element.android.libraries.designsystem.theme.components.Scaffold +import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.ui.strings.CommonStrings @@ -63,11 +68,11 @@ fun UserProfileView( avatarUrl = state.avatarUrl, userId = state.userId, userName = state.userName, + isUserVerified = state.isVerified, openAvatarPreview = { avatarUrl -> openAvatarPreview(state.userName ?: state.userId.value, avatarUrl) }, ) - UserProfileMainActionsSection( isCurrentUser = state.isCurrentUser, canCall = state.canCall, @@ -75,10 +80,9 @@ fun UserProfileView( onStartDM = { state.eventSink(UserProfileEvents.StartDM) }, onCall = { state.dmRoomId?.let { onStartCall(it) } } ) - Spacer(modifier = Modifier.height(26.dp)) - if (!state.isCurrentUser) { + VerifyUserSection(state) BlockUserSection(state) BlockUserDialogs(state) } @@ -98,6 +102,19 @@ fun UserProfileView( } } +@Composable +private fun VerifyUserSection(state: UserProfileState) { + if (state.isVerified.dataOrNull() == false) { + ListItem( + headlineContent = { Text(stringResource(R.string.screen_room_member_details_verify_button_title, state.userName ?: state.userId)) }, + supportingContent = { Text(stringResource(R.string.screen_room_member_details_verify_button_subtitle)) }, + leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Lock())), + enabled = false, + onClick = { }, + ) + } +} + @PreviewsDayNight @Composable internal fun UserProfileViewPreview( diff --git a/features/userprofile/shared/src/test/kotlin/io/element/android/features/userprofile/UserProfileViewTest.kt b/features/userprofile/shared/src/test/kotlin/io/element/android/features/userprofile/UserProfileViewTest.kt index 38ebfc7960..6624fb4eba 100644 --- a/features/userprofile/shared/src/test/kotlin/io/element/android/features/userprofile/UserProfileViewTest.kt +++ b/features/userprofile/shared/src/test/kotlin/io/element/android/features/userprofile/UserProfileViewTest.kt @@ -40,6 +40,7 @@ import org.junit.Rule import org.junit.Test import org.junit.rules.TestRule import org.junit.runner.RunWith +import org.robolectric.annotation.Config @RunWith(AndroidJUnit4::class) class UserProfileViewTest { @@ -123,6 +124,7 @@ class UserProfileViewTest { } } + @Config(qualifiers = "h1024dp") @Test fun `on Block user clicked - a BlockUser event is emitted with needsConfirmation`() = runTest { val eventsRecorder = EventsRecorder() @@ -161,6 +163,7 @@ class UserProfileViewTest { eventsRecorder.assertSingle(UserProfileEvents.ClearConfirmationDialog) } + @Config(qualifiers = "h1024dp") @Test fun `on Unblock user clicked - an UnblockUser event is emitted with needsConfirmation`() = runTest { val eventsRecorder = EventsRecorder() 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 0bfce8a8d2..b53debcdb2 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 @@ -60,6 +60,8 @@ interface EncryptionService { */ suspend fun startIdentityReset(): Result + suspend fun isUserVerified(userId: UserId): Result + /** * Remember this identity, ensuring it does not result in a pin violation. */ 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 69dee9a4d4..31dd6b90a1 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 @@ -38,6 +38,7 @@ import org.matrix.rustcomponents.sdk.BackupSteadyStateListener import org.matrix.rustcomponents.sdk.Client import org.matrix.rustcomponents.sdk.EnableRecoveryProgressListener import org.matrix.rustcomponents.sdk.Encryption +import org.matrix.rustcomponents.sdk.UserIdentity import org.matrix.rustcomponents.sdk.BackupUploadState as RustBackupUploadState import org.matrix.rustcomponents.sdk.EnableRecoveryProgress as RustEnableRecoveryProgress import org.matrix.rustcomponents.sdk.SteadyStateException as RustSteadyStateException @@ -204,8 +205,18 @@ internal class RustEncryptionService( } } + override suspend fun isUserVerified(userId: UserId): Result = runCatching { + getUserIdentity(userId).isVerified() + } + override suspend fun pinUserIdentity(userId: UserId): Result = runCatching { - val userIdentity = service.userIdentity(userId.value) ?: error("User identity not found") - userIdentity.pin() + getUserIdentity(userId).pin() + } + + private suspend fun getUserIdentity(userId: UserId): UserIdentity { + return service.userIdentity( + userId = userId.value, + // requestFromHomeserverIfNeeded = true, + ) ?: error("User identity not found") } } 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 6778eb5838..5968eda118 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 @@ -23,6 +23,7 @@ import kotlinx.coroutines.flow.flowOf class FakeEncryptionService( var startIdentityResetLambda: () -> Result = { lambdaError() }, private val pinUserIdentityResult: (UserId) -> Result = { lambdaError() }, + private val isUserVerifiedResult: (UserId) -> Result = { lambdaError() }, ) : EncryptionService { private var disableRecoveryFailure: Exception? = null override val backupStateStateFlow: MutableStateFlow = MutableStateFlow(BackupState.UNKNOWN) @@ -123,6 +124,10 @@ class FakeEncryptionService( return pinUserIdentityResult(userId) } + override suspend fun isUserVerified(userId: UserId): Result = simulateLongTask { + isUserVerifiedResult(userId) + } + companion object { const val FAKE_RECOVERY_KEY = "fake" } From ebb79bb72912ae0ae8dcf87295c218ce29ad1ac5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 22 Oct 2024 11:15:46 +0200 Subject: [PATCH 32/93] Room badge: let the presenter compute the list of badges. --- .../roomdetails/impl/RoomDetailsPresenter.kt | 17 +++++ .../roomdetails/impl/RoomDetailsState.kt | 7 ++ .../impl/RoomDetailsStateProvider.kt | 13 ++++ .../roomdetails/impl/RoomDetailsView.kt | 71 +++++++++---------- .../roomdetails/RoomDetailsPresenterTest.kt | 50 ++++++++++++- 5 files changed, 121 insertions(+), 37 deletions(-) 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 eccc8dd9d2..2594fd5509 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 @@ -43,6 +43,7 @@ import io.element.android.libraries.matrix.ui.room.getDirectRoomMember import io.element.android.libraries.matrix.ui.room.isOwnUserAdmin import io.element.android.services.analytics.api.AnalyticsService import io.element.android.services.analyticsproviders.api.trackers.captureInteraction +import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toPersistentList import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.launchIn @@ -112,6 +113,21 @@ class RoomDetailsPresenter @Inject constructor( val roomNotificationSettingsState by room.roomNotificationSettingsStateFlow.collectAsState() + val roomBadges by produceState(persistentListOf(), isPublic) { + value = buildList { + if (room.isEncrypted || isPublic) { + if (room.isEncrypted) { + add(RoomBadge.ENCRYPTED) + } else { + add(RoomBadge.NOT_ENCRYPTED) + } + } + if (isPublic) { + add(RoomBadge.PUBLIC) + } + }.toPersistentList() + } + fun handleEvents(event: RoomDetailsEvent) { when (event) { RoomDetailsEvent.LeaveRoom -> @@ -151,6 +167,7 @@ class RoomDetailsPresenter @Inject constructor( isFavorite = isFavorite, displayRolesAndPermissionsSettings = !room.isDm && isUserAdmin, isPublic = isPublic, + roomBadges = roomBadges, heroes = roomInfo?.heroes.orEmpty().toPersistentList(), canShowPinnedMessages = canShowPinnedMessages, pinnedMessagesCount = pinnedMessagesCount, diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt index 1abaa59d93..3116f70015 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt @@ -36,6 +36,7 @@ data class RoomDetailsState( val isFavorite: Boolean, val displayRolesAndPermissionsSettings: Boolean, val isPublic: Boolean, + val roomBadges: ImmutableList, val heroes: ImmutableList, val canShowPinnedMessages: Boolean, val pinnedMessagesCount: Int?, @@ -57,3 +58,9 @@ sealed interface RoomTopicState { data object CanAddTopic : RoomTopicState data class ExistingTopic(val topic: String) : RoomTopicState } + +enum class RoomBadge { + ENCRYPTED, + NOT_ENCRYPTED, + PUBLIC; +} diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt index d9b0c22c65..5462bc65a7 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt @@ -96,6 +96,18 @@ fun aRoomDetailsState( isFavorite: Boolean = false, displayAdminSettings: Boolean = false, isPublic: Boolean = true, + roomBadges: List = buildList { + if (isEncrypted || isPublic) { + if (isEncrypted) { + add(RoomBadge.ENCRYPTED) + } else { + add(RoomBadge.NOT_ENCRYPTED) + } + } + if (isPublic) { + add(RoomBadge.PUBLIC) + } + }, heroes: List = emptyList(), canShowPinnedMessages: Boolean = true, pinnedMessagesCount: Int? = null, @@ -119,6 +131,7 @@ fun aRoomDetailsState( isFavorite = isFavorite, displayRolesAndPermissionsSettings = displayAdminSettings, isPublic = isPublic, + roomBadges = roomBadges.toPersistentList(), heroes = heroes.toPersistentList(), canShowPinnedMessages = canShowPinnedMessages, pinnedMessagesCount = pinnedMessagesCount, diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt index 8291b3e1c8..b37b23a898 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt @@ -147,8 +147,7 @@ fun RoomDetailsView( } } BadgeList( - isEncrypted = state.isEncrypted, - isPublic = state.isPublic, + roomBadge = state.roomBadges, modifier = Modifier.align(Alignment.CenterHorizontally), ) Spacer(Modifier.height(32.dp)) @@ -403,42 +402,42 @@ private fun ColumnScope.TitleAndSubtitle( @Composable private fun BadgeList( - isEncrypted: Boolean, - isPublic: Boolean, + roomBadge: ImmutableList, modifier: Modifier = Modifier, ) { - if (isEncrypted || isPublic) { - MatrixBadgeRowMolecule( - modifier = modifier, - data = buildList { - if (isEncrypted) { - add( - MatrixBadgeAtom.MatrixBadgeData( - text = stringResource(R.string.screen_room_details_badge_encrypted), - icon = CompoundIcons.LockSolid(), - type = MatrixBadgeAtom.Type.Positive, - ) - ) - } else { - add( - MatrixBadgeAtom.MatrixBadgeData( - text = stringResource(R.string.screen_room_details_badge_not_encrypted), - icon = CompoundIcons.LockOff(), - type = MatrixBadgeAtom.Type.Neutral, - ) - ) - } - if (isPublic) { - add( - MatrixBadgeAtom.MatrixBadgeData( - text = stringResource(R.string.screen_room_details_badge_public), - icon = CompoundIcons.Public(), - type = MatrixBadgeAtom.Type.Neutral, - ) - ) - } - }.toImmutableList(), - ) + if (roomBadge.isEmpty()) return + MatrixBadgeRowMolecule( + modifier = modifier, + data = roomBadge.map { + it.toMatrixBadgeData() + }.toImmutableList(), + ) +} + +@Composable +private fun RoomBadge.toMatrixBadgeData(): MatrixBadgeAtom.MatrixBadgeData { + return when (this) { + RoomBadge.ENCRYPTED -> { + MatrixBadgeAtom.MatrixBadgeData( + text = stringResource(R.string.screen_room_details_badge_encrypted), + icon = CompoundIcons.LockSolid(), + type = MatrixBadgeAtom.Type.Positive, + ) + } + RoomBadge.NOT_ENCRYPTED -> { + MatrixBadgeAtom.MatrixBadgeData( + text = stringResource(R.string.screen_room_details_badge_not_encrypted), + icon = CompoundIcons.LockOff(), + type = MatrixBadgeAtom.Type.Neutral, + ) + } + RoomBadge.PUBLIC -> { + MatrixBadgeAtom.MatrixBadgeData( + text = stringResource(R.string.screen_room_details_badge_public), + icon = CompoundIcons.Public(), + type = MatrixBadgeAtom.Type.Neutral, + ) + } } } 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 9a893b671e..e678a31641 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,6 +17,7 @@ import im.vector.app.features.analytics.plan.Interaction import io.element.android.features.leaveroom.api.LeaveRoomEvent import io.element.android.features.leaveroom.api.LeaveRoomState import io.element.android.features.leaveroom.api.aLeaveRoomState +import io.element.android.features.roomdetails.impl.RoomBadge import io.element.android.features.roomdetails.impl.RoomDetailsEvent import io.element.android.features.roomdetails.impl.RoomDetailsPresenter import io.element.android.features.roomdetails.impl.RoomDetailsState @@ -134,7 +135,8 @@ class RoomDetailsPresenterTest { assertThat(initialState.isEncrypted).isEqualTo(room.isEncrypted) assertThat(initialState.canShowPinnedMessages).isTrue() assertThat(initialState.pinnedMessagesCount).isNull() - cancelAndIgnoreRemainingEvents() + assertThat(initialState.roomBadges).isEmpty() + assertThat(awaitItem().roomBadges).isEqualTo(listOf(RoomBadge.ENCRYPTED)) } } @@ -142,6 +144,7 @@ class RoomDetailsPresenterTest { fun `present - initial state is updated with roomInfo if it exists`() = runTest { val roomInfo = aRoomInfo( name = A_ROOM_NAME, + isPublic = true, topic = A_ROOM_TOPIC, avatarUrl = AN_AVATAR_URL, pinnedEventIds = listOf(AN_EVENT_ID), @@ -161,10 +164,55 @@ class RoomDetailsPresenterTest { assertThat(updatedState.roomAvatarUrl).isEqualTo(roomInfo.avatarUrl) assertThat(updatedState.roomTopic).isEqualTo(RoomTopicState.ExistingTopic(roomInfo.topic!!)) assertThat(updatedState.pinnedMessagesCount).isEqualTo(roomInfo.pinnedEventIds.size) + assertThat(updatedState.roomBadges).isEqualTo(listOf(RoomBadge.ENCRYPTED, RoomBadge.PUBLIC)) cancelAndIgnoreRemainingEvents() } } + @Test + fun `present - initial state not public not encrypted should have no badges`() = runTest { + val roomInfo = aRoomInfo( + name = A_ROOM_NAME, + isPublic = false, + ) + val room = aMatrixRoom( + isEncrypted = false, + canInviteResult = { Result.success(true) }, + canUserJoinCallResult = { Result.success(true) }, + canSendStateResult = { _, _ -> Result.success(true) }, + ).apply { + givenRoomInfo(roomInfo) + } + val presenter = createRoomDetailsPresenter(room) + presenter.test { + skipItems(1) + val updatedState = awaitItem() + assertThat(updatedState.roomBadges).isEmpty() + } + } + + @Test + fun `present - initial state public not encrypted should have not encrypted and public badges`() = runTest { + val roomInfo = aRoomInfo( + name = A_ROOM_NAME, + isPublic = true, + ) + val room = aMatrixRoom( + isEncrypted = false, + canInviteResult = { Result.success(true) }, + canUserJoinCallResult = { Result.success(true) }, + canSendStateResult = { _, _ -> Result.success(true) }, + ).apply { + givenRoomInfo(roomInfo) + } + val presenter = createRoomDetailsPresenter(room) + presenter.test { + skipItems(1) + val updatedState = awaitItem() + assertThat(updatedState.roomBadges).isEqualTo(listOf(RoomBadge.NOT_ENCRYPTED, RoomBadge.PUBLIC)) + } + } + @Test fun `present - initial state with no room name`() = runTest { val room = aMatrixRoom( From 3ccdcb3e2e145f8001ad70e9ac0f5352d16149f1 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Tue, 22 Oct 2024 08:33:00 +0000 Subject: [PATCH 33/93] Update screenshots --- ...s.userprofile.shared_UserProfileHeaderSection_Day_0_en.png | 4 ++-- ...userprofile.shared_UserProfileHeaderSection_Night_0_en.png | 4 ++-- .../features.userprofile.shared_UserProfileView_Day_0_en.png | 4 ++-- .../features.userprofile.shared_UserProfileView_Day_1_en.png | 4 ++-- .../features.userprofile.shared_UserProfileView_Day_2_en.png | 4 ++-- .../features.userprofile.shared_UserProfileView_Day_3_en.png | 4 ++-- .../features.userprofile.shared_UserProfileView_Day_4_en.png | 4 ++-- .../features.userprofile.shared_UserProfileView_Day_6_en.png | 4 ++-- .../features.userprofile.shared_UserProfileView_Day_7_en.png | 4 ++-- .../features.userprofile.shared_UserProfileView_Day_8_en.png | 3 --- ...features.userprofile.shared_UserProfileView_Night_0_en.png | 4 ++-- ...features.userprofile.shared_UserProfileView_Night_1_en.png | 4 ++-- ...features.userprofile.shared_UserProfileView_Night_2_en.png | 4 ++-- ...features.userprofile.shared_UserProfileView_Night_3_en.png | 4 ++-- ...features.userprofile.shared_UserProfileView_Night_4_en.png | 4 ++-- ...features.userprofile.shared_UserProfileView_Night_6_en.png | 4 ++-- ...features.userprofile.shared_UserProfileView_Night_7_en.png | 4 ++-- ...features.userprofile.shared_UserProfileView_Night_8_en.png | 3 --- ...nsystem.atomic.atoms_MatrixBadgeAtomNegative_Day_0_en.png} | 0 ...ystem.atomic.atoms_MatrixBadgeAtomNegative_Night_0_en.png} | 0 ...gnsystem.atomic.atoms_MatrixBadgeAtomNeutral_Day_0_en.png} | 0 ...system.atomic.atoms_MatrixBadgeAtomNeutral_Night_0_en.png} | 0 ...nsystem.atomic.atoms_MatrixBadgeAtomPositive_Day_0_en.png} | 0 ...ystem.atomic.atoms_MatrixBadgeAtomPositive_Night_0_en.png} | 0 24 files changed, 32 insertions(+), 38 deletions(-) delete mode 100644 tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_8_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_8_en.png rename tests/uitests/src/test/snapshots/images/{features.roomdetails.impl.components_RoomBadgeNegative_Day_0_en.png => libraries.designsystem.atomic.atoms_MatrixBadgeAtomNegative_Day_0_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.roomdetails.impl.components_RoomBadgeNegative_Night_0_en.png => libraries.designsystem.atomic.atoms_MatrixBadgeAtomNegative_Night_0_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.roomdetails.impl.components_RoomBadgeNeutral_Day_0_en.png => libraries.designsystem.atomic.atoms_MatrixBadgeAtomNeutral_Day_0_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.roomdetails.impl.components_RoomBadgeNeutral_Night_0_en.png => libraries.designsystem.atomic.atoms_MatrixBadgeAtomNeutral_Night_0_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.roomdetails.impl.components_RoomBadgePositive_Day_0_en.png => libraries.designsystem.atomic.atoms_MatrixBadgeAtomPositive_Day_0_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.roomdetails.impl.components_RoomBadgePositive_Night_0_en.png => libraries.designsystem.atomic.atoms_MatrixBadgeAtomPositive_Night_0_en.png} (100%) 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 af2ff95e7a..9625abff26 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:fd3fbba34517626f11c940e583db1b7b058575b4078e260ef5ab146076a9256e -size 12757 +oid sha256:f8f47f89b71826b87e2f6b1de8a325710f67da4c342a2fed10a253546f3b4658 +size 15303 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 7d9ace4741..64841c0408 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:7d6f038f3180c2f8f0a80ab608409a75fbcdb363e3e3931dda01a89cc1a7abaf -size 13078 +oid sha256:c0bed8702030f9431a281c16cbf515821be63a49a5f25d7899eee2491f1804ca +size 15405 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 946bfb4494..1463fe4516 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:37159c7d2974110a19aded9121c8d72d199007e97d873516bac209f5171561ba -size 21583 +oid sha256:d5641f60c900c49dfccadfff390fe2e3a72c80e7bb4bbcdecac9a8af97a01c3a +size 28709 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 5984745d72..bac9b2aa0b 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:f5d7e07f546ef3f9147be979869d007cc35873c1856290f42472d57e3111ef0c -size 19313 +oid sha256:049980e2859db4dd266e4162f3859f129d7552ab0894ee88e3a3cf628e6fc606 +size 28993 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 8e7105480d..3d1c83858c 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:6cbc9ce6cfd64740584e72371325374196904ea68c79dd78c5ab525fe665d044 -size 21922 +oid sha256:6697aa15bb8f4c8381c018a167947464b3153f98e0a3a0a3763c1ef87b6444d4 +size 24247 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 f6ca6566c9..4f6e3ee2f7 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:fec3a5602442d2fc48e0d0c603971c3d0a2d4e3e67917a00a70cec3421763946 -size 33654 +oid sha256:d2671908939f3dae083506227e389cce84f15e8a24c6fa24016e59ffc134495f +size 36247 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 c5e7788ac2..40eec860cc 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:aef57c0efcbc88d0595ac161cdb4805459315fbcc8b27451e958806dee4712ce -size 25123 +oid sha256:313b32ffe654551c9a402d5cb4ca37bb7ec2868616e73514d3ff8fac2b476917 +size 30119 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 94d1e33444..d37f5c5432 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:6d32f7e0ba91562e8605e1df632c28ac38e301e2df806a46663353983bea8a94 -size 20875 +oid sha256:6fdfaa160bbee0b300422392fcd7f335db78864a03d92238eb6843fc2e50b7d1 +size 26417 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 2097447376..e68b81fd36 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:c75d1e76f2c4c7ec3c381fd3ecba45c4eb62ad7239a97a298ac41f686f839e99 -size 22502 +oid sha256:c33ceaeae591f4f00a1efc71b2fd469b0dabaef6449ef126acb72300b4ae8551 +size 29665 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 deleted file mode 100644 index 946bfb4494..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Day_8_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -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 249a3709db..fd6f9cd4fa 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:1fb3d68142c04a84073b646d8a2daece4853b6db518033bf597d7e73cf997ca7 -size 20935 +oid sha256:6bfd432edf40bc901959d8209dd500b5102827376fd0d47fe5090882476bf5d5 +size 27771 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 07423061f4..5793b79841 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:bca6804dda6c169bfb90bfe562d3609ba0f844e086703150a42e0ec08a5aacf9 -size 18746 +oid sha256:08e46fd726c936a781d3ab049c4c60e080c673498ce54a3f956fce42d8ef7b90 +size 28135 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 bec196fd6b..ea22c51e8d 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:5153d0bf8aa10335fd81fb6a6f33720edf8e0bdeb017c69d30be1ef175cb0318 -size 21263 +oid sha256:e9642867b66bdb1005802a5314e03ea33dd859aed63a882a974f71a3491fadb2 +size 23329 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 ef9df7777e..c9dc028683 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:9926ceec284b746b2b46c15377ecdca624f1cd8303336f2d082b34602f0e6d3a -size 31172 +oid sha256:1eb2962105a905fdb832de7070d2999f32db85ff4dec0bb66ec707b224fb446d +size 33428 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 b89a168a68..8cfba389bb 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:3bc079ddb639f05d60cf702fd0a8c1ae01520f19204df271fdc5a203c1442eee -size 22979 +oid sha256:bff4a01c20d94363238b106d42c596810f0cf8ea5f14e3207bee984966b92f3a +size 27542 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 e81c2ab75e..00a087a240 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:58a2a378b174cf93de0925872ea6e980c724967751b0feabba51eeb6261f4318 -size 19065 +oid sha256:fca592210633e752cccfbcac3373acdd0ca55277fce9473b0e1b7db32ea19a04 +size 24208 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 24cae66ca2..0cd496c1f1 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:0d7d7bf305375a306d1d1f002527f7ac81daf4f3387041035df4f9ef0f80c82e -size 21809 +oid sha256:6058bb4b845ba2a174c1d35baa0e44604ec14e1d618b9a66f6825a58da81e61a +size 28649 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 deleted file mode 100644 index 249a3709db..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.userprofile.shared_UserProfileView_Night_8_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1fb3d68142c04a84073b646d8a2daece4853b6db518033bf597d7e73cf997ca7 -size 20935 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgeNegative_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomNegative_Day_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgeNegative_Day_0_en.png rename to tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomNegative_Day_0_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgeNegative_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomNegative_Night_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgeNegative_Night_0_en.png rename to tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomNegative_Night_0_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgeNeutral_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomNeutral_Day_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgeNeutral_Day_0_en.png rename to tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomNeutral_Day_0_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgeNeutral_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomNeutral_Night_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgeNeutral_Night_0_en.png rename to tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomNeutral_Night_0_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgePositive_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomPositive_Day_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgePositive_Day_0_en.png rename to tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomPositive_Day_0_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgePositive_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomPositive_Night_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.roomdetails.impl.components_RoomBadgePositive_Night_0_en.png rename to tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_MatrixBadgeAtomPositive_Night_0_en.png From 97cd7d3096080d2e8a953c2b18acff24928f3961 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 22 Oct 2024 14:19:07 +0200 Subject: [PATCH 34/93] Code quality --- .../android/features/roomdetails/impl/RoomDetailsState.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt index 3116f70015..21fa239c82 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt @@ -62,5 +62,5 @@ sealed interface RoomTopicState { enum class RoomBadge { ENCRYPTED, NOT_ENCRYPTED, - PUBLIC; + PUBLIC, } From 12d26bb3b794976f8c65beb9bcf926682a2708a4 Mon Sep 17 00:00:00 2001 From: ganfra Date: Thu, 17 Oct 2024 17:44:46 +0200 Subject: [PATCH 35/93] knock : update strings --- features/joinroom/impl/src/main/res/values/localazy.xml | 7 +++++++ features/roomlist/impl/src/main/res/values/localazy.xml | 1 + tools/localazy/config.json | 6 ++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/features/joinroom/impl/src/main/res/values/localazy.xml b/features/joinroom/impl/src/main/res/values/localazy.xml index 86ed3c0cc3..d744f0b31f 100644 --- a/features/joinroom/impl/src/main/res/values/localazy.xml +++ b/features/joinroom/impl/src/main/res/values/localazy.xml @@ -1,7 +1,14 @@ + "Cancel request" + "Yes, cancel" + "Are you sure that you want to cancel your request to join this room?" + "Cancel request to join" "Join room" "Send request to join" + "Message (optional)" + "You will receive an invite to join the room if your request is accepted." + "Request to join sent" "%1$s does not support spaces yet. You can access spaces on web." "Spaces are not supported yet" "Click the button below and a room administrator will be notified. You’ll be able to join the conversation once approved." diff --git a/features/roomlist/impl/src/main/res/values/localazy.xml b/features/roomlist/impl/src/main/res/values/localazy.xml index 36dc4b8d65..79f9b493e6 100644 --- a/features/roomlist/impl/src/main/res/values/localazy.xml +++ b/features/roomlist/impl/src/main/res/values/localazy.xml @@ -16,6 +16,7 @@ "Decline chat" "No Invites" "%1$s (%2$s) invited you" + "Request to join sent" "This is a one time process, thanks for waiting." "Setting up your account." "Create a new conversation or room" diff --git a/tools/localazy/config.json b/tools/localazy/config.json index f7555ea393..38ca8a9979 100644 --- a/tools/localazy/config.json +++ b/tools/localazy/config.json @@ -156,7 +156,8 @@ "banner\\.migrate_to_native_sliding_sync\\..*", "full_screen_intent_banner_.*", "screen_migration_.*", - "screen_invites_.*" + "screen_invites_.*", + "screen\\.join_room\\.knock_sent_title" ] }, { @@ -280,7 +281,8 @@ { "name" : ":features:joinroom:impl", "includeRegex" : [ - "screen_join_room_.*" + "screen_join_room_.*", + "screen\\.join_room\\..*" ] } ] From 1c7213514823aa8becc21b264585c9dd29f145f4 Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 18 Oct 2024 20:58:19 +0200 Subject: [PATCH 36/93] knock : use PendingRoom instead of InvitedRoom --- .../response/AcceptDeclineInvitePresenter.kt | 4 ++-- .../AcceptDeclineInvitePresenterTest.kt | 6 +++--- .../libraries/matrix/api/MatrixClient.kt | 4 ++-- .../room/{InvitedRoom.kt => PendingRoom.kt} | 8 +++---- .../libraries/matrix/impl/RustMatrixClient.kt | 14 +++++++------ ...{RustInvitedRoom.kt => RustPendingRoom.kt} | 16 +++++++------- .../matrix/impl/room/RustRoomFactory.kt | 21 ++++++++++--------- .../libraries/matrix/test/FakeMatrixClient.kt | 8 +++---- ...{FakeInvitedRoom.kt => FakePendingRoom.kt} | 8 +++---- 9 files changed, 46 insertions(+), 43 deletions(-) rename libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/{InvitedRoom.kt => PendingRoom.kt} (59%) rename libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/{RustInvitedRoom.kt => RustPendingRoom.kt} (58%) rename libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/{FakeInvitedRoom.kt => FakePendingRoom.kt} (81%) diff --git a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenter.kt b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenter.kt index 082120c6f3..6c8b4d533c 100644 --- a/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenter.kt +++ b/features/invite/impl/src/main/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenter.kt @@ -94,8 +94,8 @@ class AcceptDeclineInvitePresenter @Inject constructor( private fun CoroutineScope.declineInvite(roomId: RoomId, declinedAction: MutableState>) = launch { suspend { - client.getInvitedRoom(roomId)?.use { - it.declineInvite().getOrThrow() + client.getPendingRoom(roomId)?.use { + it.leave().getOrThrow() notificationCleaner.clearMembershipNotificationForRoom(client.sessionId, roomId) } roomId diff --git a/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenterTest.kt b/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenterTest.kt index 6c1057638f..620f899997 100644 --- a/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenterTest.kt +++ b/features/invite/impl/src/test/kotlin/io/element/android/features/invite/impl/response/AcceptDeclineInvitePresenterTest.kt @@ -22,7 +22,7 @@ import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.A_ROOM_NAME import io.element.android.libraries.matrix.test.A_SESSION_ID import io.element.android.libraries.matrix.test.FakeMatrixClient -import io.element.android.libraries.matrix.test.room.FakeInvitedRoom +import io.element.android.libraries.matrix.test.room.FakePendingRoom import io.element.android.libraries.matrix.test.room.join.FakeJoinRoom import io.element.android.libraries.push.api.notifications.NotificationCleaner import io.element.android.libraries.push.test.notifications.FakeNotificationCleaner @@ -78,7 +78,7 @@ class AcceptDeclineInvitePresenterTest { Result.failure(RuntimeException("Failed to leave room")) } val client = FakeMatrixClient().apply { - getInvitedRoomResults[A_ROOM_ID] = FakeInvitedRoom(declineInviteResult = declineInviteFailure) + getPendingRoomResults[A_ROOM_ID] = FakePendingRoom(declineInviteResult = declineInviteFailure) } val presenter = createAcceptDeclineInvitePresenter(client = client) presenter.test { @@ -121,7 +121,7 @@ class AcceptDeclineInvitePresenterTest { Result.success(Unit) } val client = FakeMatrixClient().apply { - getInvitedRoomResults[A_ROOM_ID] = FakeInvitedRoom(declineInviteResult = declineInviteSuccess) + getPendingRoomResults[A_ROOM_ID] = FakePendingRoom(declineInviteResult = declineInviteSuccess) } val presenter = createAcceptDeclineInvitePresenter( client = client, diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt index ea26e29719..d021f9733d 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt @@ -21,7 +21,7 @@ import io.element.android.libraries.matrix.api.notification.NotificationService import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService import io.element.android.libraries.matrix.api.oidc.AccountManagementAction import io.element.android.libraries.matrix.api.pusher.PushersService -import io.element.android.libraries.matrix.api.room.InvitedRoom +import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.MatrixRoomInfo import io.element.android.libraries.matrix.api.room.RoomMembershipObserver @@ -52,7 +52,7 @@ interface MatrixClient : Closeable { val sessionCoroutineScope: CoroutineScope val ignoredUsersFlow: StateFlow> suspend fun getRoom(roomId: RoomId): MatrixRoom? - suspend fun getInvitedRoom(roomId: RoomId): InvitedRoom? + suspend fun getPendingRoom(roomId: RoomId): PendingRoom? suspend fun findDM(userId: UserId): RoomId? suspend fun ignoreUser(userId: UserId): Result suspend fun unignoreUser(userId: UserId): Result diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/InvitedRoom.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/PendingRoom.kt similarity index 59% rename from libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/InvitedRoom.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/PendingRoom.kt index 7e1dd5d10d..273e038313 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/InvitedRoom.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/PendingRoom.kt @@ -10,11 +10,11 @@ package io.element.android.libraries.matrix.api.room import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.SessionId -/** A reference to a room the current user has been invited to, with the ability to decline the invite. */ -interface InvitedRoom : AutoCloseable { +/** A reference to a room the current user has knocked to or has been invited to, with the ability to leave the room. */ +interface PendingRoom : AutoCloseable { val sessionId: SessionId val roomId: RoomId - /** Decline the invite to this room. */ - suspend fun declineInvite(): Result + /** Leave the room ie.decline invite or cancel knock. */ + suspend fun leave(): Result } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 1abe47a362..02f7f3d71d 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -30,7 +30,7 @@ import io.element.android.libraries.matrix.api.notificationsettings.Notification import io.element.android.libraries.matrix.api.oidc.AccountManagementAction import io.element.android.libraries.matrix.api.pusher.PushersService import io.element.android.libraries.matrix.api.room.CurrentUserMembership -import io.element.android.libraries.matrix.api.room.InvitedRoom +import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.RoomMembershipObserver import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias @@ -251,19 +251,21 @@ class RustMatrixClient( return roomFactory.create(roomId) } - override suspend fun getInvitedRoom(roomId: RoomId): InvitedRoom? { - return roomFactory.createInvitedRoom(roomId) + override suspend fun getPendingRoom(roomId: RoomId): PendingRoom? { + return roomFactory.createPendingRoom(roomId) } /** - * Wait for the room to be available in the room list, with a membership for the current user of [CurrentUserMembership.JOINED]. + * Wait for the room to be available in the room list with the correct membership for the current user. * @param roomIdOrAlias the room id or alias to wait for * @param timeout the timeout to wait for the room to be available + * @param currentUserMembership the membership to wait for * @throws TimeoutCancellationException if the room is not available after the timeout */ - private suspend fun awaitJoinedRoom( + private suspend fun awaitRoom( roomIdOrAlias: RoomIdOrAlias, - timeout: Duration + timeout: Duration, + currentUserMembership: CurrentUserMembership, ): RoomSummary { return withTimeout(timeout) { getRoomSummaryFlow(roomIdOrAlias) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustInvitedRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustPendingRoom.kt similarity index 58% rename from libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustInvitedRoom.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustPendingRoom.kt index 67e9e5e7a5..46df9bed80 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustInvitedRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustPendingRoom.kt @@ -9,20 +9,20 @@ package io.element.android.libraries.matrix.impl.room import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.SessionId -import io.element.android.libraries.matrix.api.room.InvitedRoom +import io.element.android.libraries.matrix.api.room.PendingRoom import org.matrix.rustcomponents.sdk.Room -class RustInvitedRoom( +class RustPendingRoom( override val sessionId: SessionId, - private val invitedRoom: Room, -) : InvitedRoom { - override val roomId = RoomId(invitedRoom.id()) + private val inner: Room, +) : PendingRoom { + override val roomId = RoomId(inner.id()) - override suspend fun declineInvite(): Result = runCatching { - invitedRoom.leave() + override suspend fun leave(): Result = runCatching { + inner.leave() } override fun close() { - invitedRoom.destroy() + inner.destroy() } } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt index 2e41e36183..0656cb9cf9 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt @@ -14,8 +14,8 @@ import io.element.android.libraries.matrix.api.core.DeviceId import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService -import io.element.android.libraries.matrix.api.room.InvitedRoom import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.api.roomlist.RoomListService import io.element.android.libraries.matrix.api.roomlist.awaitLoaded import io.element.android.libraries.matrix.impl.roomlist.fullRoomWithTimeline @@ -35,6 +35,7 @@ import timber.log.Timber import org.matrix.rustcomponents.sdk.RoomListService as InnerRoomListService private const val CACHE_SIZE = 16 +private val PENDING_MEMBERSHIPS = setOf(Membership.INVITED, Membership.KNOCKED) class RustRoomFactory( private val sessionId: SessionId, @@ -49,6 +50,7 @@ class RustRoomFactory( private val roomSyncSubscriber: RoomSyncSubscriber, private val timelineEventTypeFilterFactory: TimelineEventTypeFilterFactory, ) { + @OptIn(ExperimentalCoroutinesApi::class) private val dispatcher = dispatchers.io.limitedParallelism(1) private val mutex = Mutex() @@ -120,7 +122,7 @@ class RustRoomFactory( } } - suspend fun createInvitedRoom(roomId: RoomId): InvitedRoom? = withContext(dispatcher) { + suspend fun createPendingRoom(roomId: RoomId): PendingRoom? = withContext(dispatcher) { if (isDestroyed) { Timber.d("Room factory is destroyed, returning null for $roomId") return@withContext null @@ -130,20 +132,19 @@ class RustRoomFactory( Timber.d("Room not found for $roomId") return@withContext null } - if (roomListItem.membership() != Membership.INVITED) { - Timber.d("Room $roomId is not in invited state") + if (roomListItem.membership() !in PENDING_MEMBERSHIPS) { + Timber.d("Room $roomId is not in pending state") return@withContext null } - val invitedRoom = try { - roomListItem.invitedRoom() + val innerRoom = try { + roomListItem.roomWithoutTimeline() } catch (e: RoomListException) { - Timber.e(e, "Failed to get invited room for $roomId") + Timber.e(e, "Failed to get pending room for $roomId") return@withContext null } - - RustInvitedRoom( + RustPendingRoom( sessionId = sessionId, - invitedRoom = invitedRoom, + inner = innerRoom, ) } diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt index d784bba502..b71fb6b668 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt @@ -22,7 +22,7 @@ import io.element.android.libraries.matrix.api.notification.NotificationService import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService import io.element.android.libraries.matrix.api.oidc.AccountManagementAction import io.element.android.libraries.matrix.api.pusher.PushersService -import io.element.android.libraries.matrix.api.room.InvitedRoom +import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.RoomMembershipObserver import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias @@ -101,7 +101,7 @@ class FakeMatrixClient( private var createDmResult: Result = Result.success(A_ROOM_ID) private var findDmResult: RoomId? = A_ROOM_ID private val getRoomResults = mutableMapOf() - val getInvitedRoomResults = mutableMapOf() + val getPendingRoomResults = mutableMapOf() private val searchUserResults = mutableMapOf>() private val getProfileResults = mutableMapOf>() private var uploadMediaResult: Result = Result.success(AN_AVATAR_URL) @@ -128,8 +128,8 @@ class FakeMatrixClient( return getRoomResults[roomId] } - override suspend fun getInvitedRoom(roomId: RoomId): InvitedRoom? { - return getInvitedRoomResults[roomId] + override suspend fun getPendingRoom(roomId: RoomId): PendingRoom? { + return getPendingRoomResults[roomId] } override suspend fun findDM(userId: UserId): RoomId? { diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeInvitedRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakePendingRoom.kt similarity index 81% rename from libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeInvitedRoom.kt rename to libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakePendingRoom.kt index 06416e2c80..c8523b31a6 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeInvitedRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakePendingRoom.kt @@ -9,18 +9,18 @@ package io.element.android.libraries.matrix.test.room import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.SessionId -import io.element.android.libraries.matrix.api.room.InvitedRoom +import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.test.A_ROOM_ID import io.element.android.libraries.matrix.test.A_SESSION_ID import io.element.android.tests.testutils.lambda.lambdaError import io.element.android.tests.testutils.simulateLongTask -class FakeInvitedRoom( +class FakePendingRoom( override val sessionId: SessionId = A_SESSION_ID, override val roomId: RoomId = A_ROOM_ID, private val declineInviteResult: () -> Result = { lambdaError() } -) : InvitedRoom { - override suspend fun declineInvite(): Result = simulateLongTask { +) : PendingRoom { + override suspend fun leave(): Result = simulateLongTask { declineInviteResult() } From c135f5a3b9db000388923ea7d5d607a053e23de0 Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 18 Oct 2024 20:58:39 +0200 Subject: [PATCH 37/93] knock : add knock function to the matrix client --- .../libraries/matrix/api/MatrixClient.kt | 2 +- .../libraries/matrix/impl/RustMatrixClient.kt | 20 +++++++++++++------ .../libraries/matrix/test/FakeMatrixClient.kt | 6 +++--- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt index d021f9733d..adf8fa960b 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt @@ -65,7 +65,7 @@ interface MatrixClient : Closeable { suspend fun removeAvatar(): Result suspend fun joinRoom(roomId: RoomId): Result suspend fun joinRoomByIdOrAlias(roomIdOrAlias: RoomIdOrAlias, serverNames: List): Result - suspend fun knockRoom(roomId: RoomId): Result + suspend fun knockRoom(roomId: RoomId): Result fun syncService(): SyncService fun sessionVerificationService(): SessionVerificationService fun pushersService(): PushersService diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 02f7f3d71d..328be9608b 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -270,7 +270,7 @@ class RustMatrixClient( return withTimeout(timeout) { getRoomSummaryFlow(roomIdOrAlias) .mapNotNull { optionalRoomSummary -> optionalRoomSummary.getOrNull() } - .filter { roomSummary -> roomSummary.info.currentUserMembership == CurrentUserMembership.JOINED } + .filter { roomSummary -> roomSummary.info.currentUserMembership == currentUserMembership } .first() // Ensure that the room is ready .also { client.awaitRoomRemoteEcho(it.roomId.value) } @@ -316,7 +316,7 @@ class RustMatrixClient( val roomId = RoomId(client.createRoom(rustParams)) // Wait to receive the room back from the sync but do not returns failure if it fails. try { - awaitJoinedRoom(roomId.toRoomIdOrAlias(), 30.seconds) + awaitRoom(roomId.toRoomIdOrAlias(), 30.seconds, CurrentUserMembership.JOINED) } catch (e: Exception) { Timber.e(e, "Timeout waiting for the room to be available in the room list") } @@ -371,7 +371,7 @@ class RustMatrixClient( runCatching { client.joinRoomById(roomId.value).destroy() try { - awaitJoinedRoom(roomId.toRoomIdOrAlias(), 10.seconds) + awaitRoom(roomId.toRoomIdOrAlias(), 10.seconds, CurrentUserMembership.JOINED) } catch (e: Exception) { Timber.e(e, "Timeout waiting for the room to be available in the room list") null @@ -386,7 +386,7 @@ class RustMatrixClient( serverNames = serverNames, ).destroy() try { - awaitJoinedRoom(roomIdOrAlias, 10.seconds) + awaitRoom(roomIdOrAlias, 10.seconds, CurrentUserMembership.JOINED) } catch (e: Exception) { Timber.e(e, "Timeout waiting for the room to be available in the room list") null @@ -394,8 +394,16 @@ class RustMatrixClient( } } - override suspend fun knockRoom(roomId: RoomId): Result { - return Result.failure(NotImplementedError("Not yet implemented")) + override suspend fun knockRoom(roomId: RoomId): Result = withContext(sessionDispatcher){ + runCatching { + client.knock(roomId.toRoomIdOrAlias().identifier).destroy() + try { + awaitRoom(roomId.toRoomIdOrAlias(), 10.seconds, CurrentUserMembership.KNOCKED) + } catch (e: Exception) { + Timber.e(e, "Timeout waiting for the room to be available in the room list") + null + } + } } override suspend fun trackRecentlyVisitedRoom(roomId: RoomId): Result = withContext(sessionDispatcher) { diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt index b71fb6b668..69c0cc00b6 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt @@ -114,8 +114,8 @@ class FakeMatrixClient( var joinRoomByIdOrAliasLambda: (RoomIdOrAlias, List) -> Result = { _, _ -> Result.success(null) } - var knockRoomLambda: (RoomId) -> Result = { - Result.success(Unit) + var knockRoomLambda: (RoomId) -> Result = { + Result.success(null) } var getRoomSummaryFlowLambda = { _: RoomIdOrAlias -> flowOf>(Optional.empty()) @@ -223,7 +223,7 @@ class FakeMatrixClient( return joinRoomByIdOrAliasLambda(roomIdOrAlias, serverNames) } - override suspend fun knockRoom(roomId: RoomId): Result = knockRoomLambda(roomId) + override suspend fun knockRoom(roomId: RoomId): Result = knockRoomLambda(roomId) override fun sessionVerificationService(): SessionVerificationService = sessionVerificationService From 1424296811164bf7de3b2785a6daa6459cf8ce70 Mon Sep 17 00:00:00 2001 From: ganfra Date: Fri, 18 Oct 2024 20:58:53 +0200 Subject: [PATCH 38/93] knock : display knocked room in the room list --- .../impl/components/RoomSummaryRow.kt | 25 +++++++++++++++++++ .../datasource/RoomListRoomSummaryFactory.kt | 14 ++++++++--- .../impl/model/RoomListRoomSummaryProvider.kt | 4 +++ .../impl/model/RoomSummaryDisplayType.kt | 3 ++- 4 files changed, 41 insertions(+), 5 deletions(-) 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 460871c62b..7a8fc00335 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 @@ -38,6 +38,7 @@ import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons +import io.element.android.features.roomlist.impl.R import io.element.android.features.roomlist.impl.RoomListEvents import io.element.android.features.roomlist.impl.model.RoomListRoomSummary import io.element.android.features.roomlist.impl.model.RoomListRoomSummaryProvider @@ -122,6 +123,30 @@ internal fun RoomSummaryRow( LastMessageAndIndicatorRow(room = room) } } + RoomSummaryDisplayType.KNOCKED -> { + RoomSummaryScaffoldRow( + room = room, + onClick = onClick, + onLongClick = { + Timber.d("Long click on knocked room") + }, + modifier = modifier + ) { + NameAndTimestampRow( + name = room.name, + timestamp = room.timestamp, + isHighlighted = room.isHighlighted + ) + Text( + text = stringResource(id = R.string.screen_join_room_knock_sent_title), + maxLines = 1, + overflow = TextOverflow.Ellipsis, + style = ElementTheme.typography.fontBodyMdRegular, + color = ElementTheme.colors.textSecondary, + modifier = modifier, + ) + } + } } } diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactory.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactory.kt index 004ce9174b..534de3c4d4 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactory.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactory.kt @@ -48,10 +48,16 @@ class RoomListRoomSummaryFactory @Inject constructor( inviteSender = roomInfo.inviter?.toInviteSender(), isDm = roomInfo.isDm, canonicalAlias = roomInfo.canonicalAlias, - displayType = if (roomInfo.currentUserMembership == CurrentUserMembership.INVITED) { - RoomSummaryDisplayType.INVITE - } else { - RoomSummaryDisplayType.ROOM + displayType = when (roomInfo.currentUserMembership) { + CurrentUserMembership.INVITED -> { + RoomSummaryDisplayType.INVITE + } + CurrentUserMembership.KNOCKED -> { + RoomSummaryDisplayType.KNOCKED + } + else -> { + RoomSummaryDisplayType.ROOM + } }, heroes = roomInfo.heroes.map { user -> user.getAvatarData(size = AvatarSize.RoomListItem) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt index 894bc46377..670d8d3f38 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt @@ -102,6 +102,10 @@ open class RoomListRoomSummaryProvider : PreviewParameterProvider Date: Fri, 18 Oct 2024 20:59:56 +0200 Subject: [PATCH 39/93] knock : start adding ui to the JoinRoomView --- .../features/joinroom/impl/JoinRoomEvents.kt | 5 +- .../features/joinroom/impl/JoinRoomNode.kt | 2 +- .../joinroom/impl/JoinRoomPresenter.kt | 25 +- .../features/joinroom/impl/JoinRoomState.kt | 2 + .../joinroom/impl/JoinRoomStateProvider.kt | 8 + .../features/joinroom/impl/JoinRoomView.kt | 463 ++++++++++++------ .../features/joinroom/impl/di/KnockRoom.kt | 6 +- .../joinroom/impl/JoinRoomPresenterTest.kt | 2 +- .../joinroom/impl/JoinRoomViewTest.kt | 4 +- 9 files changed, 346 insertions(+), 171 deletions(-) diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomEvents.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomEvents.kt index 33bbe68c63..48d30eb763 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomEvents.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomEvents.kt @@ -10,8 +10,9 @@ package io.element.android.features.joinroom.impl sealed interface JoinRoomEvents { data object RetryFetchingContent : JoinRoomEvents data object JoinRoom : JoinRoomEvents - data object KnockRoom : JoinRoomEvents - data object ClearError : JoinRoomEvents + data class KnockRoom(val message: String) : JoinRoomEvents + data class CancelKnock(val requiresConfirmation: Boolean) : JoinRoomEvents + data object ClearActionStates : JoinRoomEvents data object AcceptInvite : JoinRoomEvents data object DeclineInvite : JoinRoomEvents } diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomNode.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomNode.kt index c0835bfca2..c6ebb1b8b5 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomNode.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomNode.kt @@ -43,7 +43,7 @@ class JoinRoomNode @AssistedInject constructor( state = state, onBackClick = ::navigateUp, onJoinSuccess = ::navigateUp, - onKnockSuccess = ::navigateUp, + onKnockSuccess = { }, modifier = modifier ) acceptDeclineInviteView.Render( diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt index 8e0fa9193e..47821ef12e 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt @@ -75,6 +75,7 @@ class JoinRoomPresenter @AssistedInject constructor( val roomInfo by matrixClient.getRoomInfoFlow(roomId.toRoomIdOrAlias()).collectAsState(initial = Optional.empty()) val joinAction: MutableState> = remember { mutableStateOf(AsyncAction.Uninitialized) } val knockAction: MutableState> = remember { mutableStateOf(AsyncAction.Uninitialized) } + val cancelKnockAction: MutableState> = remember { mutableStateOf(AsyncAction.Uninitialized) } val contentState by produceState( initialValue = ContentState.Loading(roomIdOrAlias), key1 = roomInfo, @@ -110,7 +111,7 @@ class JoinRoomPresenter @AssistedInject constructor( fun handleEvents(event: JoinRoomEvents) { when (event) { JoinRoomEvents.JoinRoom -> coroutineScope.joinRoom(joinAction) - JoinRoomEvents.KnockRoom -> coroutineScope.knockRoom(knockAction) + is JoinRoomEvents.KnockRoom -> coroutineScope.knockRoom(knockAction, event.message) JoinRoomEvents.AcceptInvite -> { val inviteData = contentState.toInviteData() ?: return acceptDeclineInviteState.eventSink( @@ -123,12 +124,14 @@ class JoinRoomPresenter @AssistedInject constructor( AcceptDeclineInviteEvents.DeclineInvite(inviteData) ) } + is JoinRoomEvents.CancelKnock -> coroutineScope.cancelKnockRoom(event.requiresConfirmation, cancelKnockAction) JoinRoomEvents.RetryFetchingContent -> { retryCount++ } - JoinRoomEvents.ClearError -> { + JoinRoomEvents.ClearActionStates -> { knockAction.value = AsyncAction.Uninitialized joinAction.value = AsyncAction.Uninitialized + cancelKnockAction.value = AsyncAction.Uninitialized } } } @@ -138,6 +141,7 @@ class JoinRoomPresenter @AssistedInject constructor( acceptDeclineInviteState = acceptDeclineInviteState, joinAction = joinAction.value, knockAction = knockAction.value, + cancelKnockAction = cancelKnockAction.value, applicationName = buildMeta.applicationName, eventSink = ::handleEvents ) @@ -153,11 +157,23 @@ class JoinRoomPresenter @AssistedInject constructor( } } - private fun CoroutineScope.knockRoom(knockAction: MutableState>) = launch { + private fun CoroutineScope.knockRoom(knockAction: MutableState>, message: String) = launch { knockAction.runUpdatingState { knockRoom(roomId) } } + + private fun CoroutineScope.cancelKnockRoom(requiresConfirmation: Boolean, cancelKnockAction: MutableState>) = launch { + if (requiresConfirmation) { + cancelKnockAction.value = AsyncAction.ConfirmingNoParams + } else { + matrixClient.getPendingRoom(roomId)?.use { room -> + cancelKnockAction.runUpdatingState { + room.leave() + } + } + } + } } private fun RoomPreview.toContentState(): ContentState { @@ -206,7 +222,7 @@ internal fun MatrixRoomInfo.toContentState(): ContentState { name = name, topic = topic, alias = canonicalAlias, - numberOfMembers = activeMembersCount.toLong(), + numberOfMembers = activeMembersCount, isDm = isDm, roomType = if (isSpace) RoomType.Space else RoomType.Room, roomAvatarUrl = avatarUrl, @@ -214,6 +230,7 @@ internal fun MatrixRoomInfo.toContentState(): ContentState { currentUserMembership == CurrentUserMembership.INVITED -> JoinAuthorisationStatus.IsInvited( inviteSender = inviter?.toInviteSender() ) + currentUserMembership == CurrentUserMembership.KNOCKED -> JoinAuthorisationStatus.IsKnocked isPublic -> JoinAuthorisationStatus.CanJoin else -> JoinAuthorisationStatus.Unknown } diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomState.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomState.kt index c37867fc46..cdf93484a9 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomState.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomState.kt @@ -24,6 +24,7 @@ data class JoinRoomState( val acceptDeclineInviteState: AcceptDeclineInviteState, val joinAction: AsyncAction, val knockAction: AsyncAction, + val cancelKnockAction: AsyncAction, val applicationName: String, val eventSink: (JoinRoomEvents) -> Unit ) { @@ -68,6 +69,7 @@ sealed interface ContentState { sealed interface JoinAuthorisationStatus { data class IsInvited(val inviteSender: InviteSender?) : JoinAuthorisationStatus + data object IsKnocked : JoinAuthorisationStatus data object CanKnock : JoinAuthorisationStatus data object CanJoin : JoinAuthorisationStatus data object Unknown : JoinAuthorisationStatus diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStateProvider.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStateProvider.kt index a560b5fea8..ab59b7ae2f 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStateProvider.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStateProvider.kt @@ -81,6 +81,12 @@ open class JoinRoomStateProvider : PreviewParameterProvider { isDm = true, ) ), + aJoinRoomState( + contentState = aLoadedContentState( + name = "A knocked Room", + joinAuthorisationStatus = JoinAuthorisationStatus.IsKnocked + ) + ) ) } @@ -124,12 +130,14 @@ fun aJoinRoomState( acceptDeclineInviteState: AcceptDeclineInviteState = anAcceptDeclineInviteState(), joinAction: AsyncAction = AsyncAction.Uninitialized, knockAction: AsyncAction = AsyncAction.Uninitialized, + cancelKnockAction: AsyncAction = AsyncAction.Uninitialized, eventSink: (JoinRoomEvents) -> Unit = {} ) = JoinRoomState( contentState = contentState, acceptDeclineInviteState = acceptDeclineInviteState, joinAction = joinAction, knockAction = knockAction, + cancelKnockAction = cancelKnockAction, applicationName = "AppName", eventSink = eventSink ) diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt index 6d86227e07..8acfc17b4a 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt @@ -7,31 +7,50 @@ package io.element.android.features.joinroom.impl +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.heightIn +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.sizeIn +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.foundation.verticalScroll import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme +import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.libraries.designsystem.atomic.atoms.PlaceholderAtom import io.element.android.libraries.designsystem.atomic.atoms.RoomPreviewDescriptionAtom import io.element.android.libraries.designsystem.atomic.atoms.RoomPreviewSubtitleAtom import io.element.android.libraries.designsystem.atomic.atoms.RoomPreviewTitleAtom import io.element.android.libraries.designsystem.atomic.molecules.ButtonRowMolecule +import io.element.android.libraries.designsystem.atomic.molecules.IconTitlePlaceholdersRowMolecule +import io.element.android.libraries.designsystem.atomic.molecules.IconTitleSubtitleMolecule import io.element.android.libraries.designsystem.atomic.molecules.RoomPreviewMembersCountMolecule import io.element.android.libraries.designsystem.atomic.organisms.RoomPreviewOrganism import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage @@ -41,11 +60,13 @@ import io.element.android.libraries.designsystem.components.avatar.Avatar import io.element.android.libraries.designsystem.components.avatar.AvatarSize import io.element.android.libraries.designsystem.components.button.BackButton import io.element.android.libraries.designsystem.components.button.SuperButton +import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight 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.OutlinedButton +import io.element.android.libraries.designsystem.theme.components.OutlinedTextField import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.matrix.api.core.RoomIdOrAlias @@ -64,17 +85,20 @@ fun JoinRoomView( Box( modifier = modifier.fillMaxSize(), ) { + var knockMessage by rememberSaveable { mutableStateOf("") } LightGradientBackground() HeaderFooterPage( containerColor = Color.Transparent, paddingValues = PaddingValues(16.dp), topBar = { - JoinRoomTopBar(onBackClick = onBackClick) + JoinRoomTopBar(contentState = state.contentState, onBackClick = onBackClick) }, content = { JoinRoomContent( contentState = state.contentState, applicationName = state.applicationName, + knockMessage = knockMessage, + onKnockMessageUpdate = { knockMessage = it }, ) }, footer = { @@ -90,7 +114,10 @@ fun JoinRoomView( state.eventSink(JoinRoomEvents.JoinRoom) }, onKnockRoom = { - state.eventSink(JoinRoomEvents.KnockRoom) + state.eventSink(JoinRoomEvents.KnockRoom(knockMessage)) + }, + onCancelKnock = { + state.eventSink(JoinRoomEvents.CancelKnock(requiresConfirmation = true)) }, onRetry = { state.eventSink(JoinRoomEvents.RetryFetchingContent) @@ -103,12 +130,27 @@ fun JoinRoomView( AsyncActionView( async = state.joinAction, onSuccess = { onJoinSuccess() }, - onErrorDismiss = { state.eventSink(JoinRoomEvents.ClearError) }, + onErrorDismiss = { state.eventSink(JoinRoomEvents.ClearActionStates) }, ) AsyncActionView( async = state.knockAction, onSuccess = { onKnockSuccess() }, - onErrorDismiss = { state.eventSink(JoinRoomEvents.ClearError) }, + onErrorDismiss = { state.eventSink(JoinRoomEvents.ClearActionStates) }, + ) + AsyncActionView( + async = state.cancelKnockAction, + onSuccess = { state.eventSink(JoinRoomEvents.ClearActionStates) }, + onErrorDismiss = { state.eventSink(JoinRoomEvents.ClearActionStates) }, + confirmationDialog = { + ConfirmationDialog( + content = stringResource(R.string.screen_join_room_cancel_knock_alert_description), + title = stringResource(R.string.screen_join_room_cancel_knock_alert_title), + submitText = stringResource(R.string.screen_join_room_cancel_knock_alert_confirmation), + cancelText = stringResource(CommonStrings.action_no), + onSubmitClick = { state.eventSink(JoinRoomEvents.CancelKnock(requiresConfirmation = false)) }, + onDismiss = { state.eventSink(JoinRoomEvents.ClearActionStates) }, + ) + }, ) } @@ -119,63 +161,77 @@ private fun JoinRoomFooter( onDeclineInvite: () -> Unit, onJoinRoom: () -> Unit, onKnockRoom: () -> Unit, + onCancelKnock: () -> Unit, onRetry: () -> Unit, onGoBack: () -> Unit, modifier: Modifier = Modifier, ) { - if (state.contentState is ContentState.Failure) { - Button( - text = stringResource(CommonStrings.action_retry), - onClick = onRetry, - modifier = modifier.fillMaxWidth(), - size = ButtonSize.Large, - ) - } else if (state.contentState is ContentState.Loaded && state.contentState.roomType == RoomType.Space) { - Button( - text = stringResource(CommonStrings.action_go_back), - onClick = onGoBack, - modifier = modifier.fillMaxWidth(), - size = ButtonSize.Large, - ) - } else { - val joinAuthorisationStatus = state.joinAuthorisationStatus - when (joinAuthorisationStatus) { - is JoinAuthorisationStatus.IsInvited -> { - ButtonRowMolecule(modifier = modifier, horizontalArrangement = Arrangement.spacedBy(20.dp)) { + Box(modifier = modifier.fillMaxWidth().padding(top = 8.dp)) { + if (state.contentState is ContentState.Failure) { + Button( + text = stringResource(CommonStrings.action_retry), + onClick = onRetry, + modifier = Modifier.fillMaxWidth(), + size = ButtonSize.Large, + ) + } else if (state.contentState is ContentState.Loaded && state.contentState.roomType == RoomType.Space) { + Button( + text = stringResource(CommonStrings.action_go_back), + onClick = onGoBack, + modifier = Modifier.fillMaxWidth(), + size = ButtonSize.Large, + ) + } else { + val joinAuthorisationStatus = state.joinAuthorisationStatus + when (joinAuthorisationStatus) { + is JoinAuthorisationStatus.IsInvited -> { + ButtonRowMolecule(horizontalArrangement = Arrangement.spacedBy(20.dp)) { + OutlinedButton( + text = stringResource(CommonStrings.action_decline), + onClick = onDeclineInvite, + modifier = Modifier.weight(1f), + size = ButtonSize.LargeLowPadding, + ) + Button( + text = stringResource(CommonStrings.action_accept), + onClick = onAcceptInvite, + modifier = Modifier.weight(1f), + size = ButtonSize.LargeLowPadding, + ) + } + } + JoinAuthorisationStatus.CanJoin -> { + SuperButton( + onClick = onJoinRoom, + modifier = Modifier.fillMaxWidth(), + buttonSize = ButtonSize.Large, + ) { + Text( + text = stringResource(R.string.screen_join_room_join_action), + ) + } + } + JoinAuthorisationStatus.CanKnock -> { + SuperButton( + onClick = onKnockRoom, + modifier = Modifier.fillMaxWidth(), + buttonSize = ButtonSize.Large, + ) { + Text( + text = stringResource(R.string.screen_join_room_knock_action), + ) + } + } + JoinAuthorisationStatus.IsKnocked -> { OutlinedButton( - text = stringResource(CommonStrings.action_decline), - onClick = onDeclineInvite, - modifier = Modifier.weight(1f), - size = ButtonSize.LargeLowPadding, - ) - Button( - text = stringResource(CommonStrings.action_accept), - onClick = onAcceptInvite, - modifier = Modifier.weight(1f), - size = ButtonSize.LargeLowPadding, + text = stringResource(R.string.screen_join_room_cancel_knock_action), + onClick = onCancelKnock, + modifier = Modifier.fillMaxWidth(), + size = ButtonSize.Large, ) } + JoinAuthorisationStatus.Unknown -> Unit } - JoinAuthorisationStatus.CanJoin -> { - SuperButton( - onClick = onJoinRoom, - modifier = modifier.fillMaxWidth(), - buttonSize = ButtonSize.Large, - ) { - Text( - text = stringResource(R.string.screen_join_room_join_action), - ) - } - } - JoinAuthorisationStatus.CanKnock -> { - Button( - text = stringResource(R.string.screen_join_room_knock_action), - onClick = onKnockRoom, - modifier = modifier.fillMaxWidth(), - size = ButtonSize.Large, - ) - } - JoinAuthorisationStatus.Unknown -> Unit } } } @@ -184,132 +240,219 @@ private fun JoinRoomFooter( private fun JoinRoomContent( contentState: ContentState, applicationName: String, + knockMessage: String, + onKnockMessageUpdate: (String) -> Unit, modifier: Modifier = Modifier, ) { - when (contentState) { - is ContentState.Loaded -> { - RoomPreviewOrganism( - modifier = modifier, - avatar = { - Avatar(contentState.avatarData(AvatarSize.RoomHeader)) - }, - title = { - if (contentState.name != null) { - RoomPreviewTitleAtom( - title = contentState.name, + Box(modifier = modifier) { + when (contentState) { + is ContentState.Loaded -> { + when (contentState.joinAuthorisationStatus) { + is JoinAuthorisationStatus.IsKnocked -> { + IsKnockedLoadedContent() + } + else -> { + DefaultLoadedContent( + modifier = Modifier.verticalScroll(rememberScrollState()), + contentState = contentState, + applicationName = applicationName, + knockMessage = knockMessage, + onKnockMessageUpdate = onKnockMessageUpdate ) - } else { - RoomPreviewTitleAtom( - title = stringResource(id = CommonStrings.common_no_room_name), - fontStyle = FontStyle.Italic - ) - } - }, - subtitle = { - if (contentState.alias != null) { - RoomPreviewSubtitleAtom(contentState.alias.value) - } - }, - description = { - Column( - horizontalAlignment = Alignment.CenterHorizontally, - verticalArrangement = Arrangement.spacedBy(8.dp), - ) { - val inviteSender = (contentState.joinAuthorisationStatus as? JoinAuthorisationStatus.IsInvited)?.inviteSender - if (inviteSender != null) { - InviteSenderView(inviteSender = inviteSender) - } - RoomPreviewDescriptionAtom(contentState.topic ?: "") - if (contentState.roomType == RoomType.Space) { - Spacer(modifier = Modifier.height(24.dp)) - Text( - text = stringResource(R.string.screen_join_room_space_not_supported_title), - textAlign = TextAlign.Center, - style = ElementTheme.typography.fontBodyLgMedium, - color = MaterialTheme.colorScheme.primary, - ) - Text( - text = stringResource(R.string.screen_join_room_space_not_supported_description, applicationName), - textAlign = TextAlign.Center, - style = ElementTheme.typography.fontBodyMdRegular, - color = MaterialTheme.colorScheme.secondary, - ) - } - } - }, - memberCount = { - if (contentState.showMemberCount) { - RoomPreviewMembersCountMolecule(memberCount = contentState.numberOfMembers ?: 0) } } - ) - } - is ContentState.UnknownRoom -> { - RoomPreviewOrganism( - modifier = modifier, - avatar = { - PlaceholderAtom(width = AvatarSize.RoomHeader.dp, height = AvatarSize.RoomHeader.dp) - }, - title = { - RoomPreviewTitleAtom(stringResource(R.string.screen_join_room_title_no_preview)) - }, - subtitle = { - RoomPreviewSubtitleAtom(stringResource(R.string.screen_join_room_subtitle_no_preview)) - }, - ) - } - is ContentState.Loading -> { - RoomPreviewOrganism( - modifier = modifier, - avatar = { - PlaceholderAtom(width = AvatarSize.RoomHeader.dp, height = AvatarSize.RoomHeader.dp) - }, - title = { - PlaceholderAtom(width = 200.dp, height = 22.dp) - }, - subtitle = { - PlaceholderAtom(width = 140.dp, height = 20.dp) - }, - ) - } - is ContentState.Failure -> { - RoomPreviewOrganism( - modifier = modifier, - avatar = { - PlaceholderAtom(width = AvatarSize.RoomHeader.dp, height = AvatarSize.RoomHeader.dp) - }, - title = { - when (contentState.roomIdOrAlias) { - is RoomIdOrAlias.Alias -> { - RoomPreviewTitleAtom(contentState.roomIdOrAlias.identifier) + } + is ContentState.UnknownRoom -> { + RoomPreviewOrganism( + avatar = { + PlaceholderAtom(width = AvatarSize.RoomHeader.dp, height = AvatarSize.RoomHeader.dp) + }, + title = { + RoomPreviewTitleAtom(stringResource(R.string.screen_join_room_title_no_preview)) + }, + subtitle = { + RoomPreviewSubtitleAtom(stringResource(R.string.screen_join_room_subtitle_no_preview)) + }, + ) + } + is ContentState.Loading -> { + RoomPreviewOrganism( + avatar = { + PlaceholderAtom(width = AvatarSize.RoomHeader.dp, height = AvatarSize.RoomHeader.dp) + }, + title = { + PlaceholderAtom(width = 200.dp, height = 22.dp) + }, + subtitle = { + PlaceholderAtom(width = 140.dp, height = 20.dp) + }, + ) + } + is ContentState.Failure -> { + RoomPreviewOrganism( + avatar = { + PlaceholderAtom(width = AvatarSize.RoomHeader.dp, height = AvatarSize.RoomHeader.dp) + }, + title = { + when (contentState.roomIdOrAlias) { + is RoomIdOrAlias.Alias -> { + RoomPreviewTitleAtom(contentState.roomIdOrAlias.identifier) + } + is RoomIdOrAlias.Id -> { + PlaceholderAtom(width = 200.dp, height = 22.dp) + } } - is RoomIdOrAlias.Id -> { - PlaceholderAtom(width = 200.dp, height = 22.dp) - } - } - }, - subtitle = { - Text( - text = stringResource(id = CommonStrings.error_unknown), - textAlign = TextAlign.Center, - color = MaterialTheme.colorScheme.error, - ) - }, - ) + }, + subtitle = { + Text( + text = stringResource(id = CommonStrings.error_unknown), + textAlign = TextAlign.Center, + color = MaterialTheme.colorScheme.error, + ) + }, + ) + } } } } +@Composable +fun IsKnockedLoadedContent(modifier: Modifier = Modifier) { + BoxWithConstraints( + modifier = modifier + .fillMaxHeight() + .padding(horizontal = 16.dp), + contentAlignment = Alignment.Center, + ) { + IconTitleSubtitleMolecule( + modifier = Modifier.sizeIn(minHeight = maxHeight*0.7f), + iconImageVector = CompoundIcons.CheckCircleSolid(), + title = stringResource(R.string.screen_join_room_knock_sent_title), + subTitle = stringResource(R.string.screen_join_room_knock_sent_description), + iconTint = ElementTheme.colors.iconSuccessPrimary, + iconBackgroundTint = ElementTheme.colors.bgSuccessSubtle, + ) + } +} + +@Composable +private fun DefaultLoadedContent( + contentState: ContentState.Loaded, + applicationName: String, + knockMessage: String, + onKnockMessageUpdate: (String) -> Unit, + modifier: Modifier = Modifier, +) { + RoomPreviewOrganism( + modifier = modifier, + avatar = { + Avatar(contentState.avatarData(AvatarSize.RoomHeader)) + }, + title = { + if (contentState.name != null) { + RoomPreviewTitleAtom( + title = contentState.name, + ) + } else { + RoomPreviewTitleAtom( + title = stringResource(id = CommonStrings.common_no_room_name), + fontStyle = FontStyle.Italic + ) + } + }, + subtitle = { + if (contentState.alias != null) { + RoomPreviewSubtitleAtom(contentState.alias.value) + } + }, + description = { + Column( + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.spacedBy(8.dp), + ) { + val inviteSender = (contentState.joinAuthorisationStatus as? JoinAuthorisationStatus.IsInvited)?.inviteSender + if (inviteSender != null) { + InviteSenderView(inviteSender = inviteSender) + } + RoomPreviewDescriptionAtom(contentState.topic ?: "") + if (contentState.roomType == RoomType.Space) { + Spacer(modifier = Modifier.height(24.dp)) + Text( + text = stringResource(R.string.screen_join_room_space_not_supported_title), + textAlign = TextAlign.Center, + style = ElementTheme.typography.fontBodyLgMedium, + color = MaterialTheme.colorScheme.primary, + ) + Text( + text = stringResource(R.string.screen_join_room_space_not_supported_description, applicationName), + textAlign = TextAlign.Center, + style = ElementTheme.typography.fontBodyMdRegular, + color = MaterialTheme.colorScheme.secondary, + ) + } else if (contentState.joinAuthorisationStatus is JoinAuthorisationStatus.CanKnock) { + Spacer(modifier = Modifier.height(24.dp)) + OutlinedTextField( + value = knockMessage, + onValueChange = onKnockMessageUpdate, + modifier = Modifier + .fillMaxWidth() + .heightIn(min = 90.dp) + ) + Text( + text = stringResource(R.string.screen_join_room_knock_message_description), + style = ElementTheme.typography.fontBodySmRegular, + color = ElementTheme.colors.textPlaceholder, + textAlign = TextAlign.Start, + modifier = Modifier.fillMaxWidth() + ) + } + } + }, + memberCount = { + if (contentState.showMemberCount) { + RoomPreviewMembersCountMolecule(memberCount = contentState.numberOfMembers ?: 0) + } + } + ) +} + @OptIn(ExperimentalMaterial3Api::class) @Composable private fun JoinRoomTopBar( + contentState: ContentState, onBackClick: () -> Unit, ) { TopAppBar( navigationIcon = { BackButton(onClick = onBackClick) }, - title = {}, + title = { + if (contentState is ContentState.Loaded && contentState.joinAuthorisationStatus is JoinAuthorisationStatus.IsKnocked) { + val roundedCornerShape = RoundedCornerShape(8.dp) + val titleModifier = Modifier + .clip(roundedCornerShape) + if (contentState.name != null) { + Row( + modifier = titleModifier, + verticalAlignment = Alignment.CenterVertically + ) { + Avatar(avatarData = contentState.avatarData(AvatarSize.TimelineRoom)) + Text( + modifier = Modifier.padding(horizontal = 8.dp), + text = contentState.name, + style = ElementTheme.typography.fontBodyLgMedium, + maxLines = 1, + overflow = TextOverflow.Ellipsis + ) + } + } else { + IconTitlePlaceholdersRowMolecule( + iconSize = AvatarSize.TimelineRoom.dp, + modifier = titleModifier + ) + } + } + }, ) } diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/KnockRoom.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/KnockRoom.kt index b2fc94cdd6..9056687b37 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/KnockRoom.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/KnockRoom.kt @@ -19,5 +19,9 @@ interface KnockRoom { @ContributesBinding(SessionScope::class) class DefaultKnockRoom @Inject constructor(private val client: MatrixClient) : KnockRoom { - override suspend fun invoke(roomId: RoomId) = client.knockRoom(roomId) + override suspend fun invoke(roomId: RoomId): Result { + return client + .knockRoom(roomId) + .map { } + } } diff --git a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenterTest.kt b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenterTest.kt index 0a323122ac..9d9574a0f3 100644 --- a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenterTest.kt +++ b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenterTest.kt @@ -214,7 +214,7 @@ class JoinRoomPresenterTest { } awaitItem().also { state -> assertThat(state.joinAction).isEqualTo(AsyncAction.Failure(AN_EXCEPTION)) - state.eventSink(JoinRoomEvents.ClearError) + state.eventSink(JoinRoomEvents.ClearActionStates) } awaitItem().also { state -> assertThat(state.joinAction).isEqualTo(AsyncAction.Uninitialized) diff --git a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomViewTest.kt b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomViewTest.kt index a120b74e9e..dc93bac2ea 100644 --- a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomViewTest.kt +++ b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomViewTest.kt @@ -79,7 +79,7 @@ class JoinRoomViewTest { ), ) rule.clickOn(CommonStrings.action_ok) - eventsRecorder.assertSingle(JoinRoomEvents.ClearError) + eventsRecorder.assertSingle(JoinRoomEvents.ClearActionStates) } @Test @@ -93,7 +93,7 @@ class JoinRoomViewTest { ), ) rule.clickOn(CommonStrings.action_ok) - eventsRecorder.assertSingle(JoinRoomEvents.ClearError) + eventsRecorder.assertSingle(JoinRoomEvents.ClearActionStates) } @Test From 91574d3dfa2b55372c85fc73b7222a14796a5550 Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 22 Oct 2024 15:30:27 +0200 Subject: [PATCH 40/93] misc : fix invite sender view --- .../libraries/matrix/ui/components/InviteSenderView.kt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/InviteSenderView.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/InviteSenderView.kt index b78e731aff..f5af6ec0d4 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/InviteSenderView.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/InviteSenderView.kt @@ -8,7 +8,9 @@ package io.element.android.libraries.matrix.ui.components import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.padding import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment @@ -30,11 +32,12 @@ fun InviteSenderView( modifier: Modifier = Modifier ) { Row( - horizontalArrangement = Arrangement.spacedBy(4.dp), - verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(8.dp), modifier = modifier, ) { + Box(modifier = Modifier.padding(vertical = 2.dp)){ Avatar(avatarData = inviteSender.avatarData) + } Text( text = inviteSender.annotatedString(), style = ElementTheme.typography.fontBodyMdRegular, From b5b83660c28903a29eb5ac4030f6119dd2a96c49 Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 22 Oct 2024 15:30:59 +0200 Subject: [PATCH 41/93] knock : display alias in knocked room item list --- .../impl/components/RoomSummaryRow.kt | 145 ++++++++++-------- .../impl/model/RoomListRoomSummaryProvider.kt | 5 + 2 files changed, 82 insertions(+), 68 deletions(-) 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 7a8fc00335..dce7acf2f0 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 @@ -12,6 +12,7 @@ import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement.Absolute.spacedBy +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.IntrinsicSize @@ -73,78 +74,86 @@ internal fun RoomSummaryRow( eventSink: (RoomListEvents) -> Unit, modifier: Modifier = Modifier, ) { - when (room.displayType) { - RoomSummaryDisplayType.PLACEHOLDER -> { - RoomSummaryPlaceholderRow(modifier = modifier) - } - RoomSummaryDisplayType.INVITE -> { - RoomSummaryScaffoldRow( - room = room, - onClick = onClick, - onLongClick = { - Timber.d("Long click on invite room") - }, - modifier = modifier - ) { - InviteNameAndIndicatorRow(name = room.name) - InviteSubtitle(isDm = room.isDm, inviteSender = room.inviteSender, canonicalAlias = room.canonicalAlias) - if (!room.isDm && room.inviteSender != null) { - Spacer(modifier = Modifier.height(4.dp)) - InviteSenderView( - modifier = Modifier.fillMaxWidth(), - inviteSender = room.inviteSender, + Box(modifier = modifier) { + when (room.displayType) { + RoomSummaryDisplayType.PLACEHOLDER -> { + RoomSummaryPlaceholderRow() + } + RoomSummaryDisplayType.INVITE -> { + RoomSummaryScaffoldRow( + room = room, + onClick = onClick, + onLongClick = { + Timber.d("Long click on invite room") + }, + ) { + InviteNameAndIndicatorRow(name = room.name) + InviteSubtitle(isDm = room.isDm, inviteSender = room.inviteSender, canonicalAlias = room.canonicalAlias) + if (!room.isDm && room.inviteSender != null) { + Spacer(modifier = Modifier.height(4.dp)) + InviteSenderView( + modifier = Modifier.fillMaxWidth(), + inviteSender = room.inviteSender, + ) + } + Spacer(modifier = Modifier.height(12.dp)) + InviteButtonsRow( + onAcceptClick = { + eventSink(RoomListEvents.AcceptInvite(room)) + }, + onDeclineClick = { + eventSink(RoomListEvents.DeclineInvite(room)) + } ) } - Spacer(modifier = Modifier.height(12.dp)) - InviteButtonsRow( - onAcceptClick = { - eventSink(RoomListEvents.AcceptInvite(room)) + } + RoomSummaryDisplayType.ROOM -> { + RoomSummaryScaffoldRow( + room = room, + onClick = onClick, + onLongClick = { + eventSink(RoomListEvents.ShowContextMenu(room)) }, - onDeclineClick = { - eventSink(RoomListEvents.DeclineInvite(room)) + ) { + NameAndTimestampRow( + name = room.name, + timestamp = room.timestamp, + isHighlighted = room.isHighlighted + ) + LastMessageAndIndicatorRow(room = room) + } + } + RoomSummaryDisplayType.KNOCKED -> { + RoomSummaryScaffoldRow( + room = room, + onClick = onClick, + onLongClick = { + Timber.d("Long click on knocked room") + }, + ) { + NameAndTimestampRow( + name = room.name, + timestamp = null, + isHighlighted = room.isHighlighted + ) + if (room.canonicalAlias != null) { + Text( + text = room.canonicalAlias.value, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + style = ElementTheme.typography.fontBodyMdRegular, + color = ElementTheme.colors.textSecondary, + ) + Spacer(modifier = Modifier.height(4.dp)) } - ) - } - } - RoomSummaryDisplayType.ROOM -> { - RoomSummaryScaffoldRow( - room = room, - onClick = onClick, - onLongClick = { - eventSink(RoomListEvents.ShowContextMenu(room)) - }, - modifier = modifier - ) { - NameAndTimestampRow( - name = room.name, - timestamp = room.timestamp, - isHighlighted = room.isHighlighted - ) - LastMessageAndIndicatorRow(room = room) - } - } - RoomSummaryDisplayType.KNOCKED -> { - RoomSummaryScaffoldRow( - room = room, - onClick = onClick, - onLongClick = { - Timber.d("Long click on knocked room") - }, - modifier = modifier - ) { - NameAndTimestampRow( - name = room.name, - timestamp = room.timestamp, - isHighlighted = room.isHighlighted - ) - Text( - text = stringResource(id = R.string.screen_join_room_knock_sent_title), - maxLines = 1, - overflow = TextOverflow.Ellipsis, - style = ElementTheme.typography.fontBodyMdRegular, - color = ElementTheme.colors.textSecondary, - modifier = modifier, - ) + Text( + text = stringResource(id = R.string.screen_join_room_knock_sent_title), + maxLines = 1, + overflow = TextOverflow.Ellipsis, + style = ElementTheme.typography.fontBodyMdRegular, + color = ElementTheme.colors.textSecondary, + ) + } } } } diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt index 670d8d3f38..55cd89d0ce 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt @@ -105,6 +105,11 @@ open class RoomListRoomSummaryProvider : PreviewParameterProvider Date: Tue, 22 Oct 2024 16:16:43 +0200 Subject: [PATCH 42/93] knock : close screen when canceling knock --- .../io/element/android/features/joinroom/impl/JoinRoomNode.kt | 1 + .../io/element/android/features/joinroom/impl/JoinRoomView.kt | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomNode.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomNode.kt index c6ebb1b8b5..44f4d8def0 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomNode.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomNode.kt @@ -43,6 +43,7 @@ class JoinRoomNode @AssistedInject constructor( state = state, onBackClick = ::navigateUp, onJoinSuccess = ::navigateUp, + onCancelKnockSuccess = ::navigateUp, onKnockSuccess = { }, modifier = modifier ) diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt index 8acfc17b4a..fbbe019537 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt @@ -80,6 +80,7 @@ fun JoinRoomView( onBackClick: () -> Unit, onJoinSuccess: () -> Unit, onKnockSuccess: () -> Unit, + onCancelKnockSuccess: () -> Unit, modifier: Modifier = Modifier, ) { Box( @@ -139,7 +140,7 @@ fun JoinRoomView( ) AsyncActionView( async = state.cancelKnockAction, - onSuccess = { state.eventSink(JoinRoomEvents.ClearActionStates) }, + onSuccess = { onCancelKnockSuccess() }, onErrorDismiss = { state.eventSink(JoinRoomEvents.ClearActionStates) }, confirmationDialog = { ConfirmationDialog( @@ -464,5 +465,6 @@ internal fun JoinRoomViewPreview(@PreviewParameter(JoinRoomStateProvider::class) onBackClick = { }, onJoinSuccess = { }, onKnockSuccess = { }, + onCancelKnockSuccess = { }, ) } From 6afc72e4538815d26e275f2016c7ed30507b92c7 Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 22 Oct 2024 16:49:39 +0200 Subject: [PATCH 43/93] knock : adjust api while sdk is not ready. --- .../joinroom/impl/JoinRoomPresenter.kt | 11 +++++++--- .../features/joinroom/impl/JoinRoomView.kt | 20 ++++++++++--------- .../matrix/impl/room/RustRoomFactory.kt | 3 ++- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt index 47821ef12e..19d33ca8a3 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt @@ -167,9 +167,14 @@ class JoinRoomPresenter @AssistedInject constructor( if (requiresConfirmation) { cancelKnockAction.value = AsyncAction.ConfirmingNoParams } else { - matrixClient.getPendingRoom(roomId)?.use { room -> - cancelKnockAction.runUpdatingState { - room.leave() + val room = matrixClient.getRoom(roomId) + if (room == null) { + cancelKnockAction.value = AsyncAction.Failure(RuntimeException()) + } else { + room.use { + cancelKnockAction.runUpdatingState { + room.leave() + } } } } diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt index fbbe019537..6937219aa3 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt @@ -7,7 +7,6 @@ package io.element.android.features.joinroom.impl -import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxWithConstraints @@ -43,7 +42,6 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme -import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.libraries.designsystem.atomic.atoms.PlaceholderAtom import io.element.android.libraries.designsystem.atomic.atoms.RoomPreviewDescriptionAtom import io.element.android.libraries.designsystem.atomic.atoms.RoomPreviewSubtitleAtom @@ -55,6 +53,7 @@ import io.element.android.libraries.designsystem.atomic.molecules.RoomPreviewMem import io.element.android.libraries.designsystem.atomic.organisms.RoomPreviewOrganism import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage import io.element.android.libraries.designsystem.background.LightGradientBackground +import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.components.async.AsyncActionView import io.element.android.libraries.designsystem.components.avatar.Avatar import io.element.android.libraries.designsystem.components.avatar.AvatarSize @@ -142,6 +141,9 @@ fun JoinRoomView( async = state.cancelKnockAction, onSuccess = { onCancelKnockSuccess() }, onErrorDismiss = { state.eventSink(JoinRoomEvents.ClearActionStates) }, + errorMessage = { + stringResource(CommonStrings.error_unknown) + }, confirmationDialog = { ConfirmationDialog( content = stringResource(R.string.screen_join_room_cancel_knock_alert_description), @@ -167,7 +169,9 @@ private fun JoinRoomFooter( onGoBack: () -> Unit, modifier: Modifier = Modifier, ) { - Box(modifier = modifier.fillMaxWidth().padding(top = 8.dp)) { + Box(modifier = modifier + .fillMaxWidth() + .padding(top = 8.dp)) { if (state.contentState is ContentState.Failure) { Button( text = stringResource(CommonStrings.action_retry), @@ -321,17 +325,15 @@ private fun JoinRoomContent( fun IsKnockedLoadedContent(modifier: Modifier = Modifier) { BoxWithConstraints( modifier = modifier - .fillMaxHeight() - .padding(horizontal = 16.dp), + .fillMaxHeight() + .padding(horizontal = 16.dp), contentAlignment = Alignment.Center, ) { IconTitleSubtitleMolecule( - modifier = Modifier.sizeIn(minHeight = maxHeight*0.7f), - iconImageVector = CompoundIcons.CheckCircleSolid(), + modifier = Modifier.sizeIn(minHeight = maxHeight * 0.7f), + iconStyle = BigIcon.Style.SuccessSolid, title = stringResource(R.string.screen_join_room_knock_sent_title), subTitle = stringResource(R.string.screen_join_room_knock_sent_description), - iconTint = ElementTheme.colors.iconSuccessPrimary, - iconBackgroundTint = ElementTheme.colors.bgSuccessSubtle, ) } } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt index 0656cb9cf9..6b076d4b91 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt @@ -137,7 +137,8 @@ class RustRoomFactory( return@withContext null } val innerRoom = try { - roomListItem.roomWithoutTimeline() + // TODO use new method when available, for now it'll fail for knocked rooms + roomListItem.invitedRoom() } catch (e: RoomListException) { Timber.e(e, "Failed to get pending room for $roomId") return@withContext null From eddbcb9499c809f205934397f188642cf1e0522d Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 23 Oct 2024 12:59:56 +0200 Subject: [PATCH 44/93] Let roomBadges be a computed val of RoomDetailsState --- .../roomdetails/impl/RoomDetailsPresenter.kt | 17 ------ .../roomdetails/impl/RoomDetailsState.kt | 17 +++++- .../impl/RoomDetailsStateProvider.kt | 13 ----- .../{ => impl}/RoomDetailsPresenterTest.kt | 57 +------------------ .../roomdetails/impl/RoomDetailsStateTest.kt | 56 ++++++++++++++++++ 5 files changed, 74 insertions(+), 86 deletions(-) rename features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/{ => impl}/RoomDetailsPresenterTest.kt (92%) create mode 100644 features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateTest.kt 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 2594fd5509..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 @@ -43,7 +43,6 @@ import io.element.android.libraries.matrix.ui.room.getDirectRoomMember import io.element.android.libraries.matrix.ui.room.isOwnUserAdmin import io.element.android.services.analytics.api.AnalyticsService import io.element.android.services.analyticsproviders.api.trackers.captureInteraction -import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.toPersistentList import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.launchIn @@ -113,21 +112,6 @@ class RoomDetailsPresenter @Inject constructor( val roomNotificationSettingsState by room.roomNotificationSettingsStateFlow.collectAsState() - val roomBadges by produceState(persistentListOf(), isPublic) { - value = buildList { - if (room.isEncrypted || isPublic) { - if (room.isEncrypted) { - add(RoomBadge.ENCRYPTED) - } else { - add(RoomBadge.NOT_ENCRYPTED) - } - } - if (isPublic) { - add(RoomBadge.PUBLIC) - } - }.toPersistentList() - } - fun handleEvents(event: RoomDetailsEvent) { when (event) { RoomDetailsEvent.LeaveRoom -> @@ -167,7 +151,6 @@ class RoomDetailsPresenter @Inject constructor( isFavorite = isFavorite, displayRolesAndPermissionsSettings = !room.isDm && isUserAdmin, isPublic = isPublic, - roomBadges = roomBadges, heroes = roomInfo?.heroes.orEmpty().toPersistentList(), canShowPinnedMessages = canShowPinnedMessages, pinnedMessagesCount = pinnedMessagesCount, diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt index 21fa239c82..2208748563 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsState.kt @@ -16,6 +16,7 @@ import io.element.android.libraries.matrix.api.room.RoomMember import io.element.android.libraries.matrix.api.room.RoomNotificationSettings import io.element.android.libraries.matrix.api.user.MatrixUser import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.toPersistentList data class RoomDetailsState( val roomId: RoomId, @@ -36,12 +37,24 @@ data class RoomDetailsState( val isFavorite: Boolean, val displayRolesAndPermissionsSettings: Boolean, val isPublic: Boolean, - val roomBadges: ImmutableList, val heroes: ImmutableList, val canShowPinnedMessages: Boolean, val pinnedMessagesCount: Int?, val eventSink: (RoomDetailsEvent) -> Unit -) +) { + val roomBadges = buildList { + if (isEncrypted || isPublic) { + if (isEncrypted) { + add(RoomBadge.ENCRYPTED) + } else { + add(RoomBadge.NOT_ENCRYPTED) + } + } + if (isPublic) { + add(RoomBadge.PUBLIC) + } + }.toPersistentList() +} @Immutable sealed interface RoomDetailsType { diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt index 5462bc65a7..d9b0c22c65 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt @@ -96,18 +96,6 @@ fun aRoomDetailsState( isFavorite: Boolean = false, displayAdminSettings: Boolean = false, isPublic: Boolean = true, - roomBadges: List = buildList { - if (isEncrypted || isPublic) { - if (isEncrypted) { - add(RoomBadge.ENCRYPTED) - } else { - add(RoomBadge.NOT_ENCRYPTED) - } - } - if (isPublic) { - add(RoomBadge.PUBLIC) - } - }, heroes: List = emptyList(), canShowPinnedMessages: Boolean = true, pinnedMessagesCount: Int? = null, @@ -131,7 +119,6 @@ fun aRoomDetailsState( isFavorite = isFavorite, displayRolesAndPermissionsSettings = displayAdminSettings, isPublic = isPublic, - roomBadges = roomBadges.toPersistentList(), heroes = heroes.toPersistentList(), canShowPinnedMessages = canShowPinnedMessages, pinnedMessagesCount = pinnedMessagesCount, 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/impl/RoomDetailsPresenterTest.kt similarity index 92% rename from features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/RoomDetailsPresenterTest.kt rename to features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsPresenterTest.kt index e678a31641..ea83f89181 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/impl/RoomDetailsPresenterTest.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.features.roomdetails +package io.element.android.features.roomdetails.impl import androidx.lifecycle.Lifecycle import app.cash.molecule.RecompositionMode @@ -17,12 +17,7 @@ import im.vector.app.features.analytics.plan.Interaction import io.element.android.features.leaveroom.api.LeaveRoomEvent import io.element.android.features.leaveroom.api.LeaveRoomState import io.element.android.features.leaveroom.api.aLeaveRoomState -import io.element.android.features.roomdetails.impl.RoomBadge -import io.element.android.features.roomdetails.impl.RoomDetailsEvent -import io.element.android.features.roomdetails.impl.RoomDetailsPresenter -import io.element.android.features.roomdetails.impl.RoomDetailsState -import io.element.android.features.roomdetails.impl.RoomDetailsType -import io.element.android.features.roomdetails.impl.RoomTopicState +import io.element.android.features.roomdetails.aMatrixRoom import io.element.android.features.roomdetails.impl.members.aRoomMember import io.element.android.features.roomdetails.impl.members.details.RoomMemberDetailsPresenter import io.element.android.features.userprofile.shared.aUserProfileState @@ -126,6 +121,7 @@ class RoomDetailsPresenterTest { ) val presenter = createRoomDetailsPresenter(room) presenter.test { + skipItems(1) val initialState = awaitItem() assertThat(initialState.roomId).isEqualTo(room.roomId) assertThat(initialState.roomName).isEqualTo(room.displayName) @@ -135,8 +131,6 @@ class RoomDetailsPresenterTest { assertThat(initialState.isEncrypted).isEqualTo(room.isEncrypted) assertThat(initialState.canShowPinnedMessages).isTrue() assertThat(initialState.pinnedMessagesCount).isNull() - assertThat(initialState.roomBadges).isEmpty() - assertThat(awaitItem().roomBadges).isEqualTo(listOf(RoomBadge.ENCRYPTED)) } } @@ -164,55 +158,10 @@ class RoomDetailsPresenterTest { assertThat(updatedState.roomAvatarUrl).isEqualTo(roomInfo.avatarUrl) assertThat(updatedState.roomTopic).isEqualTo(RoomTopicState.ExistingTopic(roomInfo.topic!!)) assertThat(updatedState.pinnedMessagesCount).isEqualTo(roomInfo.pinnedEventIds.size) - assertThat(updatedState.roomBadges).isEqualTo(listOf(RoomBadge.ENCRYPTED, RoomBadge.PUBLIC)) cancelAndIgnoreRemainingEvents() } } - @Test - fun `present - initial state not public not encrypted should have no badges`() = runTest { - val roomInfo = aRoomInfo( - name = A_ROOM_NAME, - isPublic = false, - ) - val room = aMatrixRoom( - isEncrypted = false, - canInviteResult = { Result.success(true) }, - canUserJoinCallResult = { Result.success(true) }, - canSendStateResult = { _, _ -> Result.success(true) }, - ).apply { - givenRoomInfo(roomInfo) - } - val presenter = createRoomDetailsPresenter(room) - presenter.test { - skipItems(1) - val updatedState = awaitItem() - assertThat(updatedState.roomBadges).isEmpty() - } - } - - @Test - fun `present - initial state public not encrypted should have not encrypted and public badges`() = runTest { - val roomInfo = aRoomInfo( - name = A_ROOM_NAME, - isPublic = true, - ) - val room = aMatrixRoom( - isEncrypted = false, - canInviteResult = { Result.success(true) }, - canUserJoinCallResult = { Result.success(true) }, - canSendStateResult = { _, _ -> Result.success(true) }, - ).apply { - givenRoomInfo(roomInfo) - } - val presenter = createRoomDetailsPresenter(room) - presenter.test { - skipItems(1) - val updatedState = awaitItem() - assertThat(updatedState.roomBadges).isEqualTo(listOf(RoomBadge.NOT_ENCRYPTED, RoomBadge.PUBLIC)) - } - } - @Test fun `present - initial state with no room name`() = runTest { val room = aMatrixRoom( diff --git a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateTest.kt b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateTest.kt new file mode 100644 index 0000000000..65e291a9a1 --- /dev/null +++ b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateTest.kt @@ -0,0 +1,56 @@ +/* + * 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 + +import com.google.common.truth.Truth.assertThat +import kotlinx.collections.immutable.persistentListOf +import org.junit.Test + +class RoomDetailsStateTest { + @Test + fun `room not public not encrypted should have no badges`() { + val sut = aRoomDetailsState( + isPublic = false, + isEncrypted = false, + ) + assertThat(sut.roomBadges).isEmpty() + } + + @Test + fun `room public not encrypted should have not encrypted and public badges`() { + val sut = aRoomDetailsState( + isPublic = true, + isEncrypted = false, + ) + assertThat(sut.roomBadges).isEqualTo( + persistentListOf(RoomBadge.NOT_ENCRYPTED, RoomBadge.PUBLIC) + ) + } + + @Test + fun `room public encrypted should have encrypted and public badges`() { + val sut = aRoomDetailsState( + isPublic = true, + isEncrypted = true, + ) + assertThat(sut.roomBadges).isEqualTo( + persistentListOf(RoomBadge.ENCRYPTED, RoomBadge.PUBLIC) + ) + } + + @Test + fun `room not public encrypted should have encrypted badges`() { + val sut = aRoomDetailsState( + isPublic = false, + isEncrypted = true, + ) + assertThat(sut.roomBadges).isEqualTo( + persistentListOf(RoomBadge.ENCRYPTED) + ) + } +} From ba16616caa7ef8cb494fff80a41cc87b1749831f Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 23 Oct 2024 13:06:55 +0200 Subject: [PATCH 45/93] Ensure modifier of `BadgeList` is used. --- .../roomdetails/impl/RoomDetailsView.kt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt index b37b23a898..163a2c5fd5 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsView.kt @@ -10,6 +10,7 @@ package io.element.android.features.roomdetails.impl import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.Row @@ -405,13 +406,15 @@ private fun BadgeList( roomBadge: ImmutableList, modifier: Modifier = Modifier, ) { - if (roomBadge.isEmpty()) return - MatrixBadgeRowMolecule( - modifier = modifier, - data = roomBadge.map { - it.toMatrixBadgeData() - }.toImmutableList(), - ) + Box(modifier = modifier) { + if (roomBadge.isNotEmpty()) { + MatrixBadgeRowMolecule( + data = roomBadge.map { + it.toMatrixBadgeData() + }.toImmutableList(), + ) + } + } } @Composable From 774389474b8521161a12242bf3fee1313b3988cd Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 23 Oct 2024 13:07:30 +0200 Subject: [PATCH 46/93] Change a preview to have a room detail state without any badge. --- .../features/roomdetails/impl/RoomDetailsStateProvider.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt index d9b0c22c65..4f95c0d723 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt @@ -33,7 +33,7 @@ open class RoomDetailsStateProvider : PreviewParameterProvider aRoomDetailsState(isEncrypted = false), aRoomDetailsState(roomAlias = null), aDmRoomDetailsState(), - aDmRoomDetailsState(isDmMemberIgnored = true), + aDmRoomDetailsState(isDmMemberIgnored = true, roomName = "Daniel (ignored and clear)", isEncrypted = false), aRoomDetailsState(canInvite = true), aRoomDetailsState(isFavorite = true), aRoomDetailsState( @@ -136,12 +136,14 @@ fun aRoomNotificationSettings( fun aDmRoomDetailsState( isDmMemberIgnored: Boolean = false, roomName: String = "Daniel", + isEncrypted: Boolean = true, ) = aRoomDetailsState( roomName = roomName, isPublic = false, + isEncrypted = isEncrypted, roomType = RoomDetailsType.Dm( - aRoomMember(), - aDmRoomMember(isIgnored = isDmMemberIgnored), + me = aRoomMember(), + otherMember = aDmRoomMember(isIgnored = isDmMemberIgnored), ), roomMemberDetailsState = aUserProfileState() ) From 6b52dfa1aee772feaa431f13308f2bb98061bd22 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 23 Oct 2024 13:13:40 +0200 Subject: [PATCH 47/93] Fix preview for ignore user in a DM case. --- .../features/roomdetails/impl/RoomDetailsStateProvider.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt index 4f95c0d723..7e71d2b39f 100644 --- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt +++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/RoomDetailsStateProvider.kt @@ -13,6 +13,7 @@ import io.element.android.features.leaveroom.api.aLeaveRoomState import io.element.android.features.roomdetails.impl.members.aRoomMember import io.element.android.features.userprofile.api.UserProfileState import io.element.android.features.userprofile.shared.aUserProfileState +import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.matrix.api.core.RoomAlias import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.core.UserId @@ -145,5 +146,7 @@ fun aDmRoomDetailsState( me = aRoomMember(), otherMember = aDmRoomMember(isIgnored = isDmMemberIgnored), ), - roomMemberDetailsState = aUserProfileState() + roomMemberDetailsState = aUserProfileState( + isBlocked = AsyncData.Success(isDmMemberIgnored), + ) ) From 06fadcd6df2745f2cbed50b75faa81d8830e8cfe Mon Sep 17 00:00:00 2001 From: ElementBot Date: Wed, 23 Oct 2024 11:23:26 +0000 Subject: [PATCH 48/93] Update screenshots --- .../images/features.roomdetails.impl_RoomDetailsDark_6_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_6_en.png | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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 e55839bd1d..b2b388bb2d 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:f9d3d78555516e89ebabbf4a42999c3a5eaa592a61f21cedd8860acd7a77210c -size 42214 +oid sha256:53f64097a1b58c155764740d08587ef3c1ffd75d0e5592906f35a208ad1d22ba +size 38455 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 43385fb15e..394fd70ff3 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:b785267e5fbda41dc3b7ee054459cbcd19a7e7c6b750ce747034a11ff1236531 -size 43065 +oid sha256:010ebb10eb97f9eef21bf6ed2d2471a4e883a0886195dc43d117e4c8a0c61352 +size 39619 From e2b2d4e2d8048af13f0368e6f8b3607ff45a2100 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 12:51:08 +0000 Subject: [PATCH 49/93] Update dependency com.squareup:kotlinpoet-ksp to v2 (#3722) 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 cfb371a6ed..1b5e1b9754 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ # Project android_gradle_plugin = "8.7.1" kotlin = "2.0.20" -kotlinpoetKsp = "1.18.1" +kotlinpoetKsp = "2.0.0" ksp = "2.0.20-1.0.25" firebaseAppDistribution = "5.0.0" From 3b1ac217adb8a78c08b1563225fb5dc660d9521b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 15:43:57 +0200 Subject: [PATCH 50/93] Update dependency org.maplibre.gl:android-sdk-ktx-v7 to v3.0.2 (#3703) 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 1b5e1b9754..e1bd4c6618 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -183,7 +183,7 @@ telephoto_zoomableimage = { module = "me.saket.telephoto:zoomable-image-coil", v 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.1" -maplibre_ktx = "org.maplibre.gl:android-sdk-ktx-v7:3.0.1" +maplibre_ktx = "org.maplibre.gl:android-sdk-ktx-v7:3.0.2" maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.1" opusencoder = "io.element.android:opusencoder:1.1.0" kotlinpoet = "com.squareup:kotlinpoet:1.18.1" From 2ffd46061e623a4d3907a2373557573f9837028f Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 23 Oct 2024 11:42:46 +0200 Subject: [PATCH 51/93] knock : improve a bit code and add tests. --- .../features/joinroom/impl/JoinRoomEvents.kt | 3 +- .../joinroom/impl/JoinRoomPresenter.kt | 25 +++++---- .../features/joinroom/impl/JoinRoomState.kt | 1 + .../joinroom/impl/JoinRoomStateProvider.kt | 2 + .../features/joinroom/impl/JoinRoomView.kt | 28 ++++------ .../joinroom/impl/di/CancelKnockRoom.kt | 28 ++++++++++ .../joinroom/impl/di/JoinRoomModule.kt | 2 + .../features/joinroom/impl/di/KnockRoom.kt | 16 ++++-- .../joinroom/impl/FakeCancelKnockRoom.kt | 20 +++++++ .../features/joinroom/impl/FakeKnockRoom.kt | 8 +-- .../joinroom/impl/JoinRoomPresenterTest.kt | 56 +++++++++++++++++-- .../joinroom/impl/JoinRoomViewTest.kt | 30 ++++++++++ .../libraries/matrix/api/MatrixClient.kt | 4 +- .../libraries/matrix/impl/RustMatrixClient.kt | 10 ++-- .../matrix/impl/room/RustRoomFactory.kt | 1 - .../libraries/matrix/test/FakeMatrixClient.kt | 8 ++- .../matrix/ui/components/InviteSenderView.kt | 3 +- 17 files changed, 193 insertions(+), 52 deletions(-) create mode 100644 features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/CancelKnockRoom.kt create mode 100644 features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/FakeCancelKnockRoom.kt diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomEvents.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomEvents.kt index 48d30eb763..eddfa79717 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomEvents.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomEvents.kt @@ -10,8 +10,9 @@ package io.element.android.features.joinroom.impl sealed interface JoinRoomEvents { data object RetryFetchingContent : JoinRoomEvents data object JoinRoom : JoinRoomEvents - data class KnockRoom(val message: String) : JoinRoomEvents + data object KnockRoom : JoinRoomEvents data class CancelKnock(val requiresConfirmation: Boolean) : JoinRoomEvents + data class UpdateKnockMessage(val message: String) : JoinRoomEvents data object ClearActionStates : JoinRoomEvents data object AcceptInvite : JoinRoomEvents data object DeclineInvite : JoinRoomEvents diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt index 19d33ca8a3..0b3e828275 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenter.kt @@ -17,6 +17,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.produceState import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import dagger.assisted.Assisted import dagger.assisted.AssistedInject @@ -24,6 +25,7 @@ import im.vector.app.features.analytics.plan.JoinedRoom 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.joinroom.impl.di.CancelKnockRoom import io.element.android.features.joinroom.impl.di.KnockRoom import io.element.android.features.roomdirectory.api.RoomDescription import io.element.android.libraries.architecture.AsyncAction @@ -46,6 +48,8 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import java.util.Optional +private const val MAX_KNOCK_MESSAGE_LENGTH = 500 + class JoinRoomPresenter @AssistedInject constructor( @Assisted private val roomId: RoomId, @Assisted private val roomIdOrAlias: RoomIdOrAlias, @@ -55,6 +59,7 @@ class JoinRoomPresenter @AssistedInject constructor( private val matrixClient: MatrixClient, private val joinRoom: JoinRoom, private val knockRoom: KnockRoom, + private val cancelKnockRoom: CancelKnockRoom, private val acceptDeclineInvitePresenter: Presenter, private val buildMeta: BuildMeta, ) : Presenter { @@ -76,6 +81,7 @@ class JoinRoomPresenter @AssistedInject constructor( val joinAction: MutableState> = remember { mutableStateOf(AsyncAction.Uninitialized) } val knockAction: MutableState> = remember { mutableStateOf(AsyncAction.Uninitialized) } val cancelKnockAction: MutableState> = remember { mutableStateOf(AsyncAction.Uninitialized) } + var knockMessage by rememberSaveable { mutableStateOf("") } val contentState by produceState( initialValue = ContentState.Loading(roomIdOrAlias), key1 = roomInfo, @@ -111,7 +117,7 @@ class JoinRoomPresenter @AssistedInject constructor( fun handleEvents(event: JoinRoomEvents) { when (event) { JoinRoomEvents.JoinRoom -> coroutineScope.joinRoom(joinAction) - is JoinRoomEvents.KnockRoom -> coroutineScope.knockRoom(knockAction, event.message) + is JoinRoomEvents.KnockRoom -> coroutineScope.knockRoom(knockAction, knockMessage) JoinRoomEvents.AcceptInvite -> { val inviteData = contentState.toInviteData() ?: return acceptDeclineInviteState.eventSink( @@ -133,6 +139,9 @@ class JoinRoomPresenter @AssistedInject constructor( joinAction.value = AsyncAction.Uninitialized cancelKnockAction.value = AsyncAction.Uninitialized } + is JoinRoomEvents.UpdateKnockMessage -> { + knockMessage = event.message.take(MAX_KNOCK_MESSAGE_LENGTH) + } } } @@ -143,6 +152,7 @@ class JoinRoomPresenter @AssistedInject constructor( knockAction = knockAction.value, cancelKnockAction = cancelKnockAction.value, applicationName = buildMeta.applicationName, + knockMessage = knockMessage, eventSink = ::handleEvents ) } @@ -159,7 +169,7 @@ class JoinRoomPresenter @AssistedInject constructor( private fun CoroutineScope.knockRoom(knockAction: MutableState>, message: String) = launch { knockAction.runUpdatingState { - knockRoom(roomId) + knockRoom(roomIdOrAlias, message, serverNames) } } @@ -167,15 +177,8 @@ class JoinRoomPresenter @AssistedInject constructor( if (requiresConfirmation) { cancelKnockAction.value = AsyncAction.ConfirmingNoParams } else { - val room = matrixClient.getRoom(roomId) - if (room == null) { - cancelKnockAction.value = AsyncAction.Failure(RuntimeException()) - } else { - room.use { - cancelKnockAction.runUpdatingState { - room.leave() - } - } + cancelKnockAction.runUpdatingState { + cancelKnockRoom(roomId) } } } diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomState.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomState.kt index cdf93484a9..6049e6cd5a 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomState.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomState.kt @@ -26,6 +26,7 @@ data class JoinRoomState( val knockAction: AsyncAction, val cancelKnockAction: AsyncAction, val applicationName: String, + val knockMessage: String, val eventSink: (JoinRoomEvents) -> Unit ) { val joinAuthorisationStatus = when (contentState) { diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStateProvider.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStateProvider.kt index ab59b7ae2f..33dcf786e5 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStateProvider.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomStateProvider.kt @@ -131,6 +131,7 @@ fun aJoinRoomState( joinAction: AsyncAction = AsyncAction.Uninitialized, knockAction: AsyncAction = AsyncAction.Uninitialized, cancelKnockAction: AsyncAction = AsyncAction.Uninitialized, + knockMessage: String = "", eventSink: (JoinRoomEvents) -> Unit = {} ) = JoinRoomState( contentState = contentState, @@ -139,6 +140,7 @@ fun aJoinRoomState( knockAction = knockAction, cancelKnockAction = cancelKnockAction, applicationName = "AppName", + knockMessage = knockMessage, eventSink = eventSink ) diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt index 6937219aa3..b73742c05b 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/JoinRoomView.kt @@ -18,7 +18,6 @@ import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.sizeIn import androidx.compose.foundation.rememberScrollState @@ -27,10 +26,6 @@ import androidx.compose.foundation.verticalScroll import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.saveable.rememberSaveable -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -85,7 +80,6 @@ fun JoinRoomView( Box( modifier = modifier.fillMaxSize(), ) { - var knockMessage by rememberSaveable { mutableStateOf("") } LightGradientBackground() HeaderFooterPage( containerColor = Color.Transparent, @@ -97,8 +91,8 @@ fun JoinRoomView( JoinRoomContent( contentState = state.contentState, applicationName = state.applicationName, - knockMessage = knockMessage, - onKnockMessageUpdate = { knockMessage = it }, + knockMessage = state.knockMessage, + onKnockMessageUpdate = { state.eventSink(JoinRoomEvents.UpdateKnockMessage(it)) }, ) }, footer = { @@ -114,7 +108,7 @@ fun JoinRoomView( state.eventSink(JoinRoomEvents.JoinRoom) }, onKnockRoom = { - state.eventSink(JoinRoomEvents.KnockRoom(knockMessage)) + state.eventSink(JoinRoomEvents.KnockRoom) }, onCancelKnock = { state.eventSink(JoinRoomEvents.CancelKnock(requiresConfirmation = true)) @@ -169,9 +163,11 @@ private fun JoinRoomFooter( onGoBack: () -> Unit, modifier: Modifier = Modifier, ) { - Box(modifier = modifier - .fillMaxWidth() - .padding(top = 8.dp)) { + Box( + modifier = modifier + .fillMaxWidth() + .padding(top = 8.dp) + ) { if (state.contentState is ContentState.Failure) { Button( text = stringResource(CommonStrings.action_retry), @@ -322,7 +318,7 @@ private fun JoinRoomContent( } @Composable -fun IsKnockedLoadedContent(modifier: Modifier = Modifier) { +private fun IsKnockedLoadedContent(modifier: Modifier = Modifier) { BoxWithConstraints( modifier = modifier .fillMaxHeight() @@ -397,9 +393,9 @@ private fun DefaultLoadedContent( OutlinedTextField( value = knockMessage, onValueChange = onKnockMessageUpdate, - modifier = Modifier - .fillMaxWidth() - .heightIn(min = 90.dp) + maxLines = 3, + minLines = 3, + modifier = Modifier.fillMaxWidth() ) Text( text = stringResource(R.string.screen_join_room_knock_message_description), diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/CancelKnockRoom.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/CancelKnockRoom.kt new file mode 100644 index 0000000000..cf928ea30a --- /dev/null +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/CancelKnockRoom.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.joinroom.impl.di + +import com.squareup.anvil.annotations.ContributesBinding +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 javax.inject.Inject + +interface CancelKnockRoom { + suspend operator fun invoke(roomId: RoomId): Result +} + +@ContributesBinding(SessionScope::class) +class DefaultCancelKnockRoom @Inject constructor(private val client: MatrixClient) : CancelKnockRoom { + override suspend fun invoke(roomId: RoomId): Result { + return client + .getPendingRoom(roomId) + ?.leave() + ?: Result.failure(IllegalStateException("No pending room found")) + } +} diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/JoinRoomModule.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/JoinRoomModule.kt index db710b66ad..e981d6c46b 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/JoinRoomModule.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/JoinRoomModule.kt @@ -31,6 +31,7 @@ object JoinRoomModule { client: MatrixClient, joinRoom: JoinRoom, knockRoom: KnockRoom, + cancelKnockRoom: CancelKnockRoom, acceptDeclineInvitePresenter: Presenter, buildMeta: BuildMeta, ): JoinRoomPresenter.Factory { @@ -51,6 +52,7 @@ object JoinRoomModule { matrixClient = client, joinRoom = joinRoom, knockRoom = knockRoom, + cancelKnockRoom = cancelKnockRoom, acceptDeclineInvitePresenter = acceptDeclineInvitePresenter, buildMeta = buildMeta, ) diff --git a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/KnockRoom.kt b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/KnockRoom.kt index 9056687b37..9b82aa43e2 100644 --- a/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/KnockRoom.kt +++ b/features/joinroom/impl/src/main/kotlin/io/element/android/features/joinroom/impl/di/KnockRoom.kt @@ -10,18 +10,26 @@ package io.element.android.features.joinroom.impl.di import com.squareup.anvil.annotations.ContributesBinding 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.core.RoomIdOrAlias import javax.inject.Inject interface KnockRoom { - suspend operator fun invoke(roomId: RoomId): Result + suspend operator fun invoke( + roomIdOrAlias: RoomIdOrAlias, + message: String, + serverNames: List, + ): Result } @ContributesBinding(SessionScope::class) class DefaultKnockRoom @Inject constructor(private val client: MatrixClient) : KnockRoom { - override suspend fun invoke(roomId: RoomId): Result { + override suspend fun invoke( + roomIdOrAlias: RoomIdOrAlias, + message: String, + serverNames: List + ): Result { return client - .knockRoom(roomId) + .knockRoom(roomIdOrAlias, message, serverNames) .map { } } } diff --git a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/FakeCancelKnockRoom.kt b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/FakeCancelKnockRoom.kt new file mode 100644 index 0000000000..baf7f10307 --- /dev/null +++ b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/FakeCancelKnockRoom.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.features.joinroom.impl + +import io.element.android.features.joinroom.impl.di.CancelKnockRoom +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.tests.testutils.simulateLongTask + +class FakeCancelKnockRoom( + var lambda: (RoomId) -> Result = { Result.success(Unit) } +) : CancelKnockRoom { + override suspend fun invoke(roomId: RoomId) = simulateLongTask { + lambda(roomId) + } +} diff --git a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/FakeKnockRoom.kt b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/FakeKnockRoom.kt index e60707d165..991a35554e 100644 --- a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/FakeKnockRoom.kt +++ b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/FakeKnockRoom.kt @@ -8,13 +8,13 @@ package io.element.android.features.joinroom.impl import io.element.android.features.joinroom.impl.di.KnockRoom -import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.core.RoomIdOrAlias import io.element.android.tests.testutils.simulateLongTask class FakeKnockRoom( - var lambda: (RoomId) -> Result = { Result.success(Unit) } + var lambda: (RoomIdOrAlias, String, List) -> Result = { _, _, _ -> Result.success(Unit) } ) : KnockRoom { - override suspend fun invoke(roomId: RoomId) = simulateLongTask { - lambda(roomId) + override suspend fun invoke(roomIdOrAlias: RoomIdOrAlias, message: String, serverNames: List): Result = simulateLongTask { + lambda(roomIdOrAlias, message, serverNames) } } diff --git a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenterTest.kt b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenterTest.kt index 9d9574a0f3..48bf792447 100644 --- a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenterTest.kt +++ b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomPresenterTest.kt @@ -12,6 +12,7 @@ import im.vector.app.features.analytics.plan.JoinedRoom 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.joinroom.impl.di.CancelKnockRoom import io.element.android.features.joinroom.impl.di.KnockRoom import io.element.android.features.roomdirectory.api.RoomDescription import io.element.android.libraries.architecture.AsyncAction @@ -37,6 +38,7 @@ import io.element.android.libraries.matrix.test.room.aRoomSummary import io.element.android.libraries.matrix.test.room.join.FakeJoinRoom import io.element.android.libraries.matrix.ui.model.toInviteSender import io.element.android.tests.testutils.WarmUpRule +import io.element.android.tests.testutils.lambda.any import io.element.android.tests.testutils.lambda.assert import io.element.android.tests.testutils.lambda.lambdaRecorder import io.element.android.tests.testutils.lambda.value @@ -59,6 +61,8 @@ class JoinRoomPresenterTest { assertThat(state.contentState).isEqualTo(ContentState.Loading(A_ROOM_ID.toRoomIdOrAlias())) assertThat(state.joinAuthorisationStatus).isEqualTo(JoinAuthorisationStatus.Unknown) assertThat(state.acceptDeclineInviteState).isEqualTo(anAcceptDeclineInviteState()) + assertThat(state.cancelKnockAction).isEqualTo(AsyncAction.Uninitialized) + assertThat(state.knockAction).isEqualTo(AsyncAction.Uninitialized) assertThat(state.applicationName).isEqualTo("AppName") cancelAndIgnoreRemainingEvents() } @@ -325,16 +329,20 @@ class JoinRoomPresenterTest { @Test fun `present - emit knock room event`() = runTest { - val knockRoomSuccess = lambdaRecorder { _: RoomId -> + val knockMessage = "Knock message" + val knockRoomSuccess = lambdaRecorder { _: RoomIdOrAlias, _: String, _: List -> Result.success(Unit) } - val knockRoomFailure = lambdaRecorder { roomId: RoomId -> - Result.failure(RuntimeException("Failed to knock room $roomId")) + val knockRoomFailure = lambdaRecorder { roomIdOrAlias: RoomIdOrAlias, _: String, _: List -> + Result.failure(RuntimeException("Failed to knock room $roomIdOrAlias")) } val fakeKnockRoom = FakeKnockRoom(knockRoomSuccess) val presenter = createJoinRoomPresenter(knockRoom = fakeKnockRoom) presenter.test { skipItems(1) + awaitItem().also { state -> + state.eventSink(JoinRoomEvents.UpdateKnockMessage(knockMessage)) + } awaitItem().also { state -> state.eventSink(JoinRoomEvents.KnockRoom) } @@ -353,8 +361,46 @@ class JoinRoomPresenterTest { } assert(knockRoomSuccess) .isCalledOnce() - .with(value(A_ROOM_ID)) + .with(value(A_ROOM_ID.toRoomIdOrAlias()), value(knockMessage), any()) assert(knockRoomFailure) + .isCalledOnce() + .with(value(A_ROOM_ID.toRoomIdOrAlias()), value(knockMessage), any()) + } + + @Test + fun `present - emit cancel knock room event`() = runTest { + val cancelKnockRoomSuccess = lambdaRecorder { _: RoomId -> + Result.success(Unit) + } + val cancelKnockRoomFailure = lambdaRecorder { roomId: RoomId -> + Result.failure(RuntimeException("Failed to knock room $roomId")) + } + val cancelKnockRoom = FakeCancelKnockRoom(cancelKnockRoomSuccess) + val presenter = createJoinRoomPresenter(cancelKnockRoom = cancelKnockRoom) + presenter.test { + skipItems(1) + awaitItem().also { state -> + state.eventSink(JoinRoomEvents.CancelKnock(true)) + } + awaitItem().also { state -> + assertThat(state.cancelKnockAction).isEqualTo(AsyncAction.ConfirmingNoParams) + state.eventSink(JoinRoomEvents.CancelKnock(false)) + } + assertThat(awaitItem().cancelKnockAction).isEqualTo(AsyncAction.Loading) + awaitItem().also { state -> + assertThat(state.cancelKnockAction).isEqualTo(AsyncAction.Success(Unit)) + cancelKnockRoom.lambda = cancelKnockRoomFailure + state.eventSink(JoinRoomEvents.CancelKnock(false)) + } + assertThat(awaitItem().cancelKnockAction).isEqualTo(AsyncAction.Loading) + awaitItem().also { state -> + assertThat(state.cancelKnockAction).isInstanceOf(AsyncAction.Failure::class.java) + } + } + assert(cancelKnockRoomFailure) + .isCalledOnce() + .with(value(A_ROOM_ID)) + assert(cancelKnockRoomSuccess) .isCalledOnce() .with(value(A_ROOM_ID)) } @@ -474,6 +520,7 @@ class JoinRoomPresenterTest { Result.success(Unit) }, knockRoom: KnockRoom = FakeKnockRoom(), + cancelKnockRoom: CancelKnockRoom = FakeCancelKnockRoom(), buildMeta: BuildMeta = aBuildMeta(applicationName = "AppName"), acceptDeclineInvitePresenter: Presenter = Presenter { anAcceptDeclineInviteState() } ): JoinRoomPresenter { @@ -486,6 +533,7 @@ class JoinRoomPresenterTest { matrixClient = matrixClient, joinRoom = FakeJoinRoom(joinRoomLambda), knockRoom = knockRoom, + cancelKnockRoom = cancelKnockRoom, buildMeta = buildMeta, acceptDeclineInvitePresenter = acceptDeclineInvitePresenter ) diff --git a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomViewTest.kt b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomViewTest.kt index dc93bac2ea..70857c52fc 100644 --- a/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomViewTest.kt +++ b/features/joinroom/impl/src/test/kotlin/io/element/android/features/joinroom/impl/JoinRoomViewTest.kt @@ -61,6 +61,7 @@ class JoinRoomViewTest { rule.setJoinRoomView( aJoinRoomState( contentState = aLoadedContentState(joinAuthorisationStatus = JoinAuthorisationStatus.CanKnock), + knockMessage = "Knock knock", eventSink = eventsRecorder, ), ) @@ -82,6 +83,33 @@ class JoinRoomViewTest { eventsRecorder.assertSingle(JoinRoomEvents.ClearActionStates) } + @Test + fun `clicking on cancel knock request emit the expected Event`() { + val eventsRecorder = EventsRecorder() + rule.setJoinRoomView( + aJoinRoomState( + contentState = aLoadedContentState(joinAuthorisationStatus = JoinAuthorisationStatus.IsKnocked), + eventSink = eventsRecorder, + ), + ) + rule.clickOn(R.string.screen_join_room_cancel_knock_action) + eventsRecorder.assertSingle(JoinRoomEvents.CancelKnock(true)) + } + + @Test + fun `clicking on closing Cancel Knock error emits the expected Event`() { + val eventsRecorder = EventsRecorder() + rule.setJoinRoomView( + aJoinRoomState( + contentState = aLoadedContentState(joinAuthorisationStatus = JoinAuthorisationStatus.IsKnocked), + cancelKnockAction = AsyncAction.Failure(Exception("Error")), + eventSink = eventsRecorder, + ), + ) + rule.clickOn(CommonStrings.action_ok) + eventsRecorder.assertSingle(JoinRoomEvents.ClearActionStates) + } + @Test fun `clicking on closing Join error emits the expected Event`() { val eventsRecorder = EventsRecorder() @@ -170,6 +198,7 @@ private fun AndroidComposeTestRule.setJoinR onBackClick: () -> Unit = EnsureNeverCalled(), onJoinSuccess: () -> Unit = EnsureNeverCalled(), onKnockSuccess: () -> Unit = EnsureNeverCalled(), + onCancelKnockSuccess: () -> Unit = EnsureNeverCalled(), ) { setContent { JoinRoomView( @@ -177,6 +206,7 @@ private fun AndroidComposeTestRule.setJoinR onBackClick = onBackClick, onJoinSuccess = onJoinSuccess, onKnockSuccess = onKnockSuccess, + onCancelKnockSuccess = onCancelKnockSuccess ) } } diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt index adf8fa960b..6af1763e83 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt @@ -21,9 +21,9 @@ import io.element.android.libraries.matrix.api.notification.NotificationService import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService import io.element.android.libraries.matrix.api.oidc.AccountManagementAction import io.element.android.libraries.matrix.api.pusher.PushersService -import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.api.room.MatrixRoomInfo +import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.api.room.RoomMembershipObserver import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias import io.element.android.libraries.matrix.api.room.preview.RoomPreview @@ -65,7 +65,7 @@ interface MatrixClient : Closeable { suspend fun removeAvatar(): Result suspend fun joinRoom(roomId: RoomId): Result suspend fun joinRoomByIdOrAlias(roomIdOrAlias: RoomIdOrAlias, serverNames: List): Result - suspend fun knockRoom(roomId: RoomId): Result + suspend fun knockRoom(roomIdOrAlias: RoomIdOrAlias, message: String, serverNames: List): Result fun syncService(): SyncService fun sessionVerificationService(): SessionVerificationService fun pushersService(): PushersService diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 328be9608b..b7cd2d2061 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -30,8 +30,8 @@ import io.element.android.libraries.matrix.api.notificationsettings.Notification import io.element.android.libraries.matrix.api.oidc.AccountManagementAction import io.element.android.libraries.matrix.api.pusher.PushersService import io.element.android.libraries.matrix.api.room.CurrentUserMembership -import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.api.room.RoomMembershipObserver import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias import io.element.android.libraries.matrix.api.room.preview.RoomPreview @@ -394,11 +394,13 @@ class RustMatrixClient( } } - override suspend fun knockRoom(roomId: RoomId): Result = withContext(sessionDispatcher){ + override suspend fun knockRoom(roomIdOrAlias: RoomIdOrAlias, message: String, serverNames: List): Result = withContext( + sessionDispatcher + ) { runCatching { - client.knock(roomId.toRoomIdOrAlias().identifier).destroy() + client.knock(roomIdOrAlias.identifier).destroy() try { - awaitRoom(roomId.toRoomIdOrAlias(), 10.seconds, CurrentUserMembership.KNOCKED) + awaitRoom(roomIdOrAlias, 10.seconds, CurrentUserMembership.KNOCKED) } catch (e: Exception) { Timber.e(e, "Timeout waiting for the room to be available in the room list") null diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt index 6b076d4b91..e06424e723 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomFactory.kt @@ -50,7 +50,6 @@ class RustRoomFactory( private val roomSyncSubscriber: RoomSyncSubscriber, private val timelineEventTypeFilterFactory: TimelineEventTypeFilterFactory, ) { - @OptIn(ExperimentalCoroutinesApi::class) private val dispatcher = dispatchers.io.limitedParallelism(1) private val mutex = Mutex() diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt index 69c0cc00b6..2c69048c39 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt @@ -22,8 +22,8 @@ import io.element.android.libraries.matrix.api.notification.NotificationService import io.element.android.libraries.matrix.api.notificationsettings.NotificationSettingsService import io.element.android.libraries.matrix.api.oidc.AccountManagementAction import io.element.android.libraries.matrix.api.pusher.PushersService -import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.PendingRoom import io.element.android.libraries.matrix.api.room.RoomMembershipObserver import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias import io.element.android.libraries.matrix.api.room.preview.RoomPreview @@ -114,7 +114,7 @@ class FakeMatrixClient( var joinRoomByIdOrAliasLambda: (RoomIdOrAlias, List) -> Result = { _, _ -> Result.success(null) } - var knockRoomLambda: (RoomId) -> Result = { + var knockRoomLambda: (RoomIdOrAlias, String, List) -> Result = { _, _, _ -> Result.success(null) } var getRoomSummaryFlowLambda = { _: RoomIdOrAlias -> @@ -223,7 +223,9 @@ class FakeMatrixClient( return joinRoomByIdOrAliasLambda(roomIdOrAlias, serverNames) } - override suspend fun knockRoom(roomId: RoomId): Result = knockRoomLambda(roomId) + override suspend fun knockRoom(roomIdOrAlias: RoomIdOrAlias, message: String, serverNames: List): Result { + return knockRoomLambda(roomIdOrAlias, message, serverNames) + } override fun sessionVerificationService(): SessionVerificationService = sessionVerificationService diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/InviteSenderView.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/InviteSenderView.kt index f5af6ec0d4..62f57a36d4 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/InviteSenderView.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/InviteSenderView.kt @@ -13,7 +13,6 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.material3.MaterialTheme 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.ElementTheme @@ -35,7 +34,7 @@ fun InviteSenderView( horizontalArrangement = Arrangement.spacedBy(8.dp), modifier = modifier, ) { - Box(modifier = Modifier.padding(vertical = 2.dp)){ + Box(modifier = Modifier.padding(vertical = 2.dp)) { Avatar(avatarData = inviteSender.avatarData) } Text( From 1ad1fc32942dba3439f48c649b304eb810ea0d11 Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 23 Oct 2024 15:44:13 +0200 Subject: [PATCH 52/93] Update screenshots --- .../images/features.joinroom.impl_JoinRoomView_Day_11_en.png | 3 +++ .../images/features.joinroom.impl_JoinRoomView_Day_4_en.png | 4 ++-- .../images/features.joinroom.impl_JoinRoomView_Day_6_en.png | 4 ++-- .../features.joinroom.impl_JoinRoomView_Night_11_en.png | 3 +++ .../images/features.joinroom.impl_JoinRoomView_Night_4_en.png | 4 ++-- .../images/features.joinroom.impl_JoinRoomView_Night_6_en.png | 4 ++-- ....roomlist.impl.components_RoomListContentView_Day_0_en.png | 4 ++-- ....roomlist.impl.components_RoomListContentView_Day_4_en.png | 4 ++-- ...oomlist.impl.components_RoomListContentView_Night_0_en.png | 4 ++-- ...oomlist.impl.components_RoomListContentView_Night_4_en.png | 4 ++-- ...ures.roomlist.impl.components_RoomSummaryRow_Day_29_en.png | 4 ++-- ...ures.roomlist.impl.components_RoomSummaryRow_Day_31_en.png | 4 ++-- ...ures.roomlist.impl.components_RoomSummaryRow_Day_32_en.png | 3 +++ ...ures.roomlist.impl.components_RoomSummaryRow_Day_33_en.png | 3 +++ ...es.roomlist.impl.components_RoomSummaryRow_Night_29_en.png | 4 ++-- ...es.roomlist.impl.components_RoomSummaryRow_Night_31_en.png | 4 ++-- ...es.roomlist.impl.components_RoomSummaryRow_Night_32_en.png | 3 +++ ...es.roomlist.impl.components_RoomSummaryRow_Night_33_en.png | 3 +++ ...es.roomlist.impl.search_RoomListSearchContent_Day_2_en.png | 4 ++-- ....roomlist.impl.search_RoomListSearchContent_Night_2_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Day_0_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Day_10_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Day_1_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Day_2_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Day_6_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Night_0_en.png | 4 ++-- .../features.roomlist.impl_RoomListView_Night_10_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Night_1_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Night_2_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Night_6_en.png | 4 ++-- ...braries.matrix.ui.components_InviteSenderView_Day_0_en.png | 4 ++-- ...aries.matrix.ui.components_InviteSenderView_Night_0_en.png | 4 ++-- 32 files changed, 70 insertions(+), 52 deletions(-) create mode 100644 tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_11_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_11_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_32_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_33_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_32_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_33_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_11_en.png new file mode 100644 index 0000000000..15fef4a084 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Day_11_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a6eee1185065c82f90cf53d7b9fd62e6de72d907606099b0536b6305ea9537f2 +size 117250 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 de60f4f118..a8b4207c5a 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:68aa9bd1630bfe084c3cb54449946c95fdfc4fec4190453a648ffbb738c50c02 -size 118338 +oid sha256:74f12ea2c5114363b809fcf4d897487cb87ecfab361952471c05d22898d0048f +size 130010 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 ed54a87320..da1fd14667 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:a89fd43e3e373474df355a970ea2dd4d525f554f509c4d34b098151fab9ea6a0 -size 118678 +oid sha256:70c33e148a040ec24287f9ca48353a76e8167015f24d8249bff405e9cc9f16ff +size 118640 diff --git a/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_11_en.png new file mode 100644 index 0000000000..29dcd629aa --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.joinroom.impl_JoinRoomView_Night_11_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07458d183bae7ecfb7ee61bb6f2e0abb9a4399dd373068002fec3722f575e754 +size 102438 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 0b77bfc7a4..1dc6bb1e2e 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:159cdb25a248a86f348ec72a1af680a14d6fdf16d7d268649ef324f8296b0356 -size 104708 +oid sha256:6950f5e0824c964936077ecda4ff7edb8c8c6796b5a4ae304e6027e57a83cb55 +size 116382 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 adf5f78145..e0062f755b 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:69bef3b0f9f8cdb315e4bc1a18b82d12c8927fcb389ebf5975db8c254a040a9b -size 104737 +oid sha256:c3d75eca5904d605b91becebca60199f7e60e6f2bec6b9a945ce8d130cfd7e47 +size 104802 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 db9812abde..6158359001 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:77536b81116242dbedd516972cb4945711dee01832b2e9133051d33ede8a8e1a -size 40882 +oid sha256:1da21d7c1ca79691ccb4e0cb7a2e076874dd3894102b7764f874d42a1be83fcf +size 40960 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 e9c46d9fe5..8952f01b7f 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:8a4e60263d9fb57f115abb852eb5a080bfcdaa5cc1c786b2b0716c8313a94955 -size 72153 +oid sha256:a78abedec8a3aad14bf6368bf73d46621feaf8e6fd6e019d381077ef05856259 +size 72236 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 c42500388a..2976deaf4a 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:83ce6ad6b6d5940d95a817b9f4da70d094407f1571ed541c84457cbf59281329 -size 40819 +oid sha256:fbdced976e93e3059dc1b12c4c6ea18410748b9ba20c07f545ec81d7d1dc8451 +size 40791 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 9cd7e9ca2d..1e6d6d626d 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:df340436aa5aab1438bd27a917273d7aa48096efbb373b28308e7a89817241ea -size 70845 +oid sha256:f60d07c4be6d75142e753dec5071f7a6d5dd15519d87a2eb491b708fa7aeea4b +size 70917 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 640f5909f3..fd79b53c8d 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:c530aabdc8bd8e85a60c7daf7b88c56736bc2c9e10b251e5d1312da66c79586d -size 22812 +oid sha256:7cb57e2567310265a2866565a0f1f9a70ac656d6d93b6df076ba875add699c2b +size 22782 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 e904aca6f6..aa4da0e60f 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:e6afb5e2e6fb3766ed18412f624a98c436c45de6956b996e7d8c947f0523e5e6 -size 21107 +oid sha256:89e6c33ba736594d5a69a9cade77eed957f6c59a23fbd7ce7a8af4962ef7fe66 +size 21162 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_32_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_32_en.png new file mode 100644 index 0000000000..dd7c6a9bbd --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_32_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1943e0cca177b76535bcfff5572e519e70eb45d9a93b48369f174b66813b2b8c +size 11545 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_33_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_33_en.png new file mode 100644 index 0000000000..a3ec1b0131 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_33_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b5435505e95bb4ea71dbc96faccc4c3e52c35eac6d15ca8f05011a65deb2361 +size 16913 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 ebc79973ec..6f925c3337 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:427773f5702b8830f4aadf70bcd19ebcf253085de027200afd21fd33ff8a8a3f -size 22646 +oid sha256:af6a921903f5b827650ff59b7a07a53a0ee6fff8bf05b9c9caa7e40b2ff65bcc +size 22726 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 dde7fa7c2c..1616e5308c 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:35c0c73bc2a40f787f97d8b1d94442d379e7dc2cff708bd16d259d1d9594271d -size 20911 +oid sha256:d938c23b881918f2fc73cf52f85fb103fede4aecbe83cc5725e50ca9f271f711 +size 20925 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_32_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_32_en.png new file mode 100644 index 0000000000..84e1a9d135 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_32_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c92ce38a3829ce48152f956999593b90955830371aa3230ea598f9ba80560163 +size 11903 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_33_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_33_en.png new file mode 100644 index 0000000000..2f335c9b81 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_33_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a4e420c18dc7fec6afecee9a02c23d2ca031f57e51a7937a1217f7663b3a225 +size 17196 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 125e11836d..334d724fb7 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:7fb36e51fe4e047d3b7299622ed41acf3fee6b717589972449af57b2163a25a3 -size 43528 +oid sha256:57dc005cc7cceaa1f387e3a80c7676313a616c23ca4af06a5867fd438d8ed2a2 +size 43596 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 f6336ebafb..772d9bcbe7 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:736fd7a2ad72251ce6f9cea37ff907639b5234a66f9de542041df85917b8cdb1 -size 43253 +oid sha256:b46afbcc4a208a4ceeb15932569fe0569898d394452e6af6ab41d15fc2c372db +size 43226 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 06672574c0..8c838d0407 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:7c5897f6945dbf3abe154f26388987c8223f65748d90fa6b049d306c64341ea0 -size 78588 +oid sha256:f12d9f5c181579e054fde00a32ce72cf032326b3c63f2424e5df696db0138368 +size 78667 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 441bda873c..1e0fce8252 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:61d92b59ab35acebcbecab11064734141bf543bd4c3fc5cddda7f7fdf4631ae5 -size 99173 +oid sha256:3081dd73e3a33e786266b49de1267c401e55ac3c5b37d1b9c61749b0f7d55c29 +size 99240 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 06672574c0..8c838d0407 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:7c5897f6945dbf3abe154f26388987c8223f65748d90fa6b049d306c64341ea0 -size 78588 +oid sha256:f12d9f5c181579e054fde00a32ce72cf032326b3c63f2424e5df696db0138368 +size 78667 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 a4f67e7d75..07f4f2564a 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:5709694ba5ba479bb1652cea0218db591ba9aac83213b8a05d155cf73707a913 -size 79045 +oid sha256:4f2e8f7d0a8d384f7958165b113f67f637efd7ab4d4e2f3db321edfdf83e8e82 +size 79079 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 2dbd00ccca..d072cb92dd 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:4bb464339f602dbf8f0a3046ebaaefbe64808351289ba70450eef0565b23ee40 -size 98084 +oid sha256:3c27b870ca1639a58efcd42dfc31bbb12a935e685ca1b87e891ec88abaf8033b +size 98148 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 0707e57659..20de12e5be 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:7fe52dfaeac33dc77da9e741102a6248a8b142fb4706bea34b4e1a9c9f0062c7 -size 86083 +oid sha256:eaf6ef4d088e706e5e37a33ae7897af0ffbfda7afac486f9de2cabd7e24ac0be +size 86150 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 cccaf41942..7cbf6930a2 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:dfeb3170f15fc62836bed2961fb190af7ee1fea59c9f7ee1c393c7398c4dabaf -size 106113 +oid sha256:7eb4d87dd2844f81bf745f53cbe83253fe8b48471692a00dbe0f385de75c8c3a +size 106079 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 0707e57659..20de12e5be 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:7fe52dfaeac33dc77da9e741102a6248a8b142fb4706bea34b4e1a9c9f0062c7 -size 86083 +oid sha256:eaf6ef4d088e706e5e37a33ae7897af0ffbfda7afac486f9de2cabd7e24ac0be +size 86150 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 fa94719a0f..f4fd4c8c85 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:1a4e557d8e3683fb3b30b7d3264a6953f713684edd2c07493d9cb3a04da4ef45 -size 87017 +oid sha256:c1014ee5cdde8ea23b6655ee805761e824bcae40d353d4208af41c8b7801998a +size 86938 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 e6a839f4a9..5f3b07d888 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:00492d7154e1ea7468b544a2fcb29fbc23c8b54260420451fb7f912b5226eb69 -size 104915 +oid sha256:0550ab262835b885364b429000e0a887a6bfe594ba031fdbbb04fb4ec63ea475 +size 104884 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 8243405428..6fe1374597 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:70b2f162bfc0c397eb9701922ade58665558ea0acff25784dbef3cdd5e840d83 -size 10561 +oid sha256:8257b4c0465151c099b82747c54b6d42881c4315114fc00840890fc3b6796d1b +size 10522 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 56f3063546..30ee52cf20 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:20fea6755d84bd8668ba045929fb93248c8039711fcf6bec3897c93b89542e72 -size 10423 +oid sha256:4716815888abcb74ecc017722b5e4a7955ad94f90d9a4fcfe2847c21a7cd5777 +size 10373 From 6cdbee876651d460aac163d2e5b25b62de961682 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 13:46:03 +0000 Subject: [PATCH 53/93] Update dependency org.maplibre.gl:android-plugin-annotation-v9 to v3.0.2 --- 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 e1bd4c6618..028bed24c5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -184,7 +184,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.5.1" maplibre_ktx = "org.maplibre.gl:android-sdk-ktx-v7:3.0.2" -maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.1" +maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.2" 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" From 75d4c9e1f305d27a14cdebd239b33192560a0724 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 13:46:08 +0000 Subject: [PATCH 54/93] Update dependency org.maplibre.gl:android-sdk to v11.5.2 --- 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 e1bd4c6618..39f8c1454c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -182,7 +182,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.1" +maplibre = "org.maplibre.gl:android-sdk:11.5.2" maplibre_ktx = "org.maplibre.gl:android-sdk-ktx-v7:3.0.2" maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.1" opusencoder = "io.element.android:opusencoder:1.1.0" From 1fd78881885361d570bc5e3e2c4b2aca5876f482 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 13:46:14 +0000 Subject: [PATCH 55/93] Update dependency io.sentry:sentry-android to v7.16.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 e1bd4c6618..308444c114 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -191,7 +191,7 @@ zxing_cpp = "io.github.zxing-cpp:android:2.2.0" # Analytics posthog = "com.posthog:posthog-android:3.8.2" -sentry = "io.sentry:sentry-android:7.15.0" +sentry = "io.sentry:sentry-android:7.16.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 ced527e614fce988fbadcf6e049df58e8716bc22 Mon Sep 17 00:00:00 2001 From: ganfra Date: Wed, 23 Oct 2024 16:07:52 +0200 Subject: [PATCH 56/93] deps : makes sure to use same version for all kotlinpoet dependencies --- gradle/libs.versions.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e1bd4c6618..99bb72b9b0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ # Project android_gradle_plugin = "8.7.1" kotlin = "2.0.20" -kotlinpoetKsp = "2.0.0" +kotlinpoet = "2.0.0" ksp = "2.0.20-1.0.25" firebaseAppDistribution = "5.0.0" @@ -67,7 +67,8 @@ compose_compiler_plugin = { module = "org.jetbrains.kotlin:compose-compiler-grad android_desugar = "com.android.tools:desugar_jdk_libs:2.1.2" 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" } +kotlinpoet = { module = "com.squareup:kotlinpoet", version.ref = "kotlinpoet" } +kotlinpoet-ksp = { module = "com.squareup:kotlinpoet-ksp", version.ref = "kotlinpoet" } 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" @@ -186,7 +187,6 @@ maplibre = "org.maplibre.gl:android-sdk:11.5.1" maplibre_ktx = "org.maplibre.gl:android-sdk-ktx-v7:3.0.2" maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.1" 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" # Analytics From dbc31386899457d1e4e12d9e190eca8681321705 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 23 Oct 2024 18:31:06 +0000 Subject: [PATCH 57/93] Update dependency com.google.firebase:firebase-bom to v33.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 99bb72b9b0..9421a38eaa 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -73,7 +73,7 @@ kover_gradle_plugin = { module = "org.jetbrains.kotlinx:kover-gradle-plugin", ve 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.5.0" +google_firebase_bom = "com.google.firebase:firebase-bom:33.5.1" 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" } From dcfe595076add6148ceb9ae6f1942dd570224c8f Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Thu, 24 Oct 2024 11:14:15 +0200 Subject: [PATCH 58/93] Update accent color for `Checkbox`, `RadioButton` and `Switch` components (#3728) * Update accent color for `Checkbox`, `RadioButton` and `Switch` components * Update screenshots --------- Co-authored-by: ElementBot --- .../libraries/designsystem/theme/components/Checkbox.kt | 2 +- .../libraries/designsystem/theme/components/RadioButton.kt | 1 + .../android/libraries/designsystem/theme/components/Switch.kt | 4 +++- ...tics.api.preferences_AnalyticsPreferencesView_Day_0_en.png | 4 ++-- ...cs.api.preferences_AnalyticsPreferencesView_Night_0_en.png | 4 ++-- ...tures.createroom.impl.addpeople_AddPeopleView_Day_2_en.png | 4 ++-- ...res.createroom.impl.addpeople_AddPeopleView_Night_2_en.png | 4 ++-- ....createroom.impl.components_RoomPrivacyOption_Day_0_en.png | 4 ++-- ...reateroom.impl.components_RoomPrivacyOption_Night_0_en.png | 4 ++-- ...eroom.impl.components_SearchMultipleUsersResultItem_en.png | 4 ++-- ...tures.createroom.impl.components_UserListView_Day_6_en.png | 4 ++-- ...res.createroom.impl.components_UserListView_Night_6_en.png | 4 ++-- ...eateroom.impl.configureroom_ConfigureRoomView_Day_0_en.png | 4 ++-- ...eateroom.impl.configureroom_ConfigureRoomView_Day_1_en.png | 4 ++-- ...teroom.impl.configureroom_ConfigureRoomView_Night_0_en.png | 4 ++-- ...teroom.impl.configureroom_ConfigureRoomView_Night_1_en.png | 4 ++-- ...ckscreen.impl.settings_LockScreenSettingsView_Day_0_en.png | 4 ++-- ...ckscreen.impl.settings_LockScreenSettingsView_Day_1_en.png | 4 ++-- ...ckscreen.impl.settings_LockScreenSettingsView_Day_2_en.png | 4 ++-- ...screen.impl.settings_LockScreenSettingsView_Night_0_en.png | 4 ++-- ...screen.impl.settings_LockScreenSettingsView_Night_1_en.png | 4 ++-- ...screen.impl.settings_LockScreenSettingsView_Night_2_en.png | 4 ++-- .../features.logout.impl_AccountDeactivationView_Day_0_en.png | 4 ++-- .../features.logout.impl_AccountDeactivationView_Day_1_en.png | 4 ++-- .../features.logout.impl_AccountDeactivationView_Day_2_en.png | 4 ++-- .../features.logout.impl_AccountDeactivationView_Day_4_en.png | 4 ++-- ...eatures.logout.impl_AccountDeactivationView_Night_0_en.png | 4 ++-- ...eatures.logout.impl_AccountDeactivationView_Night_1_en.png | 4 ++-- ...eatures.logout.impl_AccountDeactivationView_Night_2_en.png | 4 ++-- ...eatures.logout.impl_AccountDeactivationView_Night_4_en.png | 4 ++-- .../features.poll.impl.create_CreatePollView_Day_0_en.png | 4 ++-- .../features.poll.impl.create_CreatePollView_Day_1_en.png | 4 ++-- .../features.poll.impl.create_CreatePollView_Day_2_en.png | 4 ++-- .../features.poll.impl.create_CreatePollView_Day_3_en.png | 4 ++-- .../features.poll.impl.create_CreatePollView_Day_6_en.png | 4 ++-- .../features.poll.impl.create_CreatePollView_Night_0_en.png | 4 ++-- .../features.poll.impl.create_CreatePollView_Night_1_en.png | 4 ++-- .../features.poll.impl.create_CreatePollView_Night_2_en.png | 4 ++-- .../features.poll.impl.create_CreatePollView_Night_3_en.png | 4 ++-- .../features.poll.impl.create_CreatePollView_Night_6_en.png | 4 ++-- ...references.impl.advanced_AdvancedSettingsView_Day_0_en.png | 4 ++-- ...references.impl.advanced_AdvancedSettingsView_Day_1_en.png | 4 ++-- ...references.impl.advanced_AdvancedSettingsView_Day_2_en.png | 4 ++-- ...references.impl.advanced_AdvancedSettingsView_Day_3_en.png | 4 ++-- ...ferences.impl.advanced_AdvancedSettingsView_Night_0_en.png | 4 ++-- ...ferences.impl.advanced_AdvancedSettingsView_Night_1_en.png | 4 ++-- ...ferences.impl.advanced_AdvancedSettingsView_Night_2_en.png | 4 ++-- ...ferences.impl.advanced_AdvancedSettingsView_Night_3_en.png | 4 ++-- ...ferences.impl.analytics_AnalyticsSettingsView_Day_0_en.png | 4 ++-- ...rences.impl.analytics_AnalyticsSettingsView_Night_0_en.png | 4 ++-- ...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 ++-- ...cations.edit_DefaultNotificationSettingOption_Day_0_en.png | 4 ++-- ...tions.edit_DefaultNotificationSettingOption_Night_0_en.png | 4 ++-- ...tions.edit_EditDefaultNotificationSettingView_Day_0_en.png | 4 ++-- ...tions.edit_EditDefaultNotificationSettingView_Day_1_en.png | 4 ++-- ...tions.edit_EditDefaultNotificationSettingView_Day_2_en.png | 4 ++-- ...tions.edit_EditDefaultNotificationSettingView_Day_3_en.png | 4 ++-- ...tions.edit_EditDefaultNotificationSettingView_Day_4_en.png | 4 ++-- ...ons.edit_EditDefaultNotificationSettingView_Night_0_en.png | 4 ++-- ...ons.edit_EditDefaultNotificationSettingView_Night_1_en.png | 4 ++-- ...ons.edit_EditDefaultNotificationSettingView_Night_2_en.png | 4 ++-- ...ons.edit_EditDefaultNotificationSettingView_Night_3_en.png | 4 ++-- ...ons.edit_EditDefaultNotificationSettingView_Night_4_en.png | 4 ++-- ...s.impl.notifications_NotificationSettingsView_Day_0_en.png | 4 ++-- ....impl.notifications_NotificationSettingsView_Day_11_en.png | 4 ++-- ....impl.notifications_NotificationSettingsView_Day_12_en.png | 4 ++-- ...s.impl.notifications_NotificationSettingsView_Day_1_en.png | 4 ++-- ...s.impl.notifications_NotificationSettingsView_Day_2_en.png | 4 ++-- ...s.impl.notifications_NotificationSettingsView_Day_3_en.png | 4 ++-- ...s.impl.notifications_NotificationSettingsView_Day_4_en.png | 4 ++-- ...s.impl.notifications_NotificationSettingsView_Day_5_en.png | 4 ++-- ...s.impl.notifications_NotificationSettingsView_Day_6_en.png | 4 ++-- ...s.impl.notifications_NotificationSettingsView_Day_7_en.png | 4 ++-- ...s.impl.notifications_NotificationSettingsView_Day_8_en.png | 4 ++-- ...impl.notifications_NotificationSettingsView_Night_0_en.png | 4 ++-- ...mpl.notifications_NotificationSettingsView_Night_11_en.png | 4 ++-- ...mpl.notifications_NotificationSettingsView_Night_12_en.png | 4 ++-- ...impl.notifications_NotificationSettingsView_Night_1_en.png | 4 ++-- ...impl.notifications_NotificationSettingsView_Night_2_en.png | 4 ++-- ...impl.notifications_NotificationSettingsView_Night_3_en.png | 4 ++-- ...impl.notifications_NotificationSettingsView_Night_4_en.png | 4 ++-- ...impl.notifications_NotificationSettingsView_Night_5_en.png | 4 ++-- ...impl.notifications_NotificationSettingsView_Night_6_en.png | 4 ++-- ...impl.notifications_NotificationSettingsView_Night_7_en.png | 4 ++-- ...impl.notifications_NotificationSettingsView_Night_8_en.png | 4 ++-- ...hake.api.preferences_RageshakePreferencesView_Day_0_en.png | 4 ++-- ...ke.api.preferences_RageshakePreferencesView_Night_0_en.png | 4 ++-- ...atures.rageshake.impl.bugreport_BugReportView_Day_0_en.png | 4 ++-- ...atures.rageshake.impl.bugreport_BugReportView_Day_1_en.png | 4 ++-- ...atures.rageshake.impl.bugreport_BugReportView_Day_3_en.png | 4 ++-- ...atures.rageshake.impl.bugreport_BugReportView_Day_4_en.png | 4 ++-- ...ures.rageshake.impl.bugreport_BugReportView_Night_0_en.png | 4 ++-- ...ures.rageshake.impl.bugreport_BugReportView_Night_1_en.png | 4 ++-- ...ures.rageshake.impl.bugreport_BugReportView_Night_3_en.png | 4 ++-- ...ures.rageshake.impl.bugreport_BugReportView_Night_4_en.png | 4 ++-- ...roomdetails.impl.invite_RoomInviteMembersView_Day_5_en.png | 4 ++-- ...omdetails.impl.invite_RoomInviteMembersView_Night_5_en.png | 4 ++-- ...cationsettings_RoomNotificationSettingsOption_Day_0_en.png | 4 ++-- ...tionsettings_RoomNotificationSettingsOption_Night_0_en.png | 4 ++-- ...ficationsettings_RoomNotificationSettingsView_Day_0_en.png | 4 ++-- ...ficationsettings_RoomNotificationSettingsView_Day_1_en.png | 4 ++-- ...ficationsettings_RoomNotificationSettingsView_Day_2_en.png | 4 ++-- ...ficationsettings_RoomNotificationSettingsView_Day_3_en.png | 4 ++-- ...ficationsettings_RoomNotificationSettingsView_Day_4_en.png | 4 ++-- ...ficationsettings_RoomNotificationSettingsView_Day_5_en.png | 4 ++-- ...ficationsettings_RoomNotificationSettingsView_Day_6_en.png | 4 ++-- ...cationsettings_RoomNotificationSettingsView_Night_0_en.png | 4 ++-- ...cationsettings_RoomNotificationSettingsView_Night_1_en.png | 4 ++-- ...cationsettings_RoomNotificationSettingsView_Night_2_en.png | 4 ++-- ...cationsettings_RoomNotificationSettingsView_Night_3_en.png | 4 ++-- ...cationsettings_RoomNotificationSettingsView_Night_4_en.png | 4 ++-- ...cationsettings_RoomNotificationSettingsView_Night_5_en.png | 4 ++-- ...cationsettings_RoomNotificationSettingsView_Night_6_en.png | 4 ++-- ...tings_UserDefinedRoomNotificationSettingsView_Day_0_en.png | 4 ++-- ...ngs_UserDefinedRoomNotificationSettingsView_Night_0_en.png | 4 ++-- ...esandpermissions.changeroles_ChangeRolesView_Day_10_en.png | 4 ++-- ...lesandpermissions.changeroles_ChangeRolesView_Day_1_en.png | 4 ++-- ...lesandpermissions.changeroles_ChangeRolesView_Day_2_en.png | 4 ++-- ...lesandpermissions.changeroles_ChangeRolesView_Day_3_en.png | 4 ++-- ...lesandpermissions.changeroles_ChangeRolesView_Day_4_en.png | 4 ++-- ...lesandpermissions.changeroles_ChangeRolesView_Day_6_en.png | 4 ++-- ...lesandpermissions.changeroles_ChangeRolesView_Day_7_en.png | 4 ++-- ...lesandpermissions.changeroles_ChangeRolesView_Day_8_en.png | 4 ++-- ...lesandpermissions.changeroles_ChangeRolesView_Day_9_en.png | 4 ++-- ...andpermissions.changeroles_ChangeRolesView_Night_10_en.png | 4 ++-- ...sandpermissions.changeroles_ChangeRolesView_Night_1_en.png | 4 ++-- ...sandpermissions.changeroles_ChangeRolesView_Night_2_en.png | 4 ++-- ...sandpermissions.changeroles_ChangeRolesView_Night_3_en.png | 4 ++-- ...sandpermissions.changeroles_ChangeRolesView_Night_4_en.png | 4 ++-- ...sandpermissions.changeroles_ChangeRolesView_Night_6_en.png | 4 ++-- ...sandpermissions.changeroles_ChangeRolesView_Night_7_en.png | 4 ++-- ...sandpermissions.changeroles_ChangeRolesView_Night_8_en.png | 4 ++-- ...sandpermissions.changeroles_ChangeRolesView_Night_9_en.png | 4 ++-- ...ions.changeroles_PendingMemberRowWithLongName_Day_0_en.png | 4 ++-- ...ns.changeroles_PendingMemberRowWithLongName_Night_0_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetailsDark_0_en.png | 4 ++-- .../features.roomdetails.impl_RoomDetailsDark_10_en.png | 4 ++-- .../features.roomdetails.impl_RoomDetailsDark_11_en.png | 4 ++-- .../features.roomdetails.impl_RoomDetailsDark_12_en.png | 4 ++-- .../features.roomdetails.impl_RoomDetailsDark_13_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetailsDark_1_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetailsDark_2_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetailsDark_3_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetailsDark_4_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetailsDark_5_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetailsDark_6_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetailsDark_7_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetailsDark_8_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetailsDark_9_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_0_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_10_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_11_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_12_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_13_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_1_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_2_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_3_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_4_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_5_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_6_en.png | 2 +- .../images/features.roomdetails.impl_RoomDetails_7_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_8_en.png | 4 ++-- .../images/features.roomdetails.impl_RoomDetails_9_en.png | 4 ++-- ...roomlist.impl_RoomListModalBottomSheetContent_Day_0_en.png | 4 ++-- ...roomlist.impl_RoomListModalBottomSheetContent_Day_1_en.png | 4 ++-- ...roomlist.impl_RoomListModalBottomSheetContent_Day_2_en.png | 4 ++-- ...omlist.impl_RoomListModalBottomSheetContent_Night_0_en.png | 4 ++-- ...omlist.impl_RoomListModalBottomSheetContent_Night_1_en.png | 4 ++-- ...omlist.impl_RoomListModalBottomSheetContent_Night_2_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Day_3_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Day_4_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Day_5_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Night_3_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Night_4_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Night_5_en.png | 4 ++-- ...ents.dialogs_MultipleSelectionDialogContent_Dialogs_en.png | 4 ++-- ...em.components.dialogs_MultipleSelectionDialog_Day_0_en.png | 4 ++-- ....components.dialogs_MultipleSelectionDialog_Night_0_en.png | 4 ++-- ...onents.dialogs_SingleSelectionDialogContent_Dialogs_en.png | 4 ++-- ...stem.components.dialogs_SingleSelectionDialog_Day_0_en.png | 4 ++-- ...em.components.dialogs_SingleSelectionDialog_Night_0_en.png | 4 ++-- ...mponents.preferences_PreferenceCategory_Preferences_en.png | 4 ++-- ...mponents.preferences_PreferenceCheckbox_Preferences_en.png | 4 ++-- ...nsystem.components.preferences_PreferencePage_Day_0_en.png | 4 ++-- ...ystem.components.preferences_PreferencePage_Night_0_en.png | 4 ++-- ...components.preferences_PreferenceSwitch_Preferences_en.png | 4 ++-- ...es.designsystem.components_LabelledCheckbox_Toggles_en.png | 4 ++-- ...es.designsystem.theme.components_Checkboxes_Toggles_en.png | 4 ++-- ...itch_List item (1 line) - Leading Switch_List items_en.png | 4 ++-- ...tch_List item (1 line) - Trailing Switch_List items_en.png | 4 ++-- ...tch_List item (3 lines) - Leading Switch_List items_en.png | 4 ++-- ...ch_List item (3 lines) - Trailing Switch_List items_en.png | 4 ++-- ... item (2 lines) - Leading Switch - Error_List items_en.png | 4 ++-- ...tch_List item (2 lines) - Leading Switch_List items_en.png | 4 ++-- ...item (2 lines) - Trailing Switch - Error_List items_en.png | 4 ++-- ...ch_List item (2 lines) - Trailing Switch_List items_en.png | 4 ++-- ..._List supporting text - large padding_List sections_en.png | 4 ++-- ...s.designsystem.theme.components_RadioButton_Toggles_en.png | 4 ++-- ...raries.designsystem.theme.components_Switch_Toggles_en.png | 4 ++-- .../libraries.featureflag.ui_FeatureListView_Day_0_en.png | 4 ++-- .../libraries.featureflag.ui_FeatureListView_Night_0_en.png | 4 ++-- ...aries.matrix.ui.components_CheckableResolvedUserRow_en.png | 4 ++-- ...ies.matrix.ui.components_CheckableUnresolvedUserRow_en.png | 4 ++-- .../libraries.roomselect.impl_RoomSelectView_Day_4_en.png | 4 ++-- .../libraries.roomselect.impl_RoomSelectView_Night_4_en.png | 4 ++-- 210 files changed, 418 insertions(+), 415 deletions(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Checkbox.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Checkbox.kt index 5430b3fc38..012a2184d1 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Checkbox.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Checkbox.kt @@ -59,7 +59,7 @@ fun Checkbox( @Composable private fun compoundCheckBoxColors(): CheckboxColors { return CheckboxDefaults.colors( - checkedColor = ElementTheme.materialColors.primary, + checkedColor = ElementTheme.colors.bgAccentRest, uncheckedColor = ElementTheme.colors.borderInteractivePrimary, checkmarkColor = ElementTheme.materialColors.onPrimary, disabledUncheckedColor = ElementTheme.colors.borderDisabled, diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/RadioButton.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/RadioButton.kt index dd77af4677..3c230a811d 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/RadioButton.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/RadioButton.kt @@ -51,6 +51,7 @@ fun RadioButton( internal fun compoundRadioButtonColors(): RadioButtonColors { return RadioButtonDefaults.colors( unselectedColor = ElementTheme.colors.borderInteractivePrimary, + selectedColor = ElementTheme.colors.bgAccentRest, disabledUnselectedColor = ElementTheme.colors.borderDisabled, disabledSelectedColor = ElementTheme.colors.iconDisabled, ) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Switch.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Switch.kt index 7396eba85b..5cda8e1d26 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Switch.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Switch.kt @@ -54,8 +54,10 @@ fun Switch( @Composable internal fun compoundSwitchColors() = SwitchDefaults.colors( - uncheckedThumbColor = ElementTheme.colors.bgActionPrimaryRest, + uncheckedThumbColor = ElementTheme.colors.iconSecondary, + uncheckedBorderColor = ElementTheme.colors.borderInteractivePrimary, uncheckedTrackColor = Color.Transparent, + checkedTrackColor = ElementTheme.colors.bgAccentRest, disabledUncheckedBorderColor = ElementTheme.colors.borderDisabled, disabledUncheckedThumbColor = ElementTheme.colors.iconDisabled, disabledCheckedTrackColor = ElementTheme.colors.iconDisabled, 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 09fae9b1c4..7a19e6eae0 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:c7694f4763e3665735ff147716028f998d5e58e77a1f33c52c427dae9e5648ad -size 21736 +oid sha256:a84dde6eb64c01aefc77f9fdb0e9c9a84d74ba55d20b9051893533ff32f7a15e +size 21961 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 3e1384e1b5..6ea8eaf904 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:8dd60978c551d540c5ecaa4ea5ef82b59a77894b64dfabce4d78a33314b05bc9 -size 21253 +oid sha256:2fa2e0c01183dcca6ebb3fcbd267caafe50aa48231a7423abb7abe76964a0758 +size 21288 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 b120267f45..6a4c0ada32 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:9a0a3b1be08dd65f0327e6a8f5f6887ba84e92210396b67fbc0e06476c85083a -size 77369 +oid sha256:94ee32aad0979cbc11d1ef7dbb23fbed8425778a9e28f8742a7d219d8bdab379 +size 77593 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 c991b0b58b..b5298e08af 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:e9b6a5050fc2dea2b38e1aef137854c738f7308cf08f4aad461dbe2de226b3e8 -size 78216 +oid sha256:5e85f874e950c2ae755a31bc2dac2115ef30e052a1183112badd50e7066d861c +size 78110 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Day_0_en.png index e0b86b3e66..5cbe107c30 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba69a0de9742766c10dad92b9c87c1ac153d3086dc75458b1be11d346f64268b -size 33853 +oid sha256:5a5d782c4a167bd68d9dc2f5ac39bf3bc2759b741806bfc09dfccfcd8ac6c59e +size 34010 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Night_0_en.png index 4417dcfc04..2f3c098383 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61121eec37d942db01acb56547f2957b51a38277a85b0f350872edaaee75927c -size 32865 +oid sha256:bd2b9b57c6e4a7ff78c66cc81f02234320be53dc362eaddb73b012c6e145d874 +size 32847 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 fccb09b40e..e916bb1705 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:7714bcbe7a5535390328282aa7aacbe6d0155c7ec7273ab1a08be7fd56798269 -size 82386 +oid sha256:d783fa26d1b4a891a000f638a3d6b7e3df08390b9f800e3e4d123e76cfc274fd +size 82488 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 32022961c5..e0413b796a 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:ad11252f9d054c05c52d126c2dd7656c787bf2c4bc76dabb6815c2030abffe82 -size 51881 +oid sha256:0c2187b3eb917901c6d9fac36ae44c28c7c3946a055cbf156aab3063c8981e4e +size 52055 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 ffab27786d..dd905d53ce 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:a53dddddd8774b9c02beb6daab0111ad62f8e28863815a45be12d1bb0dbec9e8 -size 53254 +oid sha256:8cec0dc2a2b0870c7ee43a0329f9e8b67b42e7e4f26f349543e8c5d5841830fd +size 53161 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en.png index d1b625dd5b..ae9ae05dae 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:38dafdd30f73da92206c3617243b3b977e9af066eb3af82f190b851bef192919 -size 57257 +oid sha256:2f38ab6428fc8607b78894c6810cf1d87dd13f01992edf36634573f20cbb9c9e +size 57404 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 b4ef8271b1..8aff8cd848 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:bbe5493a3482c3b3a163b9491435e5548dbd0994db1a99ed5860954c2b139171 -size 79120 +oid sha256:ef11ddc874c2aae050528970fcd4fbd36b1d6dce739614364ce683c6bfde7881 +size 79119 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en.png index 67fff2c0e5..0a7cc1ced6 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:090d91ac6f110d34f565787f58dbf760ebf4ffe6eb0752094f6cbf6c47cd7d48 -size 55445 +oid sha256:15b314432f3fda2441e94c10416bd06d30b83584e2db839cb77f73a09d59e7cf +size 55356 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 def0e55ecf..c5262f955d 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:09a5f2d0d8b25ce4cbbb3881c69df6a7e001413bcc8c541135359d28a4b7af86 -size 78493 +oid sha256:feb07da1d695a54c3b92e7c073b04a8a3eee4e0be65f547ded6118c7c53d45cc +size 78370 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en.png index b7b88a691e..384ec25fd6 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4b2b2af0b44bfacd08ab87c79dddf3360828d21061740274b5ba0d06088b2409 -size 16688 +oid sha256:04a23753f64de8e5c091badfdc5b5afbf96cbffcd15406aad0afffcd1a13d5a0 +size 16770 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en.png index 506af5d2be..e939994a6c 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:97623666f56112de9fc9aafc8038c404b158537c3a2baa2a53b626047a86d465 -size 19042 +oid sha256:e0f062c84e4ce8e5b9963d6834b526ff62e01e588dd3c502c93eb44fc0aeced5 +size 19138 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en.png index 3e90c9b2a1..4961d89f12 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b896428ab38591c329f8b38252b89e1368543636f3dd29472ec1e8b26c8c3979 -size 28523 +oid sha256:4045875239234c4f0e6479c0ca3674986d86ba36889f7e2741f5b9c0b14bd254 +size 28584 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en.png index e0be4f7256..48d63fe587 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a94ae22a526e4cde7de810caf11fd81a5ad32ee46898e6085ae06a7f8f44e40 -size 16043 +oid sha256:2bc41a0c0b381a1b91165fc0bdb5fbc3e88e64f394aff5abdd37f49489abe91a +size 16110 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en.png index c649c6e900..d5695d6252 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d145fe2b31f29c6aa5a304fc2b0ef05cf35fda07718306a234bf474c47f9b853 -size 18424 +oid sha256:f70f9f443ed73feba3a52ac5dfd6cc2a027bd2959c9b95b362e1e8b65d011c6f +size 18489 diff --git a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en.png index 196b3748f0..06a22cd19f 100644 --- a/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:be85bd352e63d007da143e1a970a97cf4f18e810971906a4e87cc7d0ef2593cb -size 26610 +oid sha256:3d9aba9cb658ff7ffdd86260c7a600393cf123add48d087c2a92381d6b91b191 +size 26633 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 68ab880be0..1609605195 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:a6697e9f1eb393eadbb0e8798d015e775db687630a99ae022d2f5f9ed98f63c0 -size 76629 +oid sha256:de520c3c0cf2133c2f862e061055b24d11a9fd7b54644b7aaaa989a8ecbe466f +size 76719 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 ab9d5ae574..6de57394eb 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:186e522401f5a373ac727311200c731beefff88c1063bf7a81a9061d1f9a2537 -size 74989 +oid sha256:0ac8095520e4a80826f34733f90d1cb3d56601f194edbd890508a6fc6f31eadf +size 75246 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 509f9bbf5b..5f5dc77631 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:9d78c7e4138aeae16248ef7cf64acd69d6ecc5258c0f922a3524c9f00731ce1b -size 60537 +oid sha256:a9d2f18ee31a3370c08ba437ac21173538117b8fcdfeb45665677746c9fdd335 +size 60790 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 7b332ec095..aef51abcde 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:473a8a96c8f78f152a2bcebee155a8d7b35acaebbb31bb8ae23163bbdfdbfd22 -size 51931 +oid sha256:d244fa646c87a6379d14eab9fa182652479473b5c77559e4631f3ffa19c0e1c4 +size 52134 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 339206e889..c346f0501b 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:0a5f361a14ca58b8fc01218d4ec6f03690ec7c164959bf56f62d42d7636d395d -size 74844 +oid sha256:babfe5dd3b5eaff3cddeb3a09b6cc72c86241510311bad2322d3938919dd6e01 +size 74907 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 067587b726..afe1729971 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:aaaaec73dc7498da2f081e0c04867d194eedf5accaf8f3b3aee8989301d09749 -size 73293 +oid sha256:cca5bcbc56dcd6b47e4608682a0a343eb612a0185332e245ca0025336a09bcd0 +size 73344 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 bbae82f1b8..143b0eafcc 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:7aac1755163a1f12fc077e20a07ed5948a944b7cc345da0963516945176501b9 -size 57237 +oid sha256:88e989abce89da86ef8a7e2a4e036ac3ff9b41e38270edc3be9959a18cd4c86c +size 57191 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 b70fd7e6a5..84a9dab2b6 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:457f431e515a880cf91bfe7678cfb0a6e3b9a62cf368179c06a8bf08c7647ed0 -size 48788 +oid sha256:c7e9d33860371dd2a280175f9482e43589aeaf92f443e3d7cb7ab487cdef1dfb +size 48737 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_0_en.png index 31ae568842..0a4843710c 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:40b771d1f8dd42d6f2c1f1ea426cfc5ac3f13d50b83b2f246c3aeee09b5f9966 -size 32267 +oid sha256:1dfe32bea70bff2eb009cde05441a8476701366d34341468a96101c336630c3d +size 32242 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_1_en.png index 92d2f4d682..982ca17542 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e31c6ee0fa12b7efb236219f4b00528073914d32f1abcfd067f465821083ce34 -size 36498 +oid sha256:c34faf032e7f38b49d9bb7e99c8688f9e1c7fd821d951a26c52b2bb4bc9cf24d +size 36637 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_2_en.png index 0b07474a33..166116ffaf 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f18d1e2dde9437cd0677a781094a1098831f596bcfe791087c11b3e5b9d8d4f -size 38954 +oid sha256:5199a5d1f36ee96a30c81dd328dee7c07fc96fd5eab8a4b93f2fe33ccef4405d +size 38989 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_3_en.png index 6204e4b29c..1a1c1c60de 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6d1d804b20d0b2ee52877dfa8cc7c20128edf788f6fdf4f0bc926ed5572ce5af -size 44369 +oid sha256:3153a4e0b95bc3c6cd7c1424e864c9e1aadee95eee6a66fa03e760e9cd7cb10f +size 44462 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 0d0bbf7a07..6a14c1b30d 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:3b08adae478024d92e8d7d96832170ab7e40b6f76526d5e17405aa28f2afb3e8 -size 32810 +oid sha256:96d2015cfd86eec443b94263da66c769df35135e8319d19bcab137a2b363d51a +size 32781 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_0_en.png index 8a738292a8..4c023d0b88 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:568bb43d4df59576d073294bfa3e87d801e0e4e7e0d0e00bd5b6c92ce151fa3e -size 31153 +oid sha256:16d14b57d5299dba1cec83f416d6283065281ab5a50f7cb72286d7cea3d2dff5 +size 31067 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_1_en.png index 7bff06b21c..38ce73f9ce 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69722b9ed9ed96be3b57332fc5e4e78e6977f51a65a74dff5d5f3255a45506d5 -size 35455 +oid sha256:18713df330ee3b81cd015e09151e4b4a4739ddd3201a15f8d2e1286ee16b2d1e +size 35436 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_2_en.png index 015ae36efe..303d1e090a 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ced37e6f1eb71126bd6cf66ab24da9ea430c5391072ee2803c222bdc8bcbe27 -size 36555 +oid sha256:fef21564c727e0937748abcff1cd9ca45a54bfafe70176d7110f5321de9e7acf +size 36436 diff --git a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_3_en.png index faaa22af60..88da781a18 100644 --- a/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.poll.impl.create_CreatePollView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3c3be28b2fb2fe83a79b9d0da6d9a0b4ac066e9762bf92a81dbcafd1cded22ab -size 43079 +oid sha256:a218321a53ef189108aa19985bead154eb33afd4be5adf364ad0c0569bf003bf +size 43054 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 8236584ae9..de3c373e40 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:42b5f4b56b8b0a5347d6f6bdafd552cdbed6bd02bab846edfbd98c640de2dc03 -size 31749 +oid sha256:0885f4af4e3e8afd56aaeb44f517b75eb087d9f21e1095da2c8a3590715a8672 +size 31669 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en.png index 10c7213abf..104bffac4b 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2d4b39aa22007f8e10f5b64ba96b335223bdb8b9e0ef1d60bb1a2ff3190290f3 -size 42023 +oid sha256:0c6ec8d30f2fd12c78bf62c9913a68c7a1f6328f0ac9e577317d0abf72e1131c +size 41788 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en.png index c9564c8a50..90d74c8574 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6bb51fa5e738393685af840444d5b3aca3413b1f8dca5020fd9f3cce7f38219e -size 41435 +oid sha256:e37410e8e25d6908bbd88db983be7f1c50b4f848763b66c80bf18de97d7f4916 +size 41548 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en.png index 22f43dc285..a349f81ff4 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:29a4ce49d2191395d93f50e489137d1a939b23231ef9865217564d87eda86482 -size 30952 +oid sha256:4d64cb8ce98dfdf2345e12596e4eb3777ea4cde2bd36303d0af6b47614e28f3f +size 31044 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en.png index 17fa444b6e..8101ff2277 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf4034873a1ea243d39767f7d0b6d24d365dc9a260cffaa0e20d43cdc8d43411 -size 41463 +oid sha256:69308b3b8b6a7b8a0c032ba6b023a49fcfbb4f05317cbe96e690b4aa3c6992b8 +size 41621 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en.png index da0f016060..ecd0157f5b 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:46ddcc5be668477289909de2667759a3ddf1698790f8f610eecbd94eaf14f81e -size 40714 +oid sha256:702a4067afb752978fef59ca45b6d4c871d084953ab19a3d845f0018a894ac6a +size 40510 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en.png index 6e5354f4f9..dfe78127a6 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:839c064ea5d6c37e6dc49c1e2970a4dd358d45dbbd7887467d802547032aca1f -size 40272 +oid sha256:1904587ad63098e18e17663a3bac34f2ad24d79967ab44789a1bc1b994805eeb +size 40205 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en.png index 2e7cc350f6..0d10e18998 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b671e3da7af1357e6e9f3d2837a676762f50384b786e9bcc3e208f4423dc8967 -size 28785 +oid sha256:14098a8dc6d7c9d99b6a04710e1385b39839bf18be3c9ddae7ce437a0c1bf64b +size 28729 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en.png index 294c96fe73..4241c96cb4 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3a3bf2dba2a903b36cc2e6e2f0fc6a3830e1d864cc779a20a3faaec1ee71b500 -size 40392 +oid sha256:6a6151f04f2dca8124597c6d144cafe15a51f7fe6638cfed4380a9b6e125bed4 +size 40259 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 35940476b0..623d7ec989 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:35ae2f9a46586dbff631851775e80fad98baf9e525b9bfa13a59ff00fc59ff52 -size 24891 +oid sha256:2297dfc8136f360807bdf0fe006bfd8c4ff5ac180ea2ed4cd3f64a459b0cd1ef +size 24848 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 11f922522c..b7bc679f19 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:63e7f018074b6b0a591823f5ffdc156937a0a23ccafe39a0d4af88a7a05980ca -size 24269 +oid sha256:4d846f43f00c1b3fe2f8a726f95f851b9fafe697f928f27e5fa57eed2d4138db +size 24217 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 c02cae3baf..5a6c498300 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:0dda72bce08ceff2d577feabb88d097dc0af0de2bd6b24261adf39bed92a5157 -size 57652 +oid sha256:e1cb2f64719f8abda45e50b9cca1a2985630736c35e9cdb32b207696ec067edf +size 57683 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 c02cae3baf..5a6c498300 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:0dda72bce08ceff2d577feabb88d097dc0af0de2bd6b24261adf39bed92a5157 -size 57652 +oid sha256:e1cb2f64719f8abda45e50b9cca1a2985630736c35e9cdb32b207696ec067edf +size 57683 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 15296e31b6..c9c81afac2 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:1ed1eeca50499ba467db8d2b17d334becb68cc9ea7418286eee8e19aeab3f9cb -size 56240 +oid sha256:40cdf166be2b920b5e6282835fa80654a734ad19bbefdc2c37d287447cb3b49a +size 56274 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 78295963cb..50fb79702e 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:ccc5bf3169fbbd19626c775c88e295b48192f5a54b5640c99dfeca813e8e7ca5 -size 55838 +oid sha256:b8ff541c779c046143e109f80fe45c5742868b1b4b9d4d5a96371b336e2f1c56 +size 55837 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 78295963cb..50fb79702e 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:ccc5bf3169fbbd19626c775c88e295b48192f5a54b5640c99dfeca813e8e7ca5 -size 55838 +oid sha256:b8ff541c779c046143e109f80fe45c5742868b1b4b9d4d5a96371b336e2f1c56 +size 55837 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 d32653f9fb..9f66038e62 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:266125ef6b0812194472e6efb5c832210523e0bc1538408f872ef5c48fc3906d -size 54434 +oid sha256:d18ec536792e9e3cea6a40e8a2901e131631be7795f92f64726b8b91e8c52e34 +size 54433 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en.png index 36e55121bc..25606014f0 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7380797c03682c1a38cfb79c11197436b95c9d89d85181f7f16d20a8b418a767 -size 33926 +oid sha256:714ae3cd8579c434fafcb44d167f5af6cf5f288313de27c204aa3dc87221db8b +size 34205 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en.png index 6521307767..f256b2734f 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed5cca40de1f857694c91f90d72247b4ff9cca869c7199b4ce87880fe4fed1f7 -size 32785 +oid sha256:e8ef357e875ff36420c57b01c2a7b7d1d08c70bc04b9e3f3787c4a3f8bf5bb4e +size 32874 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 edb1a24759..06ab0d5f43 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:4dacc18ee89d3a3bdae730b558946de7c46af7e4ff5281c64ca48f287d33d9c6 -size 42283 +oid sha256:08a10a243e0ef4e1a53a189cac312b58c5e452c7141859455a7318d526ca842d +size 42565 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 de9acbc6f7..4eeb162f44 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:110d1e6b528f9c4fd129f42ee779004bf3c9229ea1763c6c1d0c277d739ba9d4 -size 42151 +oid sha256:d974808e68dabf20d8eef2cb1005f01010e5529b89e6de8e578ff63ff4d36688 +size 42427 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 bc801ef511..40ef30dbd9 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:e64c465e13a10fee45984bc5ec22ab2a84ea3c7c9a184d846cd45a30f97985f3 -size 35277 +oid sha256:e5ea3925c312c89b6beda3b60d620708568ad8de5fc1fee28f949dbc50fdb2f3 +size 35574 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 3f35dfc83d..5c6f682bf7 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:d4e00444adb06fcc2f95e2c0f8eacbaa4d9eb03e3b7803b7e759374aa82ae2a6 -size 37767 +oid sha256:78abb77d601fdf887016133973bbe56db3b466e99e9e4b68e4fa7f95773bc30c +size 38072 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 723a4e12d1..0ca4227b9f 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:51fd08c83f40da8e90d5a7c653ffc8e2692ac20cface19480eaa89ea79cc11cb -size 55787 +oid sha256:c76fe610360ba2abdcbc623c1637c6f9d73fb49cf1e7f186abf1138c29a3b88c +size 56005 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 fd7ce2b8ab..4b5987ee78 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:b08106edf873a7131439cfaa75b3bd4074ac86caa14d4f95e18e7ad741e977fc -size 41905 +oid sha256:de2da52c3fdd569e85bebf675ea9e3badbd070d36da314f73491f4c61c03874c +size 42060 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 9f6c2be4f6..164be5684b 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:d58d34bd389c999067fe99edea5f732b17a9027ce3f62f49acaf68af41c932bf -size 41797 +oid sha256:a0de6f36ac2fb89361c24ff6d8fb5ff58f97418f23752beb74b1ae151f90211c +size 41952 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 9020263754..9feecf6bf5 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:d3d0bdadcd222a612f5f8729035208e27ae9b67fd00f392b6cd209c46e33eb17 -size 34341 +oid sha256:d75db49c8366ce223f2b296e2ddbb4189f9cc5bf4387a4bf8a18710b91e71ef0 +size 34371 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 944003ba4c..45a6278ecd 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:a9040f1588101ac65489baab82a2bc748adc67a22647f9c3d7a99039bf7f2e8c -size 35309 +oid sha256:a464fbc06fc20f2eb26c2c0419b86e992c9ce167105b8bd5491d229b5e161efc +size 35340 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 f4dbe7706e..534c1a639b 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:dbf8cdfc8da70970994334df6c9791b310374ee2002a939823bbab093b865c0a -size 55141 +oid sha256:9893479a47a8f6525600bbe9c98b168faca76324b91d98669e4ace04b583836d +size 55215 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_0_en.png index 623e0353a4..ff53b34d12 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b45ae4d7ac996d039e3ae0f32c657d281d723673fe27cc2d80641d1274324758 -size 54176 +oid sha256:7f50ed0c07b83efd49ec068ebd20bef9ec03c4798ef54531ba64b39b46c7f392 +size 54670 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_11_en.png index 36d2472d24..441eca9105 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9c968297fbefa025b36a17ea36be1a6f8b8f58ae01bfbfcb3209d9e75289e94f -size 58593 +oid sha256:a56d884dacc6f73de25255dc4c0960e15968a6b9b89cfab858571d5f6c5a16e6 +size 59133 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_12_en.png index c4783027f4..3d8dee8430 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b97743618b94a6f0e9f3e9d1e776f818deafb8e1bfb9671e85497359b2d45a95 -size 15210 +oid sha256:c7317fdf96ff21fe516286aca2720c89390eab57c15336a4fa82afd5473d29ec +size 15296 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_1_en.png index 29a1ffaa25..7374e09542 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e802633c5b751dfbe0b6f93af1889569fc4f2e4161393a3ab40e3333cf2c52ad -size 43105 +oid sha256:afafd3155ea2199c3e0d566797337a1bb5c88ffdf8beac3274d91829ef91d44d +size 43807 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 4e1fde3de3..7b90aba7a1 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:ce4b0885b7afbc602c82d7b3a09ad30bb33cb3ef93a1c963af8f9c6a6ffb6c38 -size 39852 +oid sha256:3a9baa805090314e6244161434be4921b805c148046216fa9c8864fa02002782 +size 40413 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_3_en.png index f604570a2a..6fedabce33 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:944f9e070e6958b96e0245b3825846c7890446e3b51013a80fb987aac60edbef -size 39226 +oid sha256:b4a9eced43be347d9b84f2872e232c9d4a68e7e73fa2801945691601315f0c82 +size 39826 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_4_en.png index f604570a2a..6fedabce33 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:944f9e070e6958b96e0245b3825846c7890446e3b51013a80fb987aac60edbef -size 39226 +oid sha256:b4a9eced43be347d9b84f2872e232c9d4a68e7e73fa2801945691601315f0c82 +size 39826 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_5_en.png index 29a1ffaa25..7374e09542 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e802633c5b751dfbe0b6f93af1889569fc4f2e4161393a3ab40e3333cf2c52ad -size 43105 +oid sha256:afafd3155ea2199c3e0d566797337a1bb5c88ffdf8beac3274d91829ef91d44d +size 43807 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_6_en.png index 5ac32391bb..cff6e41e2a 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b874e4b2f146648b3bb459f071356ea092658771bd8bf874132f75124c97d68 -size 39123 +oid sha256:aa2af3b0417a71e80d64e6350b2d4c38c080f2489a539d0a29c914f2f4248ea3 +size 39634 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_7_en.png index 29a1ffaa25..7374e09542 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e802633c5b751dfbe0b6f93af1889569fc4f2e4161393a3ab40e3333cf2c52ad -size 43105 +oid sha256:afafd3155ea2199c3e0d566797337a1bb5c88ffdf8beac3274d91829ef91d44d +size 43807 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_8_en.png index 29a1ffaa25..7374e09542 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Day_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e802633c5b751dfbe0b6f93af1889569fc4f2e4161393a3ab40e3333cf2c52ad -size 43105 +oid sha256:afafd3155ea2199c3e0d566797337a1bb5c88ffdf8beac3274d91829ef91d44d +size 43807 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_0_en.png index 897ad85304..b01908c024 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d828ae2c3b2ba383b88aaf996ba47718f5d3dd00677e2a471f097ca0a524b131 -size 52826 +oid sha256:7ec189c7be1407ac50d9026da4bacd63bd1b43f016d85a1d639f1defe1c88fb1 +size 53024 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_11_en.png index 0bd1635db6..121db75d13 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_11_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_11_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4e0d356a6062d0b4e58e75b1fe5b100f7588e111589a390539dceed8d53edfb8 -size 57268 +oid sha256:399efdebf67b1c042dc105d6538ea4fb622314c883fd6d3899eebcedd3ff357e +size 57540 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_12_en.png index 612f5af55b..8e428f123f 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_12_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_12_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ea1f406cdc673d242f6a8920da2f15316961f9765ddb43e189ef1c057417658a -size 14762 +oid sha256:0c484008012b2d569c6d313823b4ea8c96521fb6a172d37ee1db11f6794dce62 +size 14806 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_1_en.png index 4b81eb69c5..5d2b2341f4 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6022a97509cf28fc70116ccec00370ac6bd6c2cc6b43365a2467167a44ad5654 -size 41769 +oid sha256:8ddfa90c2eaf6b493ebc9c2c5164888716918c7b453c49d7653a0cd4dd69af81 +size 42092 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 af2f907351..2413b74fbd 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:5358735656302e34840c1acc69456ffcc38198127def752373b82eec00a97e1a -size 38615 +oid sha256:4acf8381c304f3e1f8d5addc249259b1d826b5e08393b7ad2e6d40548d29eea6 +size 38383 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_3_en.png index 78560ed34a..03119d8077 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a0058c4bf65e81b8d69c483998f283dfcbe81d3daa003e9a69a0d57ec19d4d46 -size 37002 +oid sha256:26566053b4a79fb6a25f68d24d9c324084ebdc8d0ab272329564c0b5d8e03327 +size 36780 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_4_en.png index 78560ed34a..03119d8077 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a0058c4bf65e81b8d69c483998f283dfcbe81d3daa003e9a69a0d57ec19d4d46 -size 37002 +oid sha256:26566053b4a79fb6a25f68d24d9c324084ebdc8d0ab272329564c0b5d8e03327 +size 36780 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_5_en.png index 4b81eb69c5..5d2b2341f4 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6022a97509cf28fc70116ccec00370ac6bd6c2cc6b43365a2467167a44ad5654 -size 41769 +oid sha256:8ddfa90c2eaf6b493ebc9c2c5164888716918c7b453c49d7653a0cd4dd69af81 +size 42092 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_6_en.png index 607f904161..f4d461da19 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:266ec4edfa5dc97ed1b517d1447e5bdcffbd68bae08e34622c3f5d48db2927e7 -size 37139 +oid sha256:44daae053db2a46c04ef632d61f99ce1782fd4283e691b5a80084c79ffa79bae +size 37003 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_7_en.png index 4b81eb69c5..5d2b2341f4 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_7_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_7_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6022a97509cf28fc70116ccec00370ac6bd6c2cc6b43365a2467167a44ad5654 -size 41769 +oid sha256:8ddfa90c2eaf6b493ebc9c2c5164888716918c7b453c49d7653a0cd4dd69af81 +size 42092 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_8_en.png index 4b81eb69c5..5d2b2341f4 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_8_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.notifications_NotificationSettingsView_Night_8_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6022a97509cf28fc70116ccec00370ac6bd6c2cc6b43365a2467167a44ad5654 -size 41769 +oid sha256:8ddfa90c2eaf6b493ebc9c2c5164888716918c7b453c49d7653a0cd4dd69af81 +size 42092 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 2b83beaad2..f880b76b8c 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:6528bc232576108198c438caab791ca90c41bbfd4db4f1aa946230fc4c3a226b -size 17573 +oid sha256:635717dc1c8c091b7594daa808cbaabc0e86e3e9d36ca7cc298a373d10551400 +size 17873 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 21b7e5a72b..58ebfb69bc 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:a75abf56047d45db45c1a6d0615877ac280037e2b00d8df067b3175c4d36bc58 -size 16925 +oid sha256:8d2bb56ef79162a18b0b4774afd37885fe0ab8d1f51fabf4e1fb6fc04c33293b +size 17073 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 d99653f691..4ccbd24a00 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:25ed56a0bb137ff47a8888464fa192ce6abf0cbc90580be5e58b1e8aeef40d9b -size 69441 +oid sha256:b1a27216d9fb2e6d28109f6f414c0a06598103c69d182cdf5e926c930ac0a6b0 +size 69545 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 1b37acd145..e8406bc31f 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:3945ef2e9a2257a3f70af5d29318bf638986637522f4d7e26237ca1cdcd919e6 -size 86802 +oid sha256:97ddd11519803c8d042e593c0d231051bc9518b4fbe2f63d80792ea34319442f +size 87044 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 d99653f691..4ccbd24a00 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:25ed56a0bb137ff47a8888464fa192ce6abf0cbc90580be5e58b1e8aeef40d9b -size 69441 +oid sha256:b1a27216d9fb2e6d28109f6f414c0a06598103c69d182cdf5e926c930ac0a6b0 +size 69545 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 fea39839cf..d0a6434341 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:720eb9530c47ab826fedd2ce9d46a47258b38b96e730729b4662dcdcb78c7533 -size 52963 +oid sha256:1c2cd5fc3c6bef3f6cfc9f1d61bee2e2e41829ae3e77a3d8de31cf2168c25f61 +size 52908 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 d3b3acc95c..eb78b02621 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:0fd4e171ff84cc320d0ccf88225a381469755aa131fe6cb0d5101a19748b15b5 -size 67883 +oid sha256:ca62ad16aa94477303c61f1796d6fff8262fde99c3b31184538f6ae9234dc950 +size 67807 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 cead137364..31901f0629 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:7d3c1641529077d325afe15f9ad0f37ac8a9d7e8ff2dd4bf0108e52cd767d626 -size 85107 +oid sha256:f625b162bbd3172e953676219de6ba00e0cb34f0acbcda5ff6847359e7b867e3 +size 85035 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 d3b3acc95c..eb78b02621 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:0fd4e171ff84cc320d0ccf88225a381469755aa131fe6cb0d5101a19748b15b5 -size 67883 +oid sha256:ca62ad16aa94477303c61f1796d6fff8262fde99c3b31184538f6ae9234dc950 +size 67807 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 56e8d14d97..daa0f1683f 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:df211edc8c8dc1bad32dd2e4cc703416f5ec1c366d2807abf6e569808353896c -size 49650 +oid sha256:bbe73e23b4217cf10f3a5d50483bcd4d1fdc956b35129e66133c1c9ee26595bd +size 49536 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 6efbb40871..a54a62e2ae 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:e4ff694ba396bef7fb87243548a18faf25a1c1a02589fa373dc2f3c89553ed0a -size 42417 +oid sha256:2bd2bfdc6c1c597d6f9963eb657ab66f0d9c0ea42dc7d48cbb93d21b2933a8b0 +size 42451 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 7fce7f6e4a..4070ccfd7f 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:7c694257b40356f4112b3e0f772772287868cbd7189ea0c7840771ee6dbe7fe0 -size 43114 +oid sha256:693bc737b9fcc36a745cb816bfbedfd1fc69793bbd45a1bbd8a4fcf4ca9080cf +size 43080 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en.png index 29b80791fa..4b06082200 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2eca0b0b34a42f372d36220d9785e7afdc501e8adae7d96925b95506c0fe58d0 -size 29511 +oid sha256:f87139a0e17dbfb4d56bfcc41dc49924a0d185c356af5a5daaf60ff2465841d7 +size 29739 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en.png index 29353e1435..0c484052b1 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ecc5b9a7bfb829c88ad42d4c753ffc34789056da9688a8972814096887e3f3a4 -size 28735 +oid sha256:6754f38f6f193e2bd63758c0f184939e02f2fc0e3742669eb00ec6103c2a752e +size 28724 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en.png index 39ed90f11c..7b0e0866e9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:721c44e04ea074ef3b957c4096a0479b4b28839079d48afca2664c43b09600df -size 31702 +oid sha256:a1464b0ec13dd846b9421afe88c5d80cd50dd5b85182e597bd3278678a970f00 +size 31866 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en.png index eed6cc5199..572f35fc39 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a98107ea7f95f057fd3beadf64745700644eb5c85981f7d6ff59ea7ea6b46138 -size 35517 +oid sha256:1f15e7fad1c66bef0c981c127c60be7aa59a00233fcb193a567cad2961588588 +size 35958 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 091a0e378e..f98cbb95a0 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:3b7e4b2e85d4ec008da0a599550867b9c77cbea28d13ede421f543884c705927 -size 30170 +oid sha256:e415b79efd9309f8c3adcb4be9bc3d36e6199cc64d46a616873cd849369216f2 +size 30323 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en.png index 6844b91c28..9730414031 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a2cfdb77923311bf1b9912c0cf9d54161dd60babda4658a3c819a5f04efbad50 -size 31807 +oid sha256:a5c48b0e4f53d215055c1dd19c50a6fc6def66e7e0434e024c9273d7406efddf +size 31749 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 091a0e378e..f98cbb95a0 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:3b7e4b2e85d4ec008da0a599550867b9c77cbea28d13ede421f543884c705927 -size 30170 +oid sha256:e415b79efd9309f8c3adcb4be9bc3d36e6199cc64d46a616873cd849369216f2 +size 30323 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en.png index 6844b91c28..9730414031 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a2cfdb77923311bf1b9912c0cf9d54161dd60babda4658a3c819a5f04efbad50 -size 31807 +oid sha256:a5c48b0e4f53d215055c1dd19c50a6fc6def66e7e0434e024c9273d7406efddf +size 31749 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en.png index 39ed90f11c..7b0e0866e9 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:721c44e04ea074ef3b957c4096a0479b4b28839079d48afca2664c43b09600df -size 31702 +oid sha256:a1464b0ec13dd846b9421afe88c5d80cd50dd5b85182e597bd3278678a970f00 +size 31866 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en.png index 37bff489b9..024720100e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ac0e37ac7a9e727ecc540337f8b2a76a2c3ad0920d9e5ddd59d800fb9dfd5d1 -size 30941 +oid sha256:625cbbad08abcd569c8c930487cc423cfae86b03470a253e309649f81fcc0bed +size 31026 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en.png index 77bcc87b21..627383b0e5 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4b6636d08357eb6c719748cea502a03bb03c099dcaafbf890c308b217a70e11a -size 34618 +oid sha256:d7b8582106322cc822f4fd14e84b88fb9d420083d759d587747b4b077d469c13 +size 34722 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 001aae19a4..f75db9c36a 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:4435267dd72d315a6fac3728a2ab4e23d55c203106032d51ff720ce00e2df6ad -size 28696 +oid sha256:bc27d46353109831b314cb61a01d6778525a9d4443711878a6f4c801e509a989 +size 28635 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en.png index 9a925f166f..175139ecd1 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0bd8bad95a249561d5ec4ab468178ac3df3e6f3fbb4e51aa18f62050537365db -size 29344 +oid sha256:643367ae0396b2e2fa18070195decd8919bdd53a35ee51cd26af48fb3b9c4b53 +size 29323 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 001aae19a4..f75db9c36a 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:4435267dd72d315a6fac3728a2ab4e23d55c203106032d51ff720ce00e2df6ad -size 28696 +oid sha256:bc27d46353109831b314cb61a01d6778525a9d4443711878a6f4c801e509a989 +size 28635 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en.png index 9a925f166f..175139ecd1 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0bd8bad95a249561d5ec4ab468178ac3df3e6f3fbb4e51aa18f62050537365db -size 29344 +oid sha256:643367ae0396b2e2fa18070195decd8919bdd53a35ee51cd26af48fb3b9c4b53 +size 29323 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en.png index 37bff489b9..024720100e 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ac0e37ac7a9e727ecc540337f8b2a76a2c3ad0920d9e5ddd59d800fb9dfd5d1 -size 30941 +oid sha256:625cbbad08abcd569c8c930487cc423cfae86b03470a253e309649f81fcc0bed +size 31026 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en.png index 1ac39cb96f..c537936bbb 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:144bb922a620e8b09ba7d99c790e30bef8b61392b7bfc8b443c90c4598dc086b -size 22669 +oid sha256:29d32752f291cf258bfe69adb5c5968f776c39584fc8fdb496ecf81d3e78415e +size 22765 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en.png index 5f67267e45..dde921b1e1 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:64abc0a51d4439f8c882825d350f5d8de6628b72756b9e9df1cb8dc7c1286a84 -size 22097 +oid sha256:57e243970cb239da471ff3962429c72d50a11478fa49325b1ae4e994dfc8ded6 +size 22078 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 eb1aecd078..c1c79381f5 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:a041f30a016b9a6ad00db20419172668f7fe1687dcc0212350d146f61093a607 -size 49723 +oid sha256:5517f1da27777e1d67e298591daf0063c0ba9d110c26b442e0f7d29256d05bd2 +size 49842 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 388e200921..c2637ff6c9 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:208673d60636ded48443f1e55f1680c6029aee251e24b7934b07324a539a802d -size 66492 +oid sha256:5375d20c8ae75f0c79ec5ff836eea360ed3af4ada1cd5f30db7bfabc3d696667 +size 66628 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 f5b3344d93..7235f790ec 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:1e23b71ac5aa0898ca67e3264c87c8da9b1b3119e44f507df0a7ad13fd252eee -size 60759 +oid sha256:d0d492629413bd4ff619cf46c291cb4597ededc825bfa9ddac09171b2a954d8e +size 60909 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 92a8334cce..3721c262b7 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:048f0e1fcc198f61e43616406453a911c270b5eda7c2729dd9d67ee3a619d4d6 -size 60695 +oid sha256:594a74012b30e9f1dafe04bf8bdbfe4a9db301920be692f0c6d5b151638ea568 +size 60847 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 28310d7856..ed65ead313 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:b2dec4d26f6dde325be4f2bd42a8f8517e31cce46a9db8e30d7b457f612b8bc7 -size 55725 +oid sha256:2d083a4774130153cce24a64c1ea4bd3b9cbb918d486de0973eb62479f1e2612 +size 55770 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 72858854d9..a2868c99f0 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:9c1c92e1d7c6d3e2f47b83f9c8ecc2f2f98620e80c1edd5242d25637d949d293 -size 57140 +oid sha256:7aa35ef0ba350a827a2ed55c1d451c06901d74a781c630bd17653d6fc7972651 +size 57261 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 d63036eae1..4536e35f5e 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:cc64bcad7e0abd05248e98df0be2e42508312c78e3665c6b58dafb163c6f36f8 -size 59609 +oid sha256:2f40ba6d1a2a7621fe5bba7dcbfbf67a14d3da57b861f62a58076fe4c6f193f9 +size 59708 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 53b8438ee0..5b62c02b76 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:9af957c2cff2485fcef1b9cae18ab2a69f27901d732e521aa650fa03d1cf7083 -size 51650 +oid sha256:4dd9cdc2340bebd48275cd0f9ef5abcfdcdd99f55586d7356be0d7b240813462 +size 51774 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 a790cb9168..04e823413b 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:350db30a95ddd750cda52087c68fb121b6d4601f7e354a1ce516ac6a13f9a6b9 -size 64563 +oid sha256:387dc9b6bcf0dec4290a388fc92cca03b847426762c5bb809d5bfe0c241f18cc +size 64704 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 583af373e0..2d0cf2fe94 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:7a8f70a15e2abd6d0acffa2dabb1a13e9ca7e438709d68318f48c5484a6db728 -size 48557 +oid sha256:a942988a45422362293944f51e8b77b00c9ff6a41007b7f19d87f7c6872ed6b1 +size 48317 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 33bf48b028..80d1a233db 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:49ba57a1ea2cdc147bfeebc68ee5a076c7239abfffdfc9c9975c0b7c43fb33d1 -size 67287 +oid sha256:d1e8f0c5245fb38612fe136c7f5e81b2171d9fc4cadc90170eaa70a6e13f7b64 +size 67238 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 def16fb9bc..2d45057f5a 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:c96a37c2b956bcf92a2ada87e517a0dacc21984c0791b8a5c7fe94733306a2b2 -size 61576 +oid sha256:5c99600fc43dc54482914609441c5e6f2ebf3df3a22c93c95ec025d0df8cefee +size 61572 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 97288b3c1e..894bc933f3 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:08df2af6d1595fc825183929025cfc9dbe9e88a07b9811dacc371c7d6ee625e9 -size 61458 +oid sha256:eb8bd336ce57bf8906d7c30142e3f7e1823ed53c197125ffcbc9675ff635601d +size 61454 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 f25fc4763d..7c138fda44 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:7031799ddcbdb44ed40e6f843dc86558545885ae2a16d794cc7dd92d805e4a90 -size 56087 +oid sha256:c16447c9bef2aedc1a0164313c8d0fa4719a63797ca0946bc4eabfddc6eb457c +size 56071 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 db9ced912d..650e6597e4 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:e6e5a2197a3fddcd2f640f6dd4ee546c13179eb62daec257d159261049e5004c -size 55678 +oid sha256:2865ac868d98b0a96ce412ecc5570ace8dfeb3385cd70de4474ce9580cb2ce14 +size 55476 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 e2bccc9479..e9d93667aa 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:6ef4c956fdd9b9ed36fc6d949c0a166245941068b81683b8a7278f02d6e4ad7f -size 58119 +oid sha256:fe1172abbc412c3ec9a6238fe3f26a31356176301b1c9f2fe32ed6c34e401a07 +size 57921 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 3df5c03456..d3990081dc 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:1cda6faf6fd41e9ab912af2e1d307427a0b6f7d6eb364cbbe1c19f8019cf133e -size 51291 +oid sha256:8e5baea91836057ecffa0f1414ce08418a955ce4c1fd77e6c284779192af65b4 +size 51051 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 659a2949aa..9c889909bf 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:8f0ac658661ed11e23eb289547a5b789b020c5501846f0fc3b4e56fa4c875eb4 -size 64361 +oid sha256:f3e45b2135359b8094b9f8de1e21bb11d93cbeabd31329a54520a9faa594d57a +size 64350 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en.png index 0427edb0d0..9454d33fc6 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bdd98fd1433b4a89a01532a8b4e415bb18d28e98633fa6f74e4cefc2ecc87bb9 -size 14895 +oid sha256:28cbc07493bc3a91f391b0256554171bf60cc02d25ab8d0d78d68168fe62f534 +size 14993 diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en.png index 87e0f71c01..844f5b8b3b 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8101a457afccbc30b3ed88352ed98f9c8ed7444233ad77855aff6c190fff3668 -size 14690 +oid sha256:bfa988a2f41961dab1fc0ec245188dd18c1cfb430ef24bea5993593215d5f8e5 +size 14734 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 891bb58ada..76446e6180 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:eb42b92dd7f5fee39b51bfd0a7159bb2598bcbad1795afbdba774545887eef4b -size 40976 +oid sha256:94f040a3d18493f80b5f90eb48e68c664de5ddee0ae4575905ce35709d31abe9 +size 40969 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 71d26703dc..52912aa0fd 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:b14a4d595143cb070a4da9337c7f71f188ed1ebb0c405329bf1897130c67d529 -size 45115 +oid sha256:96cf72bdceae29a86593ed3bd02d5edbe1f5422e5be0798f536b49805088b0b8 +size 45109 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 35cf71ce2a..0ae9c7dc0e 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:a0a81c42785eb96c2f05f4b51fcba6bd9f23c75ee12b9016732b59432e423588 -size 44073 +oid sha256:0c719ba2c0782ecf8ebf37c07dbc79d37b1d993e4987388ceafbefb31b03d100 +size 44064 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 5da5c1d1d8..fba01a25c6 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:9e1f1359f4d25e973efdd8d087c5dc0e4adaae756343a5a13e353bedec49a831 -size 47224 +oid sha256:a675afee3fcef0f8468ec93e33e1e86398bda517f4f54615aaf527d549387431 +size 47217 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 81d258331e..b3273a0efd 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:b516d9c5d672ef78049f2927df18bc116d38465c8f87455974b19bb869126ef1 -size 45516 +oid sha256:ced35352da8f7b6c9d4a5647cf1ff29f194d4f68ca9eec9c268ab889271e4776 +size 45507 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 a853bd83b6..4a0208786f 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:ecf7dedf819aedb39eed575f8c4f7135ed2a8afe3c00e28a723af14dd8d92edc -size 37490 +oid sha256:3444cc70e1f1b212d89ba404199a439a498281aa9faff9a9bb2469b727498224 +size 37486 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 f013d01c17..16b2995961 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:56d9350e54e2d59c892d9101cb7eb2803e6469e6bd9cb7b33cd54c2df9e9dae6 -size 38361 +oid sha256:afcf1a235cd16b501ec02f7da90cf4800df41ab07383b7e6ed502f4e9249855e +size 38354 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 db36cd0d06..cedbb0f72d 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:4d72eb95fc23bab73c3767de4d55065894eeff9f764b5eab057ee03b4b3bb02e -size 38485 +oid sha256:5338fba98c85142b4300467a564e8920627ba83ec91dffb7e2370d07447b8d78 +size 38479 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 ed5ca9c492..f7c16b996f 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:747e1f74b9ed9668023432f59720a04c42dbf587525af893a2cd942e4db3b852 -size 44301 +oid sha256:9c7887b5f1cc07ef30ef347c149af51edbc1c4539615c04fef57737839677423 +size 44293 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 e55839bd1d..1774b7ba41 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:f9d3d78555516e89ebabbf4a42999c3a5eaa592a61f21cedd8860acd7a77210c -size 42214 +oid sha256:11c9af054eb293134755003d8864305d9f2ef9a7597df795e4354e4f7c420166 +size 42209 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 b2b388bb2d..8b0e9ee674 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:53f64097a1b58c155764740d08587ef3c1ffd75d0e5592906f35a208ad1d22ba -size 38455 +oid sha256:d3bd2e90f06f259b158b6438ff4cd045733362ad215b933ddbb855043a5b8fa2 +size 38463 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 a82f8e2670..52789eb061 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:b84053fc1792c01e90ebc0a3fc3813abcd08d186cc8be97517ae868368f22434 -size 46419 +oid sha256:ae95b22ef977a95f9de6dba9e8ed2b33ebca808db4437512be39f020fd8831da +size 46411 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 9ad48f0c53..aa849d237d 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:f16f57ddfa8723665254a9dc2e813f602ad9467a18a9ade32972aab9d385e9dd -size 45359 +oid sha256:2724c07c5ce097c2c470ecb4168fe2d101fb56a2b37a88065aa9210b14b871be +size 45403 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 f5d13190c8..c4aca87a18 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:c8a7e68ffdd3be3b8f53a1a4ec7f62bc5ee665f77f9b5b10d37cdec81106cd62 -size 45419 +oid sha256:df340c45b1d0a07f53adcc2872aef1a691c4fe4d0280e961524281a3dc1e427b +size 45412 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 043315587b..a6694758f1 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:acde3fab94448571085c5f941d7f713191841a675f261518e2a5aedb723d262d -size 41907 +oid sha256:bee1a47e22df24ba29b46dac1c8c2da8c38b3d438f8ef5b72dc3c39b0900338a +size 41908 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 24456505e6..c09b745e24 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:db7b7d43907ba44d2294014ba980502f4870b8fdedeb38c976457a38c50d48f1 -size 46002 +oid sha256:655995891afd39283b5271280d594d6b2ca0e3ff004e81ebbc4e351be0cd185e +size 46007 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 79e39b331f..c3ddd6dd92 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:d183aec1bc50f740ca2d9a381bcccfcd8207c5ead283d0c07c26bb36cc274ca6 -size 44973 +oid sha256:ff42edd6e8f1165bfe8ad24ad2e1a37a34138b30193283ceb070e09273c37247 +size 44976 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 5969e21c21..ea86ba1b2e 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:1a05167ae287d2e2e06f7b60f0b9434f7cd2307e4cfa2b73468eb933226750d1 -size 47771 +oid sha256:a21c4945fa617d0bdd5549c98a0b18067f302cb71e7e012728a61120a6ba7269 +size 47772 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 1546729dc3..b4d73c57b7 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:ea2569d50de897e2df9e561aa514c61818c40085b6cf54561b5788543e1df89f -size 46437 +oid sha256:dc76558ad62b1d9ec77afd066b2c64edc7241b93aaa431d8545041f7024315b1 +size 46443 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 fa326bb5a8..fec1bbe806 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:dfd69c661dbadf04dce808d154b40f587144060f058f6ad68f26361babbb25df -size 38378 +oid sha256:ab627c807db2e5bcf339f01fd0f11f5e79529b32165d96f2a192faa863c38dd4 +size 38380 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 fb34195d6f..7f4fb4df94 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:5a2501a0197144b4ca6dc60d8b840ad6a1e31adb96d7db3e051d06c48a65a4b7 -size 39224 +oid sha256:af7f4944f2e1bd57e1a02716ff02a67beeb8a05847a0d06387fa0a8ca5ec0481 +size 39221 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 4f7150b6fe..fe253a9a6e 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:dfd0a2e0991868a08697e86a63e2bc152a9f7909ac395e0773dce442e4cee5c3 -size 39117 +oid sha256:647a6e7c0fdbb3d89aa411c14a2f41b127dd597fa157f4ef37a909132368c47e +size 39114 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 75610deba4..d0bb2ef17c 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:b19d4b33824ef077ba86717d25276f087e758185d3c0c63f3e097112872a4834 -size 45204 +oid sha256:c0ea6b1bf786b06fbe4ad211f9dbda7094f30f5089f7bb186d4024f064612785 +size 45210 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 43385fb15e..045e6fbe0a 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:b785267e5fbda41dc3b7ee054459cbcd19a7e7c6b750ce747034a11ff1236531 -size 43065 +oid sha256:7cf9b0b10c112a964bbc85e6c14b634d96460884992c53e8ae9408ec5a94455a +size 43073 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 394fd70ff3..8a5a3a51ae 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:010ebb10eb97f9eef21bf6ed2d2471a4e883a0886195dc43d117e4c8a0c61352 +oid sha256:1aa79cc35f4f4e9f6221b1f6cf119906bef17cc62268fae01ff1ec713931b7b9 size 39619 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 f78476776f..8656744f17 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:798544bd9bf6a4716865d22c1f1a2d14801d4fcae3141860ecb15ffca2a8937b -size 47446 +oid sha256:526a16419357ee26e460511190d95c4f9adf8686d8a688704634025298b5153e +size 47451 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 e6e20204bd..34883fce29 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:ce9084dfa664f9e949c01042dd2908a5ce8f229a72d490ce8ec553e29a28348d -size 46344 +oid sha256:fe2e1f53003df2f9fd33e90861221a4adec4e4104ddf1162502b70a895b798eb +size 46410 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 2eee75accd..5fa82cc6ce 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:7c45ec40208e2d6ccc52a75e30fba51ae6a4979f1272bcf6c79519d63052f257 -size 46360 +oid sha256:44e97087d7fefeb63beb81ef0e52ea6616820bf325217f75aa0a11806f6c4313 +size 46366 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en.png index ae834e3ae5..db4afa7ba0 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87ce5ffee7e77cf6c67fe2918604d901755897739a7aa250adc85f8dca8fa384 -size 19027 +oid sha256:91b19226e0eadd75d43eb305decedebd07dd8296a246769aed08776eaee604e4 +size 19084 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en.png index 95cba114c3..fe0dd5ac9d 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:177ebd3790437dad70044a183be5f109e457e7be2ef297bee9a214f41f136d54 -size 20824 +oid sha256:3e3ff5f7fa7e636e9c2d9cb49ffaf1d3de7b642c104095f5a6fc861b4b177ed5 +size 20885 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en.png index badae519ce..91ba9f92f3 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bfd039feb28f9322719e4508c8fdc3a723deda4b5ab5f5035b668d764e398e99 -size 21087 +oid sha256:69b0e4c72e2bc667b28207ecc7505472b98b321bfbf44cb38d28795948da41ba +size 21126 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en.png index 9c78d03df2..d97a780f4c 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5f89e40f49b0d0b9167aad620842f75005c9b37ca52c86bd0c902b79e387bd14 -size 18330 +oid sha256:0f84ea40eb4703e5541e97060526678361e302c485daee150d8c0e29fac7c114 +size 18370 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en.png index 80b137bf05..032be17d0c 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:55c2e188b78a4019955cbf765dde70b771b94972939fe785c4134f6f2cb258b6 -size 20042 +oid sha256:15e51845ee12868f5024b65e8d3ba3d18590957e304cdf753742ccd17fe7415e +size 20080 diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en.png index 4fd3feb683..7f67697aaf 100644 --- a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:22a0bd0eafdbbaa00b48d120b36cb048dd73b8ddaf39235bb146d79a84898c52 -size 20243 +oid sha256:35b294fb05c92ceadfb41b48c5b12fcf857730d94ee463d5704f3bd0a6fb8a87 +size 20278 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 10fd2f0834..5010844ada 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:b23ff19143b557e9354f3db67075c4a0ae0c6d64615370f8e5806781198f32ac -size 22758 +oid sha256:510c61d0970c692d6faff16f131d4186a2cbe7f3183e40399647b9e456965333 +size 22808 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 2a64d23a43..d953e66bf8 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:0ecbc38036322bf05470b063ec9908678916ec08f4bb5e2dd4b9005e071f81f6 -size 22501 +oid sha256:e812f3ed67b96b3809b268878d741f1e9471472e8d2272b5b96a34d9d19802e4 +size 22547 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 993efdd614..d6b011dde3 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:4ad02bf74fd79e49bb9e3759e0853b410f2d62446f2b060c32ed187be97fb77c -size 20377 +oid sha256:e268ec678b7cae5d0e58330334bdd196ae227b78da9326186355926b1fa5420f +size 20603 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 5598acc574..3a1bcb5d3d 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:36608489f8c5277a7e1dc69a56cf05ae02238bf7b88a63a928248419306971e8 -size 20781 +oid sha256:c297102e973faa502a6567e1b3b08310f788961e92c05009a84ae5505aa1f6c4 +size 20809 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 c0ee9fb794..1557f197a5 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:b7e8fcc81c34be0bdcb358f71d52f455bd1bf4a4953cd7fd3215b9bb251df79e -size 20546 +oid sha256:e5c32de6f9cd766480cf5dac9f49dd5ad6083d48dd1901cdcd137377cf98dc7c +size 20581 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 fb49d13785..6bddcdb30e 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:7b35daca89a21f626d6ec96efdbbdc9f753a7c82beb16d031af88dda2bf9d729 -size 18597 +oid sha256:609178fe7f051bbfadf1859737b6a6241bd1a45c2053c2d5f72856a07f2f63b2 +size 18736 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialogContent_Dialogs_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialogContent_Dialogs_en.png index 49f17716cb..53657f69ca 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialogContent_Dialogs_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialogContent_Dialogs_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:62c419a8925270b4727b60d3f1c3af2d72012e0d5a7bd13896b42049723de61a -size 36952 +oid sha256:837e914e779befb075121258c6338eb3eedaeebee5e81975df682d1c5b6f4991 +size 37091 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialog_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialog_Day_0_en.png index 03090a0a84..02773232e6 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialog_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialog_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd913a62bdcb2891bbb37bc01f9a9dda3f91000327baf9c985e52d9e0fee32c3 -size 27707 +oid sha256:d8e5ad05d5075e312e492c12cc7494de8f31c90a802f4a35c82f8125f168f35d +size 27793 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialog_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialog_Night_0_en.png index 4d279fc5d3..68ceca1950 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialog_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_MultipleSelectionDialog_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e2a2064bb111efdecaf7d4583bd11f0824e8c575c22b43cfb3b9006bc6d6684 -size 25890 +oid sha256:1a5572fafaf11502a0527cd84f437c6166663aa83de284cadbb204474a4d8aa0 +size 25939 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialogContent_Dialogs_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialogContent_Dialogs_en.png index c4c99b8592..5156b06ae5 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialogContent_Dialogs_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialogContent_Dialogs_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fb40c87afa95fcc37b4b9e3cdae2fea22a62966d15ec9f848c24aa25d44d64ff -size 17675 +oid sha256:96e8ca22cf0918164dd92b6381b2968104ae10e6a448ac8684a427e1f179f075 +size 17810 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialog_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialog_Day_0_en.png index f27c4ce096..525fe66f54 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialog_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialog_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82a23d5bffe234d08e060f1dcd672903057ed1ac6963ea01211584f0afe4d535 -size 18907 +oid sha256:204e61bbff8082254477fc912c3ed2e87e88846fd7a3352aff5d2bb8c623fe3f +size 19039 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialog_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialog_Night_0_en.png index 37e3b65669..00fc9485c7 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialog_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.dialogs_SingleSelectionDialog_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8670cea66c30f2bf92119f7963baf209da940b34a6687bf14b791b9c5c9f563f -size 17027 +oid sha256:33617c216cd09e5dc7712b12f89653d9406d4728bb3f8355a335d9ae37ead20d +size 17065 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 08c005bab8..782e3296fa 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:f3420479aa06f71e72308792e35dfa7a41c2f9b20a30b6fc1df88616634959a3 -size 28661 +oid sha256:ce590684f178ab35d9a6d7ef36d98b39411b4ad9665d8367d527a6dbeee25191 +size 28806 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCheckbox_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCheckbox_Preferences_en.png index 906690cf10..51871d2096 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCheckbox_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceCheckbox_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:342477150d21a12b6a0005caf201f9ee9774e390303f4206a446cf68b6023d91 -size 64483 +oid sha256:cc52445bf4196bb91d137b43e01d1ba547191a15ea4f61b09e2b7cbb323821df +size 64870 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 6772406ecf..71960c0346 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:285948fd62eb9f2f5e272fef3fd720489b3777c24099da22e03f6ada5fcb65d6 -size 26083 +oid sha256:8db18d040380375d1f5e4b55990354c04d8a9be00775111aecfe32d09160925b +size 26318 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 e0b8994295..b1b6a52951 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:84efc1454f6bf11de47a95e76400cd9c426a00691230da5287ea03f91accf0cf -size 25372 +oid sha256:24521601a033d7cf9ff165af3452b037db6bd7bb877c78adbc66a31ff81d24e9 +size 25486 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSwitch_Preferences_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSwitch_Preferences_en.png index 41ae7f8fbb..a6ae052e1a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSwitch_Preferences_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components.preferences_PreferenceSwitch_Preferences_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d1428315ff345ab13a8bcaec56748cf010680c6fc2fbf2d756a22cdbd9a2a5a -size 36421 +oid sha256:13e77179a17c1ae2587fd9a109787dd7ebea58837c318aeeed00bbeb28a70dca +size 36610 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_LabelledCheckbox_Toggles_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_LabelledCheckbox_Toggles_en.png index 13311c9a91..35d4b403c4 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_LabelledCheckbox_Toggles_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.components_LabelledCheckbox_Toggles_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:10010ede4c5a7a243f2d2037195f2cba6dc7a08733a8fb2eb328e8024ab0c9a5 -size 9421 +oid sha256:3c22bd84c425546a23ac3ea18d1dc8eda1665f2c83a459ad7ec1c764d4d75e69 +size 9549 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Checkboxes_Toggles_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Checkboxes_Toggles_en.png index 493cfab84f..f3eddc5f23 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Checkboxes_Toggles_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_Checkboxes_Toggles_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d22c84a4199a5e89133481ce2e604034da0858f58b9f0849018a7e1ee4b845c8 -size 11979 +oid sha256:ecf129bec2ce65c70b60c1a0667a9dd0c2815c4813e7bac8d272dfdf5e521b6f +size 11892 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingSwitch_List item (1 line) - Leading Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingSwitch_List item (1 line) - Leading Switch_List items_en.png index 4c149b4d6a..5e2672fe54 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingSwitch_List item (1 line) - Leading Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineLeadingSwitch_List item (1 line) - Leading Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a51471db6045dd3d7456a016752a963cdbe76e82b30507a9c2de366a2df85b6 -size 17920 +oid sha256:c105ade197c90cbdd773da3cc8082792ae305704a76e211c230f3a4fcc7d5abd +size 17909 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingSwitch_List item (1 line) - Trailing Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingSwitch_List item (1 line) - Trailing Switch_List items_en.png index c378e7dce0..497202438e 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingSwitch_List item (1 line) - Trailing Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemSingleLineTrailingSwitch_List item (1 line) - Trailing Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7d758f973f7ad590f946143483eada04cfa8c6251e0dac7bef23ec1aaa01e16a -size 17604 +oid sha256:386b3da0825689ae023ef738d557711aee454cc73aa53872951091e0c33b780c +size 17644 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingSwitch_List item (3 lines) - Leading Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingSwitch_List item (3 lines) - Leading Switch_List items_en.png index 8adeff7aff..a788aac61a 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingSwitch_List item (3 lines) - Leading Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesLeadingSwitch_List item (3 lines) - Leading Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:770d9f5e245faf42a4c4b4b7471d2026f03a831b14c2f1da547a1616b3fad4c8 -size 48555 +oid sha256:02fd327d87c9b3e7d4e07a665a5242432c26cd0eaedd05a645c9f44296007dcd +size 48227 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingSwitch_List item (3 lines) - Trailing Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingSwitch_List item (3 lines) - Trailing Switch_List items_en.png index 864e7adc83..b342cad9e9 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingSwitch_List item (3 lines) - Trailing Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemThreeLinesTrailingSwitch_List item (3 lines) - Trailing Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d8c360c163f5efd86b8140d427acfc19ae2e04aa431855fb3c0157d1e7405e0e -size 48402 +oid sha256:1b262c93bf96b3f1cd160ce84203489c315494d2292f3985f514b0feab280bf0 +size 48035 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitchError_List item (2 lines) - Leading Switch - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitchError_List item (2 lines) - Leading Switch - Error_List items_en.png index 80f42f5965..9147c837db 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitchError_List item (2 lines) - Leading Switch - Error_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitchError_List item (2 lines) - Leading Switch - Error_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:48805c44b36224b6a93ab830ccdc58927dafcb85f57e57ddc92d556ef84b2d36 -size 36669 +oid sha256:3ae4d1c58af99419e6f15d16e50b06d45ec8a0611137bd840f872cbb5eb347ae +size 36455 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitch_List item (2 lines) - Leading Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitch_List item (2 lines) - Leading Switch_List items_en.png index 1798bb6cfa..7283b06523 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitch_List item (2 lines) - Leading Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitch_List item (2 lines) - Leading Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ac3bddd449949f6f6e3b606f877eff1d7398637cabbf848f7be7a3f0277a7560 -size 36307 +oid sha256:ee41a7e7b529a976df2c5f3e152e6b090e15291abc6a24c5117c050d070e80da +size 36072 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitchError_List item (2 lines) - Trailing Switch - Error_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitchError_List item (2 lines) - Trailing Switch - Error_List items_en.png index 566333c493..08c05d41d3 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitchError_List item (2 lines) - Trailing Switch - Error_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitchError_List item (2 lines) - Trailing Switch - Error_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3424bd4d583e0bc8f8a99980b0999fb03b0bcd6125f0375a49e3500933486e4e -size 36653 +oid sha256:1a3871cd50b8a6aea809402de7f7a41ed3afae0da36988c4fbc3cf4639cb4b3a +size 36443 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitch_List item (2 lines) - Trailing Switch_List items_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitch_List item (2 lines) - Trailing Switch_List items_en.png index 2a9c5f7109..7400a5ecf1 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitch_List item (2 lines) - Trailing Switch_List items_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitch_List item (2 lines) - Trailing Switch_List items_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0d5b6118b7717c32293fa68e42468025422e931b12a2b06be6451ac2304a16e0 -size 36301 +oid sha256:6103e4db65702d046e12a460ed355f724f3fd1d07f7cba9c3d9c702d9947b3f5 +size 36030 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListSupportingTextLargePadding_List supporting text - large padding_List sections_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListSupportingTextLargePadding_List supporting text - large padding_List sections_en.png index cf1c41e1ba..9e256263fa 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListSupportingTextLargePadding_List supporting text - large padding_List sections_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_ListSupportingTextLargePadding_List supporting text - large padding_List sections_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:993cfc07bb7d3befbecf9e71059c29a076f4fa0f861eb20bb719c85a17d8014e -size 26303 +oid sha256:ebe98396c28abc1e60606fb14e0294bc6eb7c3a90c3237ba1c7261e57b97f07c +size 26430 diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_RadioButton_Toggles_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_RadioButton_Toggles_en.png index ebd05372a8..5c4f9f70eb 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_RadioButton_Toggles_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_RadioButton_Toggles_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b92ee6d2017248c77c05e9042962304023685f71ea9acd34ea5c0cb120dcbc2b -size 12059 +oid sha256:d06efc6334e7cc178c30b44fe96073b74228241d5537d7d5051e281f0f2f5750 +size 11971 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 1b57901b90..5acecdf539 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:ce363f5fb27c2f4b590aa91d328c836b26cdd58b2e6ec4e965636b1db85b9712 -size 18022 +oid sha256:44afbec262d4b73cd87512b2cdd1a9d7c5752f761a154c115c4e2709a261dff7 +size 17996 diff --git a/tests/uitests/src/test/snapshots/images/libraries.featureflag.ui_FeatureListView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.featureflag.ui_FeatureListView_Day_0_en.png index 809f92268f..eaf4ed194f 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.featureflag.ui_FeatureListView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.featureflag.ui_FeatureListView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6266c58ae1c80cdee9d9cc43ecf84b3b7b14bf3c0935de15af4f0c6e62b252f1 -size 17424 +oid sha256:b4ba32759ec553d38f418c16c318050f6ca74d5fbf41887f580f9c470ccbae37 +size 17511 diff --git a/tests/uitests/src/test/snapshots/images/libraries.featureflag.ui_FeatureListView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.featureflag.ui_FeatureListView_Night_0_en.png index 9bae4d1b3f..295db9d760 100644 --- a/tests/uitests/src/test/snapshots/images/libraries.featureflag.ui_FeatureListView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/libraries.featureflag.ui_FeatureListView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0851c1514f7392f3bb478b5cb179a9a4334dd23469942a318a776963e5ba20f0 -size 16955 +oid sha256:9f513a8ad969ee9f4471c5bb711738aa6c11f5a6ba8c5e53d24f49b66dc75c59 +size 16958 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 235b1c5770..f0efaf1aad 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:c3543534aef8161d98bfd2352ec852ead80aef7e9cddf6e7a5464631ac588899 -size 51213 +oid sha256:ad539b22a962ccb44c42574595b6c5208122b15d20a336a53895290ec31c38d4 +size 51255 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 2a98b41d92..a9f0fcbacb 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:9b3007b129129c812dcf492afe38e2c65ef391655e0013921f59c92e64bb531b -size 112129 +oid sha256:20fa65558d90a4f9a893586fa8abff69dd2b55d37b6f7841f6c0d850e05bdb67 +size 112162 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 a90769134c..734ee090db 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:1d5390b71350b1029a153c770f1e525c6346052043583fad2b3c4aadfb694b16 -size 33441 +oid sha256:6a6a80bd4372c69ee97a857bf2a03bd90fe011b3703649b171bbc168f08c92be +size 33643 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 de422e8d4c..5ce058ef3e 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:6fddc7151694a9622baf4daf5387c47266f1bae4ba0a50bd7ee4435eb403a375 -size 33088 +oid sha256:79224876e9c3e44f30f08c1e1d4050d8c909d8f290c4267f29eea15ae4f7f2d2 +size 33186 From 371799fdad3147228616224e2191161f0044f454 Mon Sep 17 00:00:00 2001 From: Valere Date: Thu, 24 Oct 2024 16:45:16 +0200 Subject: [PATCH 59/93] Bump rust-sdk version to rust-sdk 0.2.57 (#3735) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Bump rust-sdk version to rust-sdk 0.2.57 * rust sdk update: Support persisted WedgeQueueError * Trust & Decoration | Support new expected UTD causes * Room Subscribtion settings not needed anymore (see https://github.com/matrix-org/matrix-rust-sdk/pull/4159) * File/Attachement upload: update to support `storeInCache` * feat(knock): update API to use reason and serverNames * Add another `Konsist` exception * Update screenshots --------- Co-authored-by: Jorge Martín Co-authored-by: ElementBot Co-authored-by: Benoit Marty --- .../TimelineItemEventRowUtdPreview.kt | 69 +++++++++++++++++++ .../event/TimelineItemEncryptedView.kt | 27 ++++++-- .../TimelineItemEncryptedContentProvider.kt | 14 +++- gradle/libs.versions.toml | 4 +- .../item/event/LocalEventSendState.kt | 1 - .../api/timeline/item/event/UtdCause.kt | 5 +- .../libraries/matrix/impl/RustMatrixClient.kt | 2 +- .../matrix/impl/analytics/UtdTracker.kt | 7 +- .../matrix/impl/room/RoomSyncSubscriber.kt | 24 +------ .../matrix/impl/timeline/RustTimeline.kt | 6 +- .../item/event/EventTimelineItemMapper.kt | 40 ++++++----- .../item/event/TimelineEventContentMapper.kt | 5 +- .../matrix/impl/analytics/UtdTrackerTest.kt | 48 ++++++++++++- .../src/main/res/values/localazy.xml | 2 + .../tests/konsist/KonsistPreviewTest.kt | 1 + ...ent_TimelineItemEncryptedView_Day_2_en.png | 4 +- ...ent_TimelineItemEncryptedView_Day_3_en.png | 3 + ...ent_TimelineItemEncryptedView_Day_4_en.png | 3 + ...t_TimelineItemEncryptedView_Night_2_en.png | 4 +- ...t_TimelineItemEncryptedView_Night_3_en.png | 3 + ...t_TimelineItemEncryptedView_Night_4_en.png | 3 + ...nents_TimelineItemEventRowUtd_Day_0_en.png | 3 + ...nts_TimelineItemEventRowUtd_Night_0_en.png | 3 + 23 files changed, 223 insertions(+), 58 deletions(-) create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowUtdPreview.kt create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_4_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_3_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_4_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Night_0_en.png diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowUtdPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowUtdPreview.kt new file mode 100644 index 0000000000..34199ae0d9 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowUtdPreview.kt @@ -0,0 +1,69 @@ +/* + * 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.components + +import androidx.compose.foundation.layout.Column +import androidx.compose.runtime.Composable +import io.element.android.features.messages.impl.timeline.aTimelineItemEvent +import io.element.android.features.messages.impl.timeline.aTimelineItemReactions +import io.element.android.features.messages.impl.timeline.model.TimelineItemGroupPosition +import io.element.android.features.messages.impl.timeline.model.event.TimelineItemEncryptedContent +import io.element.android.libraries.designsystem.preview.ElementPreview +import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.matrix.api.timeline.item.event.UnableToDecryptContent +import io.element.android.libraries.matrix.api.timeline.item.event.UtdCause + +@PreviewsDayNight +@Composable +internal fun TimelineItemEventRowUtdPreview() = ElementPreview { + Column { + ATimelineItemEventRow( + event = aTimelineItemEvent( + senderDisplayName = "Alice", + isMine = false, + content = TimelineItemEncryptedContent( + data = UnableToDecryptContent.Data.MegolmV1AesSha2( + sessionId = "sessionId", + utdCause = UtdCause.UnsignedDevice, + ) + ), + timelineItemReactions = aTimelineItemReactions(count = 0), + groupPosition = TimelineItemGroupPosition.First, + ), + ) + ATimelineItemEventRow( + event = aTimelineItemEvent( + senderDisplayName = "Bob", + isMine = false, + content = TimelineItemEncryptedContent( + data = UnableToDecryptContent.Data.MegolmV1AesSha2( + sessionId = "sessionId", + utdCause = UtdCause.VerificationViolation, + ) + ), + groupPosition = TimelineItemGroupPosition.First, + timelineItemReactions = aTimelineItemReactions(count = 0) + ), + ) + + ATimelineItemEventRow( + event = aTimelineItemEvent( + senderDisplayName = "Bob", + isMine = false, + content = TimelineItemEncryptedContent( + data = UnableToDecryptContent.Data.MegolmV1AesSha2( + sessionId = "sessionId", + utdCause = UtdCause.SentBeforeWeJoined, + ) + ), + groupPosition = TimelineItemGroupPosition.Last, + timelineItemReactions = aTimelineItemReactions(count = 0) + ), + ) + } +} diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt index 88454b6ddf..e84f7ccbc2 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/event/TimelineItemEncryptedView.kt @@ -27,11 +27,28 @@ fun TimelineItemEncryptedView( onContentLayoutChange: (ContentAvoidingLayoutData) -> Unit, modifier: Modifier = Modifier ) { - val isMembershipUtd = (content.data as? UnableToDecryptContent.Data.MegolmV1AesSha2)?.utdCause == UtdCause.Membership - val (textId, iconId) = if (isMembershipUtd) { - CommonStrings.common_unable_to_decrypt_no_access to CompoundDrawables.ic_compound_block - } else { - CommonStrings.common_waiting_for_decryption_key to CompoundDrawables.ic_compound_time + val (textId, iconId) = when (content.data) { + is UnableToDecryptContent.Data.MegolmV1AesSha2 -> { + when (content.data.utdCause) { + UtdCause.SentBeforeWeJoined -> { + CommonStrings.common_unable_to_decrypt_no_access to CompoundDrawables.ic_compound_block + } + UtdCause.VerificationViolation -> { + CommonStrings.common_unable_to_decrypt_verification_violation to CompoundDrawables.ic_compound_block + } + UtdCause.UnsignedDevice, + UtdCause.UnknownDevice -> { + CommonStrings.common_unable_to_decrypt_insecure_device to CompoundDrawables.ic_compound_block + } + else -> { + CommonStrings.common_waiting_for_decryption_key to CompoundDrawables.ic_compound_time + } + } + } + else -> { + // Should not happen, we only supports megolm in rooms + CommonStrings.common_waiting_for_decryption_key to CompoundDrawables.ic_compound_time + } } TimelineItemInformativeView( text = stringResource(id = textId), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEncryptedContentProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEncryptedContentProvider.kt index c9449d826f..7aa44e03f0 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEncryptedContentProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/event/TimelineItemEncryptedContentProvider.kt @@ -18,7 +18,19 @@ open class TimelineItemEncryptedContentProvider : PreviewParameterProvider Error.Name.OlmKeysNotSentError - UtdCause.MEMBERSHIP -> Error.Name.ExpectedDueToMembership + UtdCause.SENT_BEFORE_WE_JOINED -> Error.Name.ExpectedDueToMembership + UtdCause.VERIFICATION_VIOLATION -> Error.Name.ExpectedVerificationViolation + UtdCause.UNSIGNED_DEVICE, + UtdCause.UNKNOWN_DEVICE -> { + Error.Name.ExpectedSentByInsecureDevice + } } val event = Error( context = null, diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomSyncSubscriber.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomSyncSubscriber.kt index 9ad27a7914..3ffb87cbaf 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomSyncSubscriber.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomSyncSubscriber.kt @@ -9,18 +9,13 @@ package io.element.android.libraries.matrix.impl.room import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.matrix.api.core.RoomId -import io.element.android.libraries.matrix.api.timeline.item.event.EventType import kotlinx.coroutines.CancellationException import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock import kotlinx.coroutines.withContext -import org.matrix.rustcomponents.sdk.RequiredState import org.matrix.rustcomponents.sdk.RoomListService -import org.matrix.rustcomponents.sdk.RoomSubscription import timber.log.Timber -private const val DEFAULT_TIMELINE_LIMIT = 20u - class RoomSyncSubscriber( private val roomListService: RoomListService, private val dispatchers: CoroutineDispatchers, @@ -28,28 +23,13 @@ class RoomSyncSubscriber( private val subscribedRoomIds = mutableSetOf() private val mutex = Mutex() - private val settings = RoomSubscription( - requiredState = listOf( - RequiredState(key = EventType.STATE_ROOM_NAME, value = ""), - RequiredState(key = EventType.STATE_ROOM_TOPIC, value = ""), - RequiredState(key = EventType.STATE_ROOM_AVATAR, value = ""), - RequiredState(key = EventType.STATE_ROOM_CANONICAL_ALIAS, value = ""), - RequiredState(key = EventType.STATE_ROOM_JOIN_RULES, value = ""), - RequiredState(key = EventType.STATE_ROOM_POWER_LEVELS, value = ""), - RequiredState(key = EventType.STATE_ROOM_PINNED_EVENT, value = ""), - ), - timelineLimit = DEFAULT_TIMELINE_LIMIT, - // We don't need heroes here as they're already included in the `all_rooms` list - includeHeroes = false, - ) - suspend fun subscribe(roomId: RoomId) { mutex.withLock { withContext(dispatchers.io) { try { if (!isSubscribedTo(roomId)) { Timber.d("Subscribing to room $roomId}") - roomListService.subscribeToRooms(listOf(roomId.value), settings) + roomListService.subscribeToRooms(listOf(roomId.value)) } subscribedRoomIds.add(roomId) } catch (exception: Exception) { @@ -65,7 +45,7 @@ class RoomSyncSubscriber( val roomIdsToSubscribeTo = roomIds.filterNot { isSubscribedTo(it) } if (roomIdsToSubscribeTo.isNotEmpty()) { Timber.d("Subscribing to rooms: $roomIds") - roomListService.subscribeToRooms(roomIdsToSubscribeTo.map { it.value }, settings) + roomListService.subscribeToRooms(roomIdsToSubscribeTo.map { it.value }) subscribedRoomIds.addAll(roomIds) } } catch (cancellationException: CancellationException) { 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 56c9cf4d85..af597a88ab 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 @@ -339,6 +339,7 @@ class RustTimeline( formattedCaption = formattedBody?.let { FormattedBody(body = it, format = MessageFormat.Html) }, + storeInCache = true, progressWatcher = progressCallback?.toProgressWatcher() ) } @@ -361,6 +362,7 @@ class RustTimeline( formattedCaption = formattedBody?.let { FormattedBody(body = it, format = MessageFormat.Html) }, + storeInCache = true, progressWatcher = progressCallback?.toProgressWatcher() ) } @@ -374,6 +376,7 @@ class RustTimeline( // Maybe allow a caption in the future? caption = null, formattedCaption = null, + storeInCache = true, progressWatcher = progressCallback?.toProgressWatcher() ) } @@ -381,7 +384,7 @@ class RustTimeline( override suspend fun sendFile(file: File, fileInfo: FileInfo, progressCallback: ProgressCallback?): Result { return sendAttachment(listOf(file)) { - inner.sendFile(file.path, fileInfo.map(), progressCallback?.toProgressWatcher()) + inner.sendFile(file.path, fileInfo.map(), false, progressCallback?.toProgressWatcher()) } } @@ -496,6 +499,7 @@ class RustTimeline( // Maybe allow a caption in the future? caption = null, formattedCaption = null, + storeInCache = true, progressWatcher = progressCallback?.toProgressWatcher(), ) } 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 95b11e10c1..cec54d3d20 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 @@ -24,7 +24,7 @@ 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.QueueWedgeError import org.matrix.rustcomponents.sdk.Reaction import org.matrix.rustcomponents.sdk.ShieldState import uniffi.matrix_sdk_common.ShieldStateCode @@ -78,25 +78,31 @@ fun RustEventSendState?.map(): LocalEventSendState? { null -> null RustEventSendState.NotSentYet -> LocalEventSendState.Sending is RustEventSendState.SendingFailed -> { - if (isRecoverable) { - LocalEventSendState.Sending - } else { - LocalEventSendState.Failed.Unknown(error) + when (val queueWedgeError = error) { + QueueWedgeError.CrossVerificationRequired -> { + // The current device is not cross-signed (or cross signing is not setup) + LocalEventSendState.Failed.SendingFromUnverifiedDevice + } + is QueueWedgeError.IdentityViolations -> { + LocalEventSendState.Failed.VerifiedUserChangedIdentity(queueWedgeError.users.map { UserId(it) }) + } + is QueueWedgeError.InsecureDevices -> { + LocalEventSendState.Failed.VerifiedUserHasUnsignedDevice( + devices = queueWedgeError.userDeviceMap.entries.associate { entry -> + UserId(entry.key) to entry.value.map { DeviceId(it) } + } + ) + } + is QueueWedgeError.GenericApiError -> { + if (isRecoverable) { + LocalEventSendState.Sending + } else { + LocalEventSendState.Failed.Unknown(queueWedgeError.msg) + } + } } } is RustEventSendState.Sent -> LocalEventSendState.Sent(EventId(eventId)) - is RustEventSendState.VerifiedUserChangedIdentity -> { - LocalEventSendState.Failed.VerifiedUserChangedIdentity(users.map { UserId(it) }) - } - is RustEventSendState.VerifiedUserHasUnsignedDevice -> { - LocalEventSendState.Failed.VerifiedUserHasUnsignedDevice( - devices = devices.entries.associate { entry -> - UserId(entry.key) to entry.value.map { DeviceId(it) } - } - ) - } - EventSendState.CrossSigningNotSetup -> LocalEventSendState.Failed.CrossSigningNotSetup - EventSendState.SendingFromUnverifiedDevice -> LocalEventSendState.Failed.SendingFromUnverifiedDevice } } 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 3c0ec16f65..f85dc5acc1 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 @@ -140,8 +140,11 @@ private fun RustMembershipChange.map(): MembershipChange { private fun RustUtdCause.map(): UtdCause { return when (this) { - RustUtdCause.MEMBERSHIP -> UtdCause.Membership + RustUtdCause.SENT_BEFORE_WE_JOINED -> UtdCause.SentBeforeWeJoined RustUtdCause.UNKNOWN -> UtdCause.Unknown + RustUtdCause.VERIFICATION_VIOLATION -> UtdCause.VerificationViolation + RustUtdCause.UNSIGNED_DEVICE -> UtdCause.UnsignedDevice + RustUtdCause.UNKNOWN_DEVICE -> UtdCause.UnknownDevice } } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/analytics/UtdTrackerTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/analytics/UtdTrackerTest.kt index 2cc32e0aa9..994c9a339c 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/analytics/UtdTrackerTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/analytics/UtdTrackerTest.kt @@ -74,7 +74,7 @@ class UtdTrackerTest { UnableToDecryptInfo( eventId = AN_EVENT_ID.value, timeToDecryptMs = 123.toULong(), - cause = UtdCause.MEMBERSHIP, + cause = UtdCause.SENT_BEFORE_WE_JOINED, ) ) assertThat(fakeAnalyticsService.capturedEvents).containsExactly( @@ -90,4 +90,50 @@ class UtdTrackerTest { assertThat(fakeAnalyticsService.screenEvents).isEmpty() assertThat(fakeAnalyticsService.trackedErrors).isEmpty() } + + @Test + fun `when onUtd is called with insecure cause, the expected analytics Event is sent`() { + val fakeAnalyticsService = FakeAnalyticsService() + val sut = UtdTracker(fakeAnalyticsService) + sut.onUtd( + UnableToDecryptInfo( + eventId = AN_EVENT_ID.value, + timeToDecryptMs = 123.toULong(), + cause = UtdCause.UNSIGNED_DEVICE, + ) + ) + assertThat(fakeAnalyticsService.capturedEvents).containsExactly( + Error( + context = null, + cryptoModule = Error.CryptoModule.Rust, + cryptoSDK = Error.CryptoSDK.Rust, + timeToDecryptMillis = 123, + domain = Error.Domain.E2EE, + name = Error.Name.ExpectedSentByInsecureDevice + ) + ) + } + + @Test + fun `when onUtd is called with verification violation cause, the expected analytics Event is sent`() { + val fakeAnalyticsService = FakeAnalyticsService() + val sut = UtdTracker(fakeAnalyticsService) + sut.onUtd( + UnableToDecryptInfo( + eventId = AN_EVENT_ID.value, + timeToDecryptMs = 123.toULong(), + cause = UtdCause.VERIFICATION_VIOLATION, + ) + ) + assertThat(fakeAnalyticsService.capturedEvents).containsExactly( + Error( + context = null, + cryptoModule = Error.CryptoModule.Rust, + cryptoSDK = Error.CryptoSDK.Rust, + timeToDecryptMillis = 123, + domain = Error.Domain.E2EE, + name = Error.Name.ExpectedVerificationViolation + ) + ) + } } diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index eaea989b4d..1103c70931 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -238,7 +238,9 @@ Reason: %1$s." "Topic" "What is this room about?" "Unable to decrypt" + "Sent from an insecure device" "You don\'t have access to this message" + "Sender\'s verified identity has changed" "Invites couldn\'t be sent to one or more users." "Unable to send invite(s)" "Unlock" 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 4fa546b3c2..c00d72fffb 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 @@ -113,6 +113,7 @@ class KonsistPreviewTest { "TimelineItemEventRowForDirectRoomPreview", "TimelineItemEventRowShieldPreview", "TimelineItemEventRowTimestampPreview", + "TimelineItemEventRowUtdPreview", "TimelineItemEventRowWithManyReactionsPreview", "TimelineItemEventRowWithRRPreview", "TimelineItemEventRowWithReplyPreview", diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en.png index afa1dd9b61..15f41e8462 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fee2af8462597d58274b7168c5cfe1f6d6b0909b048adc0f4fc5b3c12a90b859 -size 8861 +oid sha256:cfc3dc1420a58d25b5fd248f0b77c3c336bb03c402c904d0678c35a5abe291f2 +size 10753 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_3_en.png new file mode 100644 index 0000000000..ccf3dd6695 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8beabd7aadf0324e9b66278c49fdd896b1451a805fd15e69aa6c4af37cb7c150 +size 9055 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_4_en.png new file mode 100644 index 0000000000..afa1dd9b61 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_4_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fee2af8462597d58274b7168c5cfe1f6d6b0909b048adc0f4fc5b3c12a90b859 +size 8861 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en.png index 212726df37..ac1b0df756 100644 --- a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d4f48cd7dc7e2bbf7363d1127e46721c25bb8dd887927dbcffe525f5bb5bae01 -size 8781 +oid sha256:d4d9879eda9ffa9c171c5351d9ef8e7b32cad50996717445c9b87cdad8a3d973 +size 10634 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_3_en.png new file mode 100644 index 0000000000..52d602b332 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:077f898ad7822b6a5ff54429bc91e4faef377fb06de28a4cea73483e6adc5ffd +size 9025 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_4_en.png new file mode 100644 index 0000000000..212726df37 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_4_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4f48cd7dc7e2bbf7363d1127e46721c25bb8dd887927dbcffe525f5bb5bae01 +size 8781 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Day_0_en.png new file mode 100644 index 0000000000..7877602031 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1f04171ef894f299b58cc15158daf9655cc04f9ab2418973e7e6e78e22884e8 +size 31693 diff --git a/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Night_0_en.png new file mode 100644 index 0000000000..57f18ac15c --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ce15bbbb3bc562f92a7d07a0f2f907d4e351e0b7133a61b7ef49540ef622c15 +size 30613 From 4d8da4978a0e986e117ffe9cdbca2cb5093dcdfe Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 19:05:15 +0000 Subject: [PATCH 60/93] Update dependencyAnalysis to v2.3.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 b460591b5c..45c5871a74 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.2.0" +dependencyAnalysis = "2.3.0" serialization_json = "1.6.3" showkase = "1.0.3" appyx = "1.4.0" From 42a7ad41f692ced6d51bdfb118226fce82e6ee77 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 25 Oct 2024 11:53:27 +0200 Subject: [PATCH 61/93] Adding fastlane file for version 0.7.1 --- fastlane/metadata/android/en-US/changelogs/40007010.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 fastlane/metadata/android/en-US/changelogs/40007010.txt diff --git a/fastlane/metadata/android/en-US/changelogs/40007010.txt b/fastlane/metadata/android/en-US/changelogs/40007010.txt new file mode 100644 index 0000000000..0e38b17b08 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/40007010.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 From e055ed015a864b3451b44d74456c6c3b6ccb6892 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 25 Oct 2024 11:54:40 +0200 Subject: [PATCH 62/93] 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 f249f24e6d..ce7f8351d7 100644 --- a/plugins/src/main/kotlin/Versions.kt +++ b/plugins/src/main/kotlin/Versions.kt @@ -47,7 +47,7 @@ private const val versionMinor = 7 // 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 = 1 +private const val versionPatch = 2 object Versions { val versionCode = 4_000_000 + versionMajor * 1_00_00 + versionMinor * 1_00 + versionPatch From 3b4664f1029f100f3ba8f8f2e9b32801e4180533 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 25 Oct 2024 12:20:51 +0200 Subject: [PATCH 63/93] Changelog for version 0.7.1 --- CHANGES.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index cfbd061e5e..a274a14643 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,67 @@ +Changes in Element X v0.7.1 (2024-10-25) +======================================== + +## What's Changed +### ✨ Features +* Verified user badge by @bmarty in https://github.com/element-hq/element-x-android/pull/3718 +### 🙌 Improvements +* Add userId in identity change warning banner by @bmarty in https://github.com/element-hq/element-x-android/pull/3686 +* OIDC prompt by @bmarty in https://github.com/element-hq/element-x-android/pull/3694 +* Bump rust-sdk version to rust-sdk 0.2.57 by @BillCarsonFr in https://github.com/element-hq/element-x-android/pull/3735 +### 🐛 Bugfixes +* Refresh room summaries when date or time changes in the device by @jmartinesp in https://github.com/element-hq/element-x-android/pull/3683 +* Call: ensure that the microphone is working when the application is backgrounded. by @bmarty in https://github.com/element-hq/element-x-android/pull/3685 +* RTL: ensure sender information are correctly rendered in the timeline by @bmarty in https://github.com/element-hq/element-x-android/pull/3681 +* Improve composer paddings by @bmarty in https://github.com/element-hq/element-x-android/pull/3695 +* UI: fix list item colors by @bmarty in https://github.com/element-hq/element-x-android/pull/3706 +* Small UI iteration on pin feature. by @bmarty in https://github.com/element-hq/element-x-android/pull/3714 +* Use BigIcon and fix colors by @bmarty in https://github.com/element-hq/element-x-android/pull/3719 +### 🗣 Translations +* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/3665 +* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/3713 +### 🧱 Build +* Update Gradle Wrapper from 8.10 to 8.10.2 by @ElementBot in https://github.com/element-hq/element-x-android/pull/3663 +* fix: import path broken in module template by @torrybr in https://github.com/element-hq/element-x-android/pull/3710 +### 📄 Documentation +* Update store description by @bmarty in https://github.com/element-hq/element-x-android/pull/3680 +### 🚧 In development 🚧 +* Feature: knock request to join by @ganfra in https://github.com/element-hq/element-x-android/pull/3725 +### Dependency upgrades +* Update anvil to v0.3.2 by @renovate in https://github.com/element-hq/element-x-android/pull/3662 +* Update dependency io.nlopez.compose.rules:detekt to v0.4.16 by @renovate in https://github.com/element-hq/element-x-android/pull/3675 +* Update dependency com.posthog:posthog-android to v3.8.2 by @renovate in https://github.com/element-hq/element-x-android/pull/3674 +* Update dependency io.element.android:compound-android to v0.1.1 - Better support for RTL icons. by @renovate in https://github.com/element-hq/element-x-android/pull/3676 +* Update android.gradle.plugin to v8.7.1 by @renovate in https://github.com/element-hq/element-x-android/pull/3677 +* Update dependency io.sentry:sentry-android to v7.15.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3640 +* Update mobile-dev-inc/action-maestro-cloud action to v1.9.2 by @renovate in https://github.com/element-hq/element-x-android/pull/3641 +* Update plugin licensee to v1.12.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3687 +* Update dependency app.cash.turbine:turbine to v1.2.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3696 +* Update activity to v1.9.3 by @renovate in https://github.com/element-hq/element-x-android/pull/3697 +* Update dependency androidx.compose:compose-bom to v2024.10.00 by @renovate in https://github.com/element-hq/element-x-android/pull/3699 +* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.55 by @renovate in https://github.com/element-hq/element-x-android/pull/3701 +* Update dependencyAnalysis to v2.2.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3707 +* Update anvil to v0.3.3 by @renovate in https://github.com/element-hq/element-x-android/pull/3711 +* Update dependency androidx.annotation:annotation-jvm to v1.9.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3698 +* Update dependency com.google.firebase:firebase-bom to v33.5.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3716 +* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.56 by @renovate in https://github.com/element-hq/element-x-android/pull/3715 +* Update dependency com.squareup:kotlinpoet-ksp to v2 by @renovate in https://github.com/element-hq/element-x-android/pull/3722 +* Update dependency org.maplibre.gl:android-sdk-ktx-v7 to v3.0.2 by @renovate in https://github.com/element-hq/element-x-android/pull/3703 +* Dependencies : makes sure to use same version for all kotlinpoet dependencies by @ganfra in https://github.com/element-hq/element-x-android/pull/3727 +* Update dependency com.google.firebase:firebase-bom to v33.5.1 by @renovate in https://github.com/element-hq/element-x-android/pull/3731 +### Others +* No need to launch a coroutine here. by @bmarty in https://github.com/element-hq/element-x-android/pull/3668 +* Fix issue on canInvite refresh. by @bmarty in https://github.com/element-hq/element-x-android/pull/3670 +* AsyncAction confirming with param by @bmarty in https://github.com/element-hq/element-x-android/pull/3667 +* Cleanup tests by @bmarty in https://github.com/element-hq/element-x-android/pull/3672 +* Ensure selectedRoomMember is not null to reduce code indentation. by @bmarty in https://github.com/element-hq/element-x-android/pull/3669 +* Improve preview provider name consistency by @bmarty in https://github.com/element-hq/element-x-android/pull/3673 +* Clarify model for Event with attachment by @bmarty in https://github.com/element-hq/element-x-android/pull/3574 +* Improve room moderation by @bmarty in https://github.com/element-hq/element-x-android/pull/3671 +* Remove duplicated code regarding user (room member and user profile) screens by @bmarty in https://github.com/element-hq/element-x-android/pull/3700 +* Rename some function to avoid name clash by @bmarty in https://github.com/element-hq/element-x-android/pull/3705 +* Fix flaky tests. by @bmarty in https://github.com/element-hq/element-x-android/pull/3717 +* Update accent color for `Checkbox`, `RadioButton` and `Switch` components by @jmartinesp in https://github.com/element-hq/element-x-android/pull/3728 + Changes in Element X v0.7.0 (2024-10-10) ======================================== From 3c0b802b39a251fccedd5d94e9ea986913ac80d5 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 25 Oct 2024 14:46:25 +0200 Subject: [PATCH 64/93] Update instruction --- tools/github/download_all_github_artifacts.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/github/download_all_github_artifacts.py b/tools/github/download_all_github_artifacts.py index 906f122990..42c776d99d 100755 --- a/tools/github/download_all_github_artifacts.py +++ b/tools/github/download_all_github_artifacts.py @@ -10,7 +10,7 @@ import argparse import hashlib import json import os -# Run `pip3 install requests` if not installed yet +# Run `pip3 install requests --break-system-packages` if not installed yet import requests # Run `pip3 install re` if not installed yet import re From 0bfacc2cddde01f2c0976cc57215b8c600771aa8 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 25 Oct 2024 14:53:22 +0200 Subject: [PATCH 65/93] Give a chance for download_all_github_artifacts.py to fail and to try again, without breaking the release script. Previously any error in download_all_github_artifacts.py was ignored and the script was continuing (without success ofc). --- tools/release/release.sh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tools/release/release.sh b/tools/release/release.sh index 56c6926da1..032007e780 100755 --- a/tools/release/release.sh +++ b/tools/release/release.sh @@ -185,11 +185,24 @@ targetPath="./tmp/Element/${version}" printf "\n================================================================================\n" printf "Downloading the artifacts...\n" -python3 ./tools/github/download_all_github_artifacts.py \ +ret=1 + +while [[ $ret -ne 0 ]]; do + python3 ./tools/github/download_all_github_artifacts.py \ --token "${gitHubToken}" \ --runUrl "${runUrl}" \ --directory "${targetPath}" + ret=$? + if [[ $ret -ne 0 ]]; then + read -p "Error while downloading the artifacts. You may want to fix the issue and retry. Retry (yes/no) default to yes? " doRetry + doRetry=${doRetry:-yes} + if [ "${doRetry}" == "no" ]; then + exit 1 + fi + fi +done + printf "\n================================================================================\n" printf "Unzipping the F-Droid artifact...\n" From c252761bed1c79f6b3fc52fda17bee0a3accedf7 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 25 Oct 2024 14:54:23 +0200 Subject: [PATCH 66/93] Change default value of doBuildApks to "no" --- tools/release/release.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/release/release.sh b/tools/release/release.sh index 032007e780..0503743455 100755 --- a/tools/release/release.sh +++ b/tools/release/release.sh @@ -325,8 +325,8 @@ printf "\n====================================================================== printf "The file ${signedBundlePath} has been signed and can be uploaded to the PlayStore!\n" printf "\n================================================================================\n" -read -p "Do you want to build the APKs from the app bundle? You need to do this step if you want to install the application to your device. (yes/no) default to yes " doBuildApks -doBuildApks=${doBuildApks:-yes} +read -p "Do you want to build the APKs from the app bundle? You need to do this step if you want to install the application to your device. (yes/no) default to no " doBuildApks +doBuildApks=${doBuildApks:-no} if [ "${doBuildApks}" == "yes" ]; then printf "Building apks...\n" From 64c3e79eceeb96673384886f1b8bc1fde6fc9371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= Date: Fri, 25 Oct 2024 15:56:36 +0200 Subject: [PATCH 67/93] When building a snapshot of the SDK bindings, don't build the app by default too --- tools/sdk/build_rust_sdk.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/sdk/build_rust_sdk.sh b/tools/sdk/build_rust_sdk.sh index d626e62bac..f0c0378333 100755 --- a/tools/sdk/build_rust_sdk.sh +++ b/tools/sdk/build_rust_sdk.sh @@ -54,8 +54,8 @@ if [ "${sdkCorrect}" != "yes" ]; then fi # Ask if the user wants to build the app after -read -p "Do you want to build the app after (yes/no) default to yes? " buildApp -buildApp=${buildApp:-yes} +read -p "Do you want to build the app after (yes/no) default to no? " buildApp +buildApp=${buildApp:-no} cd "${elementPwd}" From 8cf5729ecec1262e71b8868b3f1929ebe79a105c Mon Sep 17 00:00:00 2001 From: bmarty <3940906+bmarty@users.noreply.github.com> Date: Mon, 28 Oct 2024 00:27:09 +0000 Subject: [PATCH 68/93] Sync Strings from Localazy --- .../src/main/res/values-cs/translations.xml | 9 +- .../src/main/res/values-el/translations.xml | 9 +- .../src/main/res/values-et/translations.xml | 9 +- .../src/main/res/values-in/translations.xml | 9 +- .../src/main/res/values-ru/translations.xml | 9 +- .../src/main/res/values-sk/translations.xml | 9 +- .../src/main/res/values-sv/translations.xml | 9 +- .../impl/src/main/res/values/localazy.xml | 9 +- .../src/main/res/values-ru/translations.xml | 12 +- .../src/main/res/values-cs/translations.xml | 7 + .../src/main/res/values-el/translations.xml | 4 + .../src/main/res/values-et/translations.xml | 7 + .../src/main/res/values-fr/translations.xml | 4 + .../src/main/res/values-hu/translations.xml | 7 + .../src/main/res/values-pt/translations.xml | 4 + .../src/main/res/values-ru/translations.xml | 7 + .../src/main/res/values-sk/translations.xml | 7 + .../src/main/res/values-ru/translations.xml | 2 +- .../src/main/res/values-et/translations.xml | 2 + .../src/main/res/values-ru/translations.xml | 2 + .../impl/src/main/res/values/localazy.xml | 2 + .../src/main/res/values-ru/translations.xml | 2 +- .../src/main/res/values-cs/translations.xml | 1 + .../src/main/res/values-el/translations.xml | 1 + .../src/main/res/values-et/translations.xml | 1 + .../src/main/res/values-fr/translations.xml | 1 + .../src/main/res/values-hu/translations.xml | 1 + .../src/main/res/values-in/translations.xml | 6 + .../src/main/res/values-pt/translations.xml | 1 + .../src/main/res/values-ru/translations.xml | 12 +- .../src/main/res/values-sk/translations.xml | 1 + .../src/main/res/values-sv/translations.xml | 2 + .../src/main/res/values-cs/translations.xml | 13 +- .../src/main/res/values-el/translations.xml | 10 +- .../src/main/res/values-es/translations.xml | 2 +- .../src/main/res/values-et/translations.xml | 13 +- .../src/main/res/values-in/translations.xml | 22 +- .../src/main/res/values-pl/translations.xml | 2 +- .../src/main/res/values-ru/translations.xml | 79 +- .../src/main/res/values-sk/translations.xml | 13 +- .../src/main/res/values-sv/translations.xml | 2 +- .../src/main/res/values-zh/translations.xml | 2 +- .../impl/src/main/res/values/localazy.xml | 15 +- .../src/main/res/values-sk/translations.xml | 2 + .../src/main/res/values-cs/translations.xml | 4 + .../src/main/res/values-el/translations.xml | 1 + .../src/main/res/values-et/translations.xml | 6 +- .../src/main/res/values-in/translations.xml | 2 + .../src/main/res/values-ru/translations.xml | 26 +- .../src/main/res/values-sk/translations.xml | 9 + .../impl/src/main/res/values/localazy.xml | 6 +- .../src/main/res/values-in/translations.xml | 6 + .../src/main/res/values-in/translations.xml | 1 + .../src/main/res/values-cs/translations.xml | 14 +- .../src/main/res/values-el/translations.xml | 3 +- .../src/main/res/values-et/translations.xml | 15 +- .../src/main/res/values-fr/translations.xml | 4 - .../src/main/res/values-hu/translations.xml | 7 - .../src/main/res/values-in/translations.xml | 31 + .../src/main/res/values-pt/translations.xml | 4 - .../src/main/res/values-ru/translations.xml | 33 +- .../src/main/res/values-sk/translations.xml | 18 + .../src/main/res/values/localazy.xml | 13 +- ...nces_AnalyticsPreferencesView_Day_0_de.png | 4 +- ...ytics.impl_AnalyticsOptInView_Day_0_de.png | 4 +- ....impl.addpeople_AddPeopleView_Day_2_de.png | 4 +- ....components_RoomPrivacyOption_Day_0_de.png | 4 +- ...nents_SearchMultipleUsersResultItem_de.png | 4 +- ...nfigureroom_ConfigureRoomView_Day_0_de.png | 4 +- ...nfigureroom_ConfigureRoomView_Day_1_de.png | 4 +- ...ations_NotificationsOptInView_Day_0_de.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_4_de.png | 4 +- ...es.joinroom.impl_JoinRoomView_Day_6_de.png | 4 +- ...ttings_LockScreenSettingsView_Day_0_de.png | 4 +- ...ttings_LockScreenSettingsView_Day_1_de.png | 4 +- ...ttings_LockScreenSettingsView_Day_2_de.png | 4 +- ....biometric_SetupBiometricView_Day_0_de.png | 4 +- ...n.impl.setup.pin_SetupPinView_Day_0_de.png | 4 +- ...n.impl.setup.pin_SetupPinView_Day_1_de.png | 4 +- ...n.impl.setup.pin_SetupPinView_Day_2_de.png | 4 +- ...n.impl.setup.pin_SetupPinView_Day_3_de.png | 4 +- ...n.impl.setup.pin_SetupPinView_Day_4_de.png | 4 +- ...mpl.unlock_PinUnlockViewInApp_Day_0_de.png | 4 +- ...mpl.unlock_PinUnlockViewInApp_Day_1_de.png | 4 +- ...mpl.unlock_PinUnlockViewInApp_Day_2_de.png | 4 +- ...mpl.unlock_PinUnlockViewInApp_Day_3_de.png | 4 +- ...mpl.unlock_PinUnlockViewInApp_Day_4_de.png | 4 +- ...mpl.unlock_PinUnlockViewInApp_Day_5_de.png | 4 +- ...mpl.unlock_PinUnlockViewInApp_Day_6_de.png | 4 +- ...mpl.unlock_PinUnlockViewInApp_Day_7_de.png | 4 +- ...der_ChangeAccountProviderView_Day_0_de.png | 4 +- ...er_ConfirmAccountProviderView_Day_0_de.png | 4 +- ...er_ConfirmAccountProviderView_Day_1_de.png | 4 +- ...er_ConfirmAccountProviderView_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 | 4 +- ...mation_QrCodeConfirmationView_Day_0_de.png | 4 +- ...mation_QrCodeConfirmationView_Day_1_de.png | 4 +- ...mation_QrCodeConfirmationView_Day_2_de.png | 4 +- ....qrcode.intro_QrCodeIntroView_Day_0_de.png | 4 +- ....qrcode.intro_QrCodeIntroView_Day_1_de.png | 4 +- ...ns.qrcode.scan_QrCodeScanView_Day_0_de.png | 4 +- ...ns.qrcode.scan_QrCodeScanView_Day_1_de.png | 4 +- ...ns.qrcode.scan_QrCodeScanView_Day_2_de.png | 4 +- ...ns.qrcode.scan_QrCodeScanView_Day_3_de.png | 4 +- ...der_SearchAccountProviderView_Day_0_de.png | 4 +- ...der_SearchAccountProviderView_Day_1_de.png | 4 +- ....impl_AccountDeactivationView_Day_0_de.png | 4 +- ....impl_AccountDeactivationView_Day_2_de.png | 4 +- ....impl_AccountDeactivationView_Day_4_de.png | 4 +- ...atures.logout.impl_LogoutView_Day_0_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_6_de.png | 4 +- ...atures.logout.impl_LogoutView_Day_7_de.png | 4 +- ...atures.logout.impl_LogoutView_Day_8_de.png | 4 +- ...atures.logout.impl_LogoutView_Day_9_de.png | 4 +- ...essagesViewWithIdentityChange_Day_0_de.png | 4 +- ...essagesViewWithIdentityChange_Day_1_de.png | 4 +- ...essagesViewWithIdentityChange_Day_2_de.png | 4 +- ...veVerifiedUserSendFailureView_Day_1_de.png | 4 +- ...veVerifiedUserSendFailureView_Day_2_de.png | 4 +- ...ner_PinnedMessagesBannerView_Day_10_de.png | 4 +- ...nner_PinnedMessagesBannerView_Day_3_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_2_de.png | 4 +- ...nt_TimelineItemEncryptedView_Day_4_de.png} | 0 ...nents_TimelineItemEventRowUtd_Day_0_de.png | 3 + ...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_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 +- ...ll.impl.create_CreatePollView_Day_0_de.png | 4 +- ...ll.impl.create_CreatePollView_Day_1_de.png | 4 +- ...ll.impl.create_CreatePollView_Day_2_de.png | 4 +- ...ll.impl.create_CreatePollView_Day_3_de.png | 4 +- ...ll.impl.create_CreatePollView_Day_6_de.png | 4 +- ...advanced_AdvancedSettingsView_Day_0_de.png | 4 +- ...advanced_AdvancedSettingsView_Day_1_de.png | 4 +- ...advanced_AdvancedSettingsView_Day_2_de.png | 4 +- ...advanced_AdvancedSettingsView_Day_3_de.png | 4 +- ...alytics_AnalyticsSettingsView_Day_0_de.png | 4 +- ...veloper_DeveloperSettingsView_Day_0_de.png | 4 +- ...veloper_DeveloperSettingsView_Day_1_de.png | 4 +- ...veloper_DeveloperSettingsView_Day_2_de.png | 4 +- ...aultNotificationSettingOption_Day_0_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_11_de.png | 4 +- ...ons_NotificationSettingsView_Day_12_de.png | 4 +- ...ions_NotificationSettingsView_Day_1_de.png | 4 +- ...ions_NotificationSettingsView_Day_2_de.png | 4 +- ...ions_NotificationSettingsView_Day_3_de.png | 4 +- ...ions_NotificationSettingsView_Day_4_de.png | 4 +- ...ions_NotificationSettingsView_Day_5_de.png | 4 +- ...ions_NotificationSettingsView_Day_6_de.png | 4 +- ...ions_NotificationSettingsView_Day_7_de.png | 4 +- ...ions_NotificationSettingsView_Day_8_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 +- ....invite_RoomInviteMembersView_Day_5_de.png | 4 +- ...oomNotificationSettingsOption_Day_0_de.png | 4 +- ..._RoomNotificationSettingsView_Day_0_de.png | 4 +- ..._RoomNotificationSettingsView_Day_1_de.png | 4 +- ..._RoomNotificationSettingsView_Day_2_de.png | 4 +- ..._RoomNotificationSettingsView_Day_3_de.png | 4 +- ..._RoomNotificationSettingsView_Day_4_de.png | 4 +- ..._RoomNotificationSettingsView_Day_5_de.png | 4 +- ..._RoomNotificationSettingsView_Day_6_de.png | 4 +- ...dRoomNotificationSettingsView_Day_0_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_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 +- ..._PendingMemberRowWithLongName_Day_0_de.png | 4 +- ....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 +- ...omponents_RoomListContentView_Day_0_de.png | 4 +- ...omponents_RoomListContentView_Day_4_de.png | 4 +- ...pl.components_RoomSummaryRow_Day_29_de.png | 4 +- ...pl.components_RoomSummaryRow_Day_31_de.png | 4 +- ....search_RoomListSearchContent_Day_2_de.png | 4 +- ...omListModalBottomSheetContent_Day_0_de.png | 4 +- ...omListModalBottomSheetContent_Day_1_de.png | 4 +- ...omListModalBottomSheetContent_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 +- ...sable_SecureBackupDisableView_Day_0_de.png | 4 +- ...sable_SecureBackupDisableView_Day_1_de.png | 4 +- ...sable_SecureBackupDisableView_Day_2_de.png | 4 +- ...sable_SecureBackupDisableView_Day_3_de.png | 4 +- ...enable_SecureBackupEnableView_Day_0_de.png | 4 +- ...enable_SecureBackupEnableView_Day_1_de.png | 4 +- ...enable_SecureBackupEnableView_Day_2_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 | 2 +- ...ord_ResetIdentityPasswordView_Day_2_de.png | 2 +- ...ord_ResetIdentityPasswordView_Day_3_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_6_de.png | 4 +- ...rofile.shared_UserProfileView_Day_7_de.png | 4 +- ...rofile.shared_UserProfileView_Day_8_de.png | 3 - ...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_2_de.png | 4 +- ...on.impl_VerifySelfSessionView_Day_3_de.png | 4 +- ...on.impl_VerifySelfSessionView_Day_5_de.png | 4 +- ...on.impl_VerifySelfSessionView_Day_6_de.png | 4 +- ...on.impl_VerifySelfSessionView_Day_7_de.png | 4 +- ...on.impl_VerifySelfSessionView_Day_8_de.png | 4 +- ...mponents_CheckableUnresolvedUserRow_de.png | 4 +- ...i.components_InviteSenderView_Day_0_de.png | 4 +- ...oomselect.impl_RoomSelectView_Day_4_de.png | 4 +- screenshots/html/data.js | 1262 +++++++++-------- ....components_RoomPrivacyOption_Day_0_en.png | 4 +- ...omponents_RoomPrivacyOption_Night_0_en.png | 4 +- ...nfigureroom_ConfigureRoomView_Day_0_en.png | 4 +- ...nfigureroom_ConfigureRoomView_Day_1_en.png | 4 +- ...igureroom_ConfigureRoomView_Night_0_en.png | 4 +- ...igureroom_ConfigureRoomView_Night_1_en.png | 4 +- ...mpl.root_SecureBackupRootView_Day_0_en.png | 4 +- ...pl.root_SecureBackupRootView_Day_10_en.png | 4 +- ...pl.root_SecureBackupRootView_Day_11_en.png | 4 +- ...pl.root_SecureBackupRootView_Day_12_en.png | 4 +- ...pl.root_SecureBackupRootView_Day_13_en.png | 4 +- ...mpl.root_SecureBackupRootView_Day_1_en.png | 4 +- ...mpl.root_SecureBackupRootView_Day_2_en.png | 4 +- ...mpl.root_SecureBackupRootView_Day_3_en.png | 4 +- ...mpl.root_SecureBackupRootView_Day_4_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 +- ...mpl.root_SecureBackupRootView_Day_9_en.png | 4 +- ...l.root_SecureBackupRootView_Night_0_en.png | 4 +- ....root_SecureBackupRootView_Night_10_en.png | 4 +- ....root_SecureBackupRootView_Night_11_en.png | 4 +- ....root_SecureBackupRootView_Night_12_en.png | 4 +- ....root_SecureBackupRootView_Night_13_en.png | 4 +- ...l.root_SecureBackupRootView_Night_1_en.png | 4 +- ...l.root_SecureBackupRootView_Night_2_en.png | 4 +- ...l.root_SecureBackupRootView_Night_3_en.png | 4 +- ...l.root_SecureBackupRootView_Night_4_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 +- ...l.root_SecureBackupRootView_Night_9_en.png | 4 +- ...l.setup.views_RecoveryKeyView_Day_0_en.png | 4 +- ...l.setup.views_RecoveryKeyView_Day_1_en.png | 4 +- ...l.setup.views_RecoveryKeyView_Day_4_en.png | 4 +- ...l.setup.views_RecoveryKeyView_Day_5_en.png | 4 +- ...setup.views_RecoveryKeyView_Night_0_en.png | 4 +- ...setup.views_RecoveryKeyView_Night_1_en.png | 4 +- ...setup.views_RecoveryKeyView_Night_4_en.png | 4 +- ...setup.views_RecoveryKeyView_Night_5_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 +- ...on.impl_VerifySelfSessionView_Day_3_en.png | 4 +- ....impl_VerifySelfSessionView_Night_3_en.png | 4 +- 361 files changed, 1561 insertions(+), 1425 deletions(-) rename screenshots/de/{features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_de.png => features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_4_de.png} (100%) create mode 100644 screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Day_0_de.png delete mode 100644 screenshots/de/features.userprofile.shared_UserProfileView_Day_8_de.png diff --git a/features/createroom/impl/src/main/res/values-cs/translations.xml b/features/createroom/impl/src/main/res/values-cs/translations.xml index 7ea28fc293..13ed58be07 100644 --- a/features/createroom/impl/src/main/res/values-cs/translations.xml +++ b/features/createroom/impl/src/main/res/values-cs/translations.xml @@ -3,10 +3,11 @@ "Nová místnost" "Pozvat přátele" "Při vytváření místnosti došlo k chybě" - "Zprávy v této místnosti jsou šifrované. Šifrování nelze později vypnout." - "Soukromá místnost (jen pro pozvané)" - "Zprávy nejsou šifrované a může si je přečíst kdokoli. Šifrování můžete povolit později." - "Veřejná místnost (kdokoli)" + "Do této místnosti mají přístup pouze pozvaní lidé. Všechny zprávy jsou koncově šifrovány." + "Soukromá místnost" + "Tuto místnost může najít kdokoli. +To můžete kdykoli změnit v nastavení místnosti." + "Veřejná místnost" "Název místnosti" "Vytvořit místnost" "Téma (nepovinné)" diff --git a/features/createroom/impl/src/main/res/values-el/translations.xml b/features/createroom/impl/src/main/res/values-el/translations.xml index c74336030b..82eda078f4 100644 --- a/features/createroom/impl/src/main/res/values-el/translations.xml +++ b/features/createroom/impl/src/main/res/values-el/translations.xml @@ -3,10 +3,11 @@ "Νέο δωμάτιο" "Πρόσκληση ατόμων" "Παρουσιάστηκε σφάλμα κατά τη δημιουργία του δωματίου" - "Τα μηνύματα σε αυτό το δωμάτιο είναι κρυπτογραφημένα. Η κρυπτογράφηση δεν μπορεί να απενεργοποιηθεί αργότερα." - "Ιδιωτικό δωμάτιο (μόνο με πρόσκληση)" - "Τα μηνύματα δεν είναι κρυπτογραφημένα και ο καθένας μπορεί να τα διαβάσει. Μπορείς να ενεργοποιήσεις την κρυπτογράφηση αργότερα." - "Δημόσιο δωμάτιο (οποιοσδήποτε)" + "Μόνο άτομα που έχουν προσκληθεί μπορούν να έχουν πρόσβαση σε αυτό το δωμάτιο. Όλα τα μηνύματα είναι κρυπτογραφημένα από άκρο σε άκρο." + "Ιδιωτικό δωμάτιο" + "Ο καθένας μπορεί να βρει αυτό το δωμάτιο. +Μπορείς να το αλλάξεις ανά πάσα στιγμή στις ρυθμίσεις δωματίου." + "Δημόσιο δωμάτιο" "Όνομα δωματίου" "Δημιούργησε ένα δωμάτιο" "Θέμα (προαιρετικό)" diff --git a/features/createroom/impl/src/main/res/values-et/translations.xml b/features/createroom/impl/src/main/res/values-et/translations.xml index 38b8b44358..043c228dea 100644 --- a/features/createroom/impl/src/main/res/values-et/translations.xml +++ b/features/createroom/impl/src/main/res/values-et/translations.xml @@ -3,10 +3,11 @@ "Uus jututuba" "Kutsu osalejaid" "Jututoa loomisel tekkis viga" - "Sõnumid siin jututoas on krüptitud ja seda ei saa hiljem välja lülitada." - "Privaatne jututuba (liitumine vaid kutsega)" - "Sõnumid pole krüptitud ja neid saavad kõik lugeda. Soovi korral saad hiljem krüptimise sisse lülitada." - "Avalik jututuba (avatud kõigile)" + "Ligipääs siia jututuppa on vaid kutse alusel. Kõik sõnumid siin jututoas on läbivalt krüptitud." + "Privaatne jututuba" + "Kõik saavad seda jututuba leida. +Sa võid seda jututoa seadistustest alati muuta." + "Avalik jututuba" "Jututoa nimi" "Loo jututuba" "Teema (kui soovid lisada)" diff --git a/features/createroom/impl/src/main/res/values-in/translations.xml b/features/createroom/impl/src/main/res/values-in/translations.xml index fba0e8aa3f..a9f795983e 100644 --- a/features/createroom/impl/src/main/res/values-in/translations.xml +++ b/features/createroom/impl/src/main/res/values-in/translations.xml @@ -3,10 +3,11 @@ "Ruangan baru" "Undang orang-orang" "Terjadi kesalahan saat membuat ruangan" - "Pesan di ruangan ini dienkripsi. Enkripsi tidak dapat dinonaktifkan setelahnya." - "Ruangan pribadi (hanya undangan)" - "Pesan tidak dienkripsi dan siapa pun dapat membacanya. Anda dapat mengaktifkan enkripsi di kemudian hari." - "Ruang publik (siapa saja)" + "Hanya orang-orang yang diundang dapat mengakses ruangan ini. Semua pesan terenkripsi secara ujung ke ujung." + "Ruangan pribadi" + "Siapa pun dapat mencari ruangan ini. +Anda dapat mengubah ini kapan pun dalam pengaturan ruangan." + "Ruangan publik" "Nama ruangan" "Buat ruangan" "Topik (opsional)" diff --git a/features/createroom/impl/src/main/res/values-ru/translations.xml b/features/createroom/impl/src/main/res/values-ru/translations.xml index 1bb1206aad..39df1f0ef5 100644 --- a/features/createroom/impl/src/main/res/values-ru/translations.xml +++ b/features/createroom/impl/src/main/res/values-ru/translations.xml @@ -3,10 +3,11 @@ "Создать новую комнату" "Пригласить в комнату" "Произошла ошибка при создании комнаты" - "Сообщения в этой комнате будут зашифрованы. Отключить шифрование позже будет невозможно." - "Частная комната (только по приглашениям)" - "Сообщения не будут зашифрованы и каждый сможет их прочитать. Шифрование можно будет включить позже." - "Общедоступная комната (для всех)" + "Доступ в эту комнату имеют только приглашенные пользователи. Все сообщения защищены сквозным шифрованием." + "Частная комната" + "Любой желающий может найти эту комнату. +Вы можете изменить это в любое время в настройках комнаты." + "Общедоступная комната" "Название комнаты" "Создать комнату" "Тема (необязательно)" diff --git a/features/createroom/impl/src/main/res/values-sk/translations.xml b/features/createroom/impl/src/main/res/values-sk/translations.xml index 932e463e32..12a94590c8 100644 --- a/features/createroom/impl/src/main/res/values-sk/translations.xml +++ b/features/createroom/impl/src/main/res/values-sk/translations.xml @@ -3,10 +3,11 @@ "Nová miestnosť" "Pozvať ľudí" "Pri vytváraní miestnosti došlo k chybe" - "Správy v tejto miestnosti sú šifrované. Šifrovanie už potom nie je možné vypnúť." - "Súkromná miestnosť (len pre pozvaných)" - "Správy nie sú šifrované a môže si ich prečítať ktokoľvek. Šifrovanie môžete zapnúť neskôr." - "Verejná miestnosť (ktokoľvek)" + "Do tejto miestnosti majú prístup iba pozvaní ľudia. Všetky správy sú end-to-end šifrované." + "Súkromná miestnosť" + "Túto miestnosť môže nájsť ktokoľvek. +Môžete to kedykoľvek zmeniť v nastaveniach miestnosti." + "Verejná miestnosť" "Názov miestnosti" "Vytvoriť miestnosť" "Téma (voliteľné)" diff --git a/features/createroom/impl/src/main/res/values-sv/translations.xml b/features/createroom/impl/src/main/res/values-sv/translations.xml index 70d1740592..a2a22c552b 100644 --- a/features/createroom/impl/src/main/res/values-sv/translations.xml +++ b/features/createroom/impl/src/main/res/values-sv/translations.xml @@ -3,10 +3,11 @@ "Nytt rum" "Bjud in personer" "Ett fel uppstod när rummet skapades" - "Meddelanden i det här rummet är krypterade. Kryptering kan inte inaktiveras efteråt." - "Privat rum (endast inbjudan)" - "Meddelanden är inte krypterade och vem som helst kan läsa dem. Du kan aktivera kryptering vid ett senare tillfälle." - "Offentligt rum (vem som helst)" + "Endast inbjudna personer har tillgång till detta rum. Alla meddelanden är totalsträckskrypterade." + "Privat rum" + "Vem som helst kan hitta det här rummet. +Du kan ändra detta när som helst i rumsinställningarna." + "Offentligt rum" "Rumsnamn" "Skapa ett rum" "Ämne (valfritt)" diff --git a/features/createroom/impl/src/main/res/values/localazy.xml b/features/createroom/impl/src/main/res/values/localazy.xml index 251541f610..e5256d928b 100644 --- a/features/createroom/impl/src/main/res/values/localazy.xml +++ b/features/createroom/impl/src/main/res/values/localazy.xml @@ -3,10 +3,11 @@ "New room" "Invite people" "An error occurred when creating the room" - "Messages in this room are encrypted. Encryption can’t be disabled afterwards." - "Private room (invite only)" - "Messages are not encrypted and anyone can read them. You can enable encryption at a later date." - "Public room (anyone)" + "Only people invited can access this room. All messages are end-to-end encrypted." + "Private room" + "Anyone can find this room. +You can change this anytime in room settings." + "Public room" "Room name" "Create a room" "Topic (optional)" diff --git a/features/deactivation/impl/src/main/res/values-ru/translations.xml b/features/deactivation/impl/src/main/res/values-ru/translations.xml index 5ce63d34a0..1b978b524e 100644 --- a/features/deactivation/impl/src/main/res/values-ru/translations.xml +++ b/features/deactivation/impl/src/main/res/values-ru/translations.xml @@ -1,14 +1,14 @@ - "Подтвердите, что вы хотите деактивировать свою учетную запись. Это действие не может быть отменено." + "Вы уверены, что хотите отключить свою учётную запись? Данное действие не может быть отменено." "Удалить все мои сообщения" "Предупреждение: будущие пользователи могут увидеть незавершенные разговоры." - "Деактивация вашей учетной записи %1$s означает следующее:" - "необратимый" - "%1$s вашей учетной записи (вы не можете войти в систему снова, и ваш ID не может быть использован повторно)." + "Отключение вашей учетной записи %1$s и означает следующее:" + "необратимо" + "Ваша учётная запись будет %1$s (вы не сможете войти в неё снова, и ваш ID не может быть использован повторно)." "Отключить навсегда" - "Удалите вас из всех чатов." - "Удалите данные своей учетной записи с нашего сервера идентификации." + "Вы будете удалены из всех чатов." + "Данные вашей учётной записи будут удалены с нашего сервера идентификации." "Ваши сообщения по-прежнему будут видны зарегистрированным пользователям, но не будут доступны новым или незарегистрированным пользователям, если вы решите удалить их." "Отключить учётную запись" diff --git a/features/joinroom/impl/src/main/res/values-cs/translations.xml b/features/joinroom/impl/src/main/res/values-cs/translations.xml index a357fab76b..23d8690dc6 100644 --- a/features/joinroom/impl/src/main/res/values-cs/translations.xml +++ b/features/joinroom/impl/src/main/res/values-cs/translations.xml @@ -1,7 +1,14 @@ + "Zrušit žádost" + "Ano, zrušit" + "Opravdu chcete zrušit svou žádost o vstup do této místnosti?" + "Zrušit žádost o vstup" "Připojit se do místnosti" "Zaklepejte a připojte se" + "Zpráva (nepovinné)" + "Pokud bude váš požadavek přijat, obdržíte pozvánku na vstup do místnosti." + "Žádost o vstup odeslána" "%1$s zatím nepodporuje prostory. Prostory můžete používat na webu." "Prostory zatím nejsou podporovány" "Klikněte na tlačítko níže a správce místnosti bude informován. Po schválení se budete moci připojit ke konverzaci." diff --git a/features/joinroom/impl/src/main/res/values-el/translations.xml b/features/joinroom/impl/src/main/res/values-el/translations.xml index 51c9dfbf95..b4c6cfd434 100644 --- a/features/joinroom/impl/src/main/res/values-el/translations.xml +++ b/features/joinroom/impl/src/main/res/values-el/translations.xml @@ -1,7 +1,11 @@ + "Ακύρωση αιτήματος" "Συμμετοχή στο δωμάτιο" "Χτύπα για συμμετοχή" + "Μήνυμα (προαιρετικό)" + "Θα λάβεις πρόσκληση για συμμετοχή στο δωμάτιο εάν το αίτημά σου γίνει αποδεκτό." + "Το αίτημα συμμετοχής στάλθηκε" "Το %1$s δεν υποστηρίζει ακόμα χώρους. Μπορείς να έχεις πρόσβαση σε χώρους στον ιστό." "Οι Χώροι δεν υποστηρίζονται ακόμα" "Κάνε κλικ στο παρακάτω κουμπί και ένας διαχειριστής δωματίου θα ειδοποιηθεί. Θα μπορείς να συμμετάσχεις στη συνομιλία μόλις εγκριθεί." diff --git a/features/joinroom/impl/src/main/res/values-et/translations.xml b/features/joinroom/impl/src/main/res/values-et/translations.xml index d51cbdc861..55e3382a4b 100644 --- a/features/joinroom/impl/src/main/res/values-et/translations.xml +++ b/features/joinroom/impl/src/main/res/values-et/translations.xml @@ -1,7 +1,14 @@ + "Tühista liitumispalve" + "Jah, tühista" + "Kas sa oled kindel, et soovid tühistada oma palve jututoaga liitumiseks?" + "Tühista liitumispalve" "Liitu jututoaga" "Liitumiseks koputa jututoa uksele" + "Selgitus (kui soovid lisada)" + "Kui sinu liitumispalvega ollakse nõus, siis saad kutse jututoaga liitumiseks." + "Liitumispalve on saadetud" "%1$s veel ei toeta kogukondadega liitumise ja kasutamise võimalust. Vajadusel saad seda teha veebiliidese vahendusel." "Kogukonnad pole veel toetatud" "Klõpsi allolevat nuppu ja jututoa haldaja saab asjakohase teate. Sa saad liituda, kui haldaja sinu soovi heaks kiidab." diff --git a/features/joinroom/impl/src/main/res/values-fr/translations.xml b/features/joinroom/impl/src/main/res/values-fr/translations.xml index b8847cf47b..9dc20cdab0 100644 --- a/features/joinroom/impl/src/main/res/values-fr/translations.xml +++ b/features/joinroom/impl/src/main/res/values-fr/translations.xml @@ -1,7 +1,11 @@ + "Annuler la demande" "Rejoindre" "Demander à joindre" + "Message (facultatif)" + "Vous recevrez une invitation à rejoindre le salon si votre demande est acceptée." + "Demande de rejoindre le salon envoyée" "Les Spaces ne sont pas encore pris en charge par %1$s . Vous pouvez voir les Spaces sur le Web." "Les Spaces ne sont pas encore pris en charge" "Cliquez ci-dessous et un administrateur sera prévenu. Une fois votre demande approuvée, pour pourrez rejoindre la discussion." diff --git a/features/joinroom/impl/src/main/res/values-hu/translations.xml b/features/joinroom/impl/src/main/res/values-hu/translations.xml index df9f3e8806..62c7b80542 100644 --- a/features/joinroom/impl/src/main/res/values-hu/translations.xml +++ b/features/joinroom/impl/src/main/res/values-hu/translations.xml @@ -1,7 +1,14 @@ + "Kérés visszavonása" + "Igen, visszavonás" + "Biztos, hogy visszavonja a szobához való csatlakozási kérését?" + "Csatlakozási kérés visszavonása" "Csatlakozás a szobához" "Kopogtasson a csatlakozáshoz" + "Üzenet (nem kötelező)" + "Ha a kérését elfogadják, meghívót kap a szobához való csatlakozáshoz." + "Csatlakozási kérés elküldve" "Az %1$s még nem támogatja a tereket. A tereket a weben érheti el." "A terek még nem támogatottak" "Kattintson az alábbi gombra, és a szoba adminisztrátora értesítést kap. A jóváhagyást követően csatlakozhat a beszélgetéshez." diff --git a/features/joinroom/impl/src/main/res/values-pt/translations.xml b/features/joinroom/impl/src/main/res/values-pt/translations.xml index 4dc482327e..81e2c4bd1c 100644 --- a/features/joinroom/impl/src/main/res/values-pt/translations.xml +++ b/features/joinroom/impl/src/main/res/values-pt/translations.xml @@ -1,7 +1,11 @@ + "Cancelar pedido" "Entrar na sala" "Bater à porta" + "Mensagem (opcional)" + "Irá receber um convite para participar na sala se seu pedido for aceite." + "Pedido de adesão enviado" "A %1$s ainda não funciona com espaços. Podes usá-los na aplicação web." "Os espaços ainda não estão implementados" "Carrega no botão abaixo para notificar um administrador da sala. Poderás entrar quando te aprovarem." diff --git a/features/joinroom/impl/src/main/res/values-ru/translations.xml b/features/joinroom/impl/src/main/res/values-ru/translations.xml index c01bea738c..6faf2264a4 100644 --- a/features/joinroom/impl/src/main/res/values-ru/translations.xml +++ b/features/joinroom/impl/src/main/res/values-ru/translations.xml @@ -1,7 +1,14 @@ + "Отменить запрос" + "Да, отменить" + "Вы действительно хотите отменить заявку на вступление в эту комнату?" + "Отменить запрос на присоединение" "Присоединиться к комнате" "Постучите, чтобы присоединиться" + "Сообщение (опционально)" + "Вы получите приглашение присоединиться к комнате, как только ваш запрос будет принят." + "Запрос на присоединение отправлен" "%1$s еще не поддерживает пространства. Вы можете получить к ним доступ в веб-версии." "Пространства пока не поддерживаются" "Нажмите кнопку ниже и администратор комнаты получит уведомление. После одобрения вы сможете присоединиться к обсуждению." diff --git a/features/joinroom/impl/src/main/res/values-sk/translations.xml b/features/joinroom/impl/src/main/res/values-sk/translations.xml index 13f91469fd..972c65339e 100644 --- a/features/joinroom/impl/src/main/res/values-sk/translations.xml +++ b/features/joinroom/impl/src/main/res/values-sk/translations.xml @@ -1,7 +1,14 @@ + "Zrušiť žiadosť" + "Áno, zrušiť" + "Ste si istí, že chcete zrušiť svoju žiadosť o vstup do tejto miestnosti?" + "Zrušiť žiadosť o pripojenie" "Pripojiť sa do miestnosti" "Zaklopaním sa pripojíte" + "Správa (voliteľné)" + "Ak bude vaša žiadosť prijatá, dostanete pozvánku na vstup do miestnosti." + "Žiadosť o pripojenie bola odoslaná" "%1$s zatiaľ nepodporuje priestory. K priestorom môžete pristupovať na webe." "Priestory zatiaľ nie sú podporované" "Kliknite na tlačidlo nižšie a správca miestnosti bude informovaný. Po schválení sa budete môcť pripojiť ku konverzácii." 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 4dc20339e1..40a958e7ef 100644 --- a/features/login/impl/src/main/res/values-ru/translations.xml +++ b/features/login/impl/src/main/res/values-ru/translations.xml @@ -22,7 +22,7 @@ "Какой адрес у вашего сервера?" "Выберите свой сервер" "Создать учетную запись" - "Данная учетная запись была деактивирована." + "Данная учётная запись была отключена." "Неверное имя пользователя и/или пароль" "Это не корректный идентификатор пользователя. Ожидаемый формат: \'@user:homeserver.org\'" "Этот сервер настроен на использование токенов обновления. Они не поддерживаются при использовании входа на основе пароля." 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 d257cb143a..f301fa46d5 100644 --- a/features/preferences/impl/src/main/res/values-et/translations.xml +++ b/features/preferences/impl/src/main/res/values-et/translations.xml @@ -8,6 +8,8 @@ "Element Calli kohandatud teenuseaadress" "Seadista kohandatud teenuseaadress Element Calli jaoks." "Vigane url. Palun vaata, et url algaks protokolliga (http/https) ning aadress ise oleks ka õige." + "Optimeeri üleslaadimiseks" + "Meedia" "Tõuketeavituste pakkuja" "Kui soovid Markdown-vormingut käsitsi lisada, siis lülita vormindatud teksti toimeti välja." "Lugemisteatised" diff --git a/features/preferences/impl/src/main/res/values-ru/translations.xml b/features/preferences/impl/src/main/res/values-ru/translations.xml index ffe52769bf..bbe04958c5 100644 --- a/features/preferences/impl/src/main/res/values-ru/translations.xml +++ b/features/preferences/impl/src/main/res/values-ru/translations.xml @@ -8,6 +8,8 @@ "Базовый URL сервера звонков Element" "Задайте свой сервер Element Call." "Адрес указан неверно, удостоверьтесь, что вы указали протокол (http/https) и правильный адрес." + "Оптимизировать для загрузки" + "Медиа" "Поставщик push-уведомлений" "Отключить редактор форматированного текста и включить Markdown." "Уведомления о прочтении" diff --git a/features/preferences/impl/src/main/res/values/localazy.xml b/features/preferences/impl/src/main/res/values/localazy.xml index da71324b9e..d7b0f6dda2 100644 --- a/features/preferences/impl/src/main/res/values/localazy.xml +++ b/features/preferences/impl/src/main/res/values/localazy.xml @@ -8,6 +8,8 @@ "Custom Element Call base URL" "Set a custom base URL for Element Call." "Invalid URL, please make sure you include the protocol (http/https) and the correct address." + "Optimize for upload" + "Media" "Push notification provider" "Disable the rich text editor to type Markdown manually." "Read receipts" 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 574223a6ec..0ec4c6fd80 100644 --- a/features/roomdetails/impl/src/main/res/values-ru/translations.xml +++ b/features/roomdetails/impl/src/main/res/values-ru/translations.xml @@ -99,7 +99,7 @@ "Ваш домашний сервер не поддерживает эту опцию в зашифрованных комнатах, вы не будете получать уведомления в этой комнате." "О всех сообщениях" "Только упоминания и ключевые слова" - "В этой комнате уведомить меня о" + "В этой комнате уведомлять меня" "Администраторы" "Изменить мою роль" "Понизить до участника" diff --git a/features/roomlist/impl/src/main/res/values-cs/translations.xml b/features/roomlist/impl/src/main/res/values-cs/translations.xml index 52a18f8e9c..18fe226b8f 100644 --- a/features/roomlist/impl/src/main/res/values-cs/translations.xml +++ b/features/roomlist/impl/src/main/res/values-cs/translations.xml @@ -16,6 +16,7 @@ "Odmítnout chat" "Žádné pozvánky" "%1$s (%2$s) vás pozval(a)" + "Žádost o vstup odeslána" "Jedná se o jednorázový proces, prosíme o strpení." "Nastavení vašeho účtu" "Vytvořte novou konverzaci nebo místnost" diff --git a/features/roomlist/impl/src/main/res/values-el/translations.xml b/features/roomlist/impl/src/main/res/values-el/translations.xml index 2ace716541..9723550412 100644 --- a/features/roomlist/impl/src/main/res/values-el/translations.xml +++ b/features/roomlist/impl/src/main/res/values-el/translations.xml @@ -16,6 +16,7 @@ "Απόρριψη συνομιλίας" "Χωρίς προσκλήσεις" "%1$s (%2$s) σέ προσκάλεσε" + "Το αίτημα συμμετοχής στάλθηκε" "Αυτή είναι μια εφάπαξ διαδικασία, ευχαριστώ που περίμενες." "Ρύθμιση του λογαριασμού σου." "Δημιουργία νέας συνομιλίας ή δωματίου" diff --git a/features/roomlist/impl/src/main/res/values-et/translations.xml b/features/roomlist/impl/src/main/res/values-et/translations.xml index 3ad27c1af1..214c7f2493 100644 --- a/features/roomlist/impl/src/main/res/values-et/translations.xml +++ b/features/roomlist/impl/src/main/res/values-et/translations.xml @@ -16,6 +16,7 @@ "Keeldu vestlusest" "Kutseid pole" "%1$s (%2$s) saatis sulle kutse" + "Liitumispalve on saadetud" "Tänud, et ootad - seda toimingut on vaja teha vaid üks kord." "Seadistame sinu kasutajakontot." "Loo uus vestlus või jututuba" diff --git a/features/roomlist/impl/src/main/res/values-fr/translations.xml b/features/roomlist/impl/src/main/res/values-fr/translations.xml index fb2188a8a4..1fe6c26004 100644 --- a/features/roomlist/impl/src/main/res/values-fr/translations.xml +++ b/features/roomlist/impl/src/main/res/values-fr/translations.xml @@ -16,6 +16,7 @@ "Refuser l’invitation" "Aucune invitation" "%1$s (%2$s) vous a invité(e)" + "Demande de rejoindre le salon envoyée" "Il s’agit d’une opération ponctuelle, merci d’attendre quelques instants." "Configuration de votre compte." "Créer une nouvelle discussion ou un nouveau salon" diff --git a/features/roomlist/impl/src/main/res/values-hu/translations.xml b/features/roomlist/impl/src/main/res/values-hu/translations.xml index 20006fd466..a5aded8b5b 100644 --- a/features/roomlist/impl/src/main/res/values-hu/translations.xml +++ b/features/roomlist/impl/src/main/res/values-hu/translations.xml @@ -16,6 +16,7 @@ "Csevegés elutasítása" "Nincsenek meghívások" "%1$s (%2$s) meghívta" + "Csatlakozási kérés elküldve" "Ez egy egyszeri folyamat, köszönjük a türelmét." "A fiók beállítása." "Új beszélgetés vagy szoba létrehozása" diff --git a/features/roomlist/impl/src/main/res/values-in/translations.xml b/features/roomlist/impl/src/main/res/values-in/translations.xml index 3340a9e06e..d284e83091 100644 --- a/features/roomlist/impl/src/main/res/values-in/translations.xml +++ b/features/roomlist/impl/src/main/res/values-in/translations.xml @@ -1,5 +1,11 @@ + "Keluar & Tingkatkan" + "Server Anda kini mendukung protokol baru yang lebih cepat. Keluar dan masuk lagi untuk memperbarui sekarang. Melakukan hal ini sekarang akan membantu Anda menghindari keluar paksa saat protokol lama dihapus nantinya." + "Homeserver Anda tidak lagi mendukung protokol lama. Silakan keluar dan masuk kembali untuk terus menggunakan aplikasi." + "Peningkatan tersedia" + "Buat kunci pemulihan baru yang dapat digunakan untuk memulihkan riwayat pesan terenkripsi Anda jika Anda kehilangan akses ke perangkat Anda." + "Siapkan pemulihan" "Cadangan percakapan Anda saat ini tidak tersinkron. Anda perlu mengonfirmasi kunci pemulihan Anda untuk tetap memiliki akses ke cadangan percakapan Anda." "Konfirmasi kunci pemulihan Anda" "Untuk memastikan Anda tidak melewatkan panggilan penting, silakan ubah pengaturan Anda untuk memperbolehkan notifikasi layar penuh ketika ponsel Anda terkunci." 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 02e716e4ec..d38b92f076 100644 --- a/features/roomlist/impl/src/main/res/values-pt/translations.xml +++ b/features/roomlist/impl/src/main/res/values-pt/translations.xml @@ -16,6 +16,7 @@ "Rejeitar conversa" "Sem convites" "%1$s (%2$s) convidou-te" + "Pedido de adesão enviado" "Este processo só acontece uma única vez, obrigado por esperares." "A configurar a tua conta…" "Criar uma nova conversa ou sala" diff --git a/features/roomlist/impl/src/main/res/values-ru/translations.xml b/features/roomlist/impl/src/main/res/values-ru/translations.xml index c5cb31c29b..2b0bd5ea40 100644 --- a/features/roomlist/impl/src/main/res/values-ru/translations.xml +++ b/features/roomlist/impl/src/main/res/values-ru/translations.xml @@ -7,10 +7,7 @@ "Создайте новый ключ восстановления, который можно использовать для восстановления зашифрованной истории сообщений в случае потери доступа к своим устройствам." "Настроить восстановление" "В настоящее время резервная копия ваших чатов не синхронизирована. Вам потребуется ввести свой ключ восстановления, чтобы сохранить доступ к резервной копии чатов." - - "Введите " - "ключ восстановления" - + "Введите ключ восстановления" "Чтобы больше не пропускать важные звонки, разрешите приложению показывать полноэкранные уведомления на заблокированном экране телефона." "Улучшите качество звонков" "Вы уверены, что хотите отклонить приглашение в %1$s?" @@ -19,6 +16,7 @@ "Отклонить чат" "Нет приглашений" "%1$s (%2$s) пригласил вас" + "Запрос на присоединение отправлен" "Это одноразовый процесс, спасибо, что подождали." "Настройка учетной записи." "Создайте новую беседу или комнату" @@ -33,7 +31,7 @@ "Низкий приоритет" "Вы можете убрать фильтры, чтобы увидеть другие ваши чаты." "У вас нет чатов для этой подборки" - "Люди" + "Пользователи" "У вас пока нет личных сообщений" "Комнаты" "Вас пока нет ни в одной комнате" @@ -42,8 +40,8 @@ У вас нет непрочитанных сообщений!" "Все чаты" "Пометить как прочитанное" - "Пометить как непрочитанное" + "Отметить как непрочитанное" "Просмотреть все комнаты" - "Похоже, вы используете новое устройство. Чтобы получить доступ к зашифрованным сообщениям пройдите верификацию с другим устройством." + "Похоже, вы используете новое устройство. Чтобы получить доступ к зашифрованным сообщениям пройдите подтверждение с другим устройством." "Подтвердите, что это вы" diff --git a/features/roomlist/impl/src/main/res/values-sk/translations.xml b/features/roomlist/impl/src/main/res/values-sk/translations.xml index f1d15ebbf1..4646ff3896 100644 --- a/features/roomlist/impl/src/main/res/values-sk/translations.xml +++ b/features/roomlist/impl/src/main/res/values-sk/translations.xml @@ -16,6 +16,7 @@ "Odmietnuť konverzáciu" "Žiadne pozvánky" "%1$s (%2$s) vás pozval/a" + "Žiadosť o pripojenie bola odoslaná" "Ide o jednorazový proces, ďakujeme za trpezlivosť." "Nastavenie vášho účtu." "Vytvorte novú konverzáciu alebo miestnosť" diff --git a/features/roomlist/impl/src/main/res/values-sv/translations.xml b/features/roomlist/impl/src/main/res/values-sv/translations.xml index 529271c97a..2471c26a91 100644 --- a/features/roomlist/impl/src/main/res/values-sv/translations.xml +++ b/features/roomlist/impl/src/main/res/values-sv/translations.xml @@ -1,5 +1,7 @@ + "Din server stöder nu ett nytt, snabbare protokoll. Logga ut och logga in igen för att uppgradera nu. Om du gör detta nu hjälper du dig att undvika en tvingad utloggning när det gamla protokollet tas bort senare." + "Uppgradering tillgänglig" "Skapa en ny återställningsnyckel som kan användas för att återställa din krypterade meddelandehistorik om du förlorar åtkomst till dina enheter." "Ställ in återställning" "Din chattsäkerhetskopia är för närvarande inte synkroniserad. Du måste ange din återställningsnyckel för att behålla åtkomsten till din chattsäkerhetskopia." 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 dfadf70a42..0ab538d4d0 100644 --- a/features/securebackup/impl/src/main/res/values-cs/translations.xml +++ b/features/securebackup/impl/src/main/res/values-cs/translations.xml @@ -2,9 +2,12 @@ "Vypnout zálohování" "Zapnout zálohování" - "Zálohování zajistí, že neztratíte historii zpráv. %1$s." - "Záloha" + "Bezpečně uložte svou kryptografickou identitu a klíče zpráv na serveru. To vám umožní zobrazit historii zpráv na všech nových zařízeních. %1$s." + "Úložiště klíčů" + "Nahrát klíče z tohoto zařízení" + "Povolit ukládání klíčů" "Změnit klíč pro obnovení" + "Obnovte svou kryptografickou identitu a historii zpráv pomocí klíče pro obnovení, pokud jste ztratili všechna stávající zařízení." "Zadejte klíč pro obnovení" "Vaše záloha chatu není aktuálně synchronizována." "Nastavení obnovy" @@ -31,7 +34,7 @@ "Opravdu chcete vypnout zálohování?" "Získejte nový klíč pro obnovení, pokud jste ztratili stávající klíč. Po změně klíče pro obnovení již váš starý klíč nebude fungovat." "Vygenerovat nový klíč pro obnovení" - "Ujistěte se, že můžete klíč pro obnovení uložit někde v bezpečí" + "Toto s nikým nesdílejte!" "Klíč pro obnovení byl změněn" "Změnit klíč pro obnovení?" "Vytvořit nový klíč pro obnovení" @@ -46,14 +49,14 @@ "Klíč pro obnovení zkopírován" "Generování…" "Uložit klíč pro obnovení" - "Zapište si klíč pro obnovení na bezpečné místo nebo jej uložte do správce hesel." + "Zapište si tento obnovovací klíč na bezpečné místo, jako je správce hesel, zašifrovaná poznámka nebo fyzický trezor." "Klepnutím zkopírujte klíč pro obnovení" "Uložte si klíč pro obnovení" "Po tomto kroku nebudete mít přístup k novému klíči pro obnovení." "Uložili jste si klíč pro obnovení?" "Záloha chatu je chráněna klíčem pro obnovení. Pokud potřebujete nový klíč pro obnovení po nastavení, můžete jej znovu vytvořit výběrem možnosti „Změnit klíč pro obnovení“." "Vygenerovat klíč pro obnovení" - "Ujistěte se, že můžete klíč pro obnovení uložit někde v bezpečí" + "Toto s nikým nesdílejte!" "Nastavení obnovení bylo úspěšné" "Nastavení obnovy" "Ano, resetovat nyní" diff --git a/features/securebackup/impl/src/main/res/values-el/translations.xml b/features/securebackup/impl/src/main/res/values-el/translations.xml index f4574b523d..21c9009ebe 100644 --- a/features/securebackup/impl/src/main/res/values-el/translations.xml +++ b/features/securebackup/impl/src/main/res/values-el/translations.xml @@ -2,8 +2,8 @@ "Απενεργοποίηση αντιγράφων ασφαλείας" "Ενεργοποίηση αντιγράφων ασφαλείας" - "Η δημιουργία αντιγράφων ασφαλείας διασφαλίζει ότι δεν θα χάσεις το ιστορικό μηνυμάτων σου. %1$s." - "Αντίγραφο ασφαλείας" + "Αποθήκευσε την κρυπτογραφική σου ταυτότητα και τα κλειδιά μηνυμάτων με ασφάλεια στον διακομιστή. Αυτό θα σου επιτρέψει να δεις το ιστορικό μηνυμάτων σου σε οποιεσδήποτε νέες συσκευές. %1$s." + "Χώρος αποθήκευσης κλειδιού" "Αλλαγή κλειδιού ανάκτησης" "Εισαγωγή κλειδιού ανάκτησης" "Το αντίγραφο ασφαλείας της συνομιλίας σου δεν είναι συγχρονισμένο αυτήν τη στιγμή." @@ -31,7 +31,7 @@ "Σίγουρα θες να απενεργοποιήσεις τα αντίγραφα ασφαλείας;" "Απόκτησε ένα νέο κλειδί ανάκτησης εάν έχεις χάσει το υπάρχον. Αφού αλλάξεις το κλειδί ανάκτησης, το παλιό δεν θα λειτουργεί πλέον." "Δημιουργία νέου κλειδιού ανάκτησης" - "Βεβαιώσου ότι μπορείς να αποθηκεύσεις το κλειδί ανάκτησης σε ασφαλές μέρος" + "Μην το μοιραστείς με κανέναν!" "Το κλειδί ανάκτησης άλλαξε" "Αλλαγή κλειδιού ανάκτησης;" "Δημιουργία νέου κλειδιού ανάκτησης" @@ -46,14 +46,14 @@ "Αντιγράφηκε το κλειδί ανάκτησης" "Δημιουργία…" "Αποθήκευση κλειδιού ανάκτησης" - "Γράψε το κλειδί ανάκτησης κάπου ασφαλές ή αποθήκευσέ το σε έναν διαχειριστή κωδικών πρόσβασης." + "Γράψε αυτό το κλειδί ανάκτησης κάπου ασφαλές, όπως έναν διαχειριστή κωδικών πρόσβασης, μια κρυπτογραφημένη σημείωση ή ένα φυσικό χρηματοκιβώτιο." "Πάτα για να αντιγράψεις το κλειδί ανάκτησης" "Αποθήκευσε το κλειδί ανάκτησης" "Δεν θα μπορείς να αποκτήσεις πρόσβαση στο νέο κλειδί ανάκτησης μετά από αυτό το βήμα." "Έχεις αποθηκεύσει το κλειδί ανάκτησης;" "Το αντίγραφο ασφαλείας της συνομιλίας σου προστατεύεται από ένα κλειδί ανάκτησης. Εάν χρειαστείς ένα νέο κλειδί ανάκτησης μετά την εγκατάσταση, μπορείς να δημιουργήσεις ξανά επιλέγοντας «Αλλαγή κλειδιού ανάκτησης»." "Δημιουργία κλειδιού ανάκτησης" - "Βεβαιώσου ότι μπορείς να αποθηκεύσεις το κλειδί ανάκτησης κάπου ασφαλές" + "Μην το μοιραστείς με κανέναν!" "Επιτυχής ρύθμιση ανάκτησης" "Ρύθμιση ανάκτησης" "Ναι, επαναφορά τώρα" 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 4f449d68c0..4c37eba8fb 100644 --- a/features/securebackup/impl/src/main/res/values-es/translations.xml +++ b/features/securebackup/impl/src/main/res/values-es/translations.xml @@ -18,7 +18,7 @@ "¿Estás seguro de que quieres desactivar la copia de seguridad?" "Obtén una nueva clave de recuperación si has perdido la que tenías. Después de cambiar la clave de recuperación, la anterior dejará de funcionar." "Generar una nueva clave de recuperación" - "Asegúrate de poder guardar su clave de recuperación en un lugar seguro" + "Asegúrate de que puedes guardar tu clave de recuperación en algún lugar seguro" "Clave de recuperación cambiada" "¿Cambiar la clave de recuperación?" "Introduce tu clave de recuperación para confirmar el acceso a la copia de seguridad de tú chat." 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 ae9268879f..f67d204a54 100644 --- a/features/securebackup/impl/src/main/res/values-et/translations.xml +++ b/features/securebackup/impl/src/main/res/values-et/translations.xml @@ -2,9 +2,12 @@ "Lülita võtmete varundamine välja" "Lülita võtmete varundamine sisse" - "Varundamine tagab, et sinu sõnumite ajalugu on alati loetav. %1$s." - "Varundus" + "Salvesta oma krüptoidentiteet ja sõnumite krüptovõtmed turvaliselt serveris. See tagab, et sinu sõnumite ajalugu on alati loetav, ka kõikides uutes seadmetes. %1$s." + "Krüptovõtmete varundus" + "Laadi siin seadmes leiduvad võtmed üles" + "Luba krüptovõtmete salvestamine" "Muuda taastevõtit" + "Kui sa oled kaotanud ligipääsu kõikidele oma olemasolevatele seadmetele, siis sa saad taastevõtme abil taastada ligipääsu oma krüptoidentiteedile ja sõnumite ajaloole." "Sisesta taastevõti" "Sinu vestluste krüptograafia varukoopia pole hetkel enam sünkroonis." "Seadista krüptovõtmete varundus" @@ -31,7 +34,7 @@ "Kas sa oled kindel, et soovid varunduse välja lülitada?" "Kui oled vana taastevõtme kaotanud, siis loo uus. Peale seda muudatust vana taastevõti enam ei tööta." "Loo uus taastevõti" - "Palun hoia taastevõtit turvaliselt, näiteks vana kooli seifis või digitaalses salasõnalaekas" + "Ära jaga seda kellegagi" "Taastevõti on muudetud" "Kas muudame taastevõtme?" "Loo uus taastevõti" @@ -46,14 +49,14 @@ "Taastevõti on kopeeritud lõikelauale" "Loome…" "Salvesta taastevõti" - "Palun märgi taastevõti üles ja hoia seda turvaliselt, näiteks vana kooli seifis või digitaalses salasõnalaekas" + "Palun märgi taastevõti üles ja hoia seda turvaliselt, näiteks digitaalses salasõnalaekas, krüptitud märkmetes või vana kooli seifis." "Taastevõtme kopeerimiseks puuduta" "Salvesta oma taastevõti" "Peale seda sammu sul pole enam ligipääsu oma taastevõtmele." "Kas sa oled oma taastevõtme talletanud?" "Sinu vestluste varundus on krüptitud taastevõtmega. Kui peale muutusi peaks vaja olema uut taastevõtit, siis palun kasuta valikut „Loo taastevõti“" "Loo oma taastevõti" - "Palun hoia taastevõtit turvaliselt, näiteks vana kooli seifis või digitaalses salasõnalaekas" + "Ära jaga seda kellegagi" "Andmete taastamise seadistamine õnnestus" "Seadista andmete taastamine" "Jah, lähtesta nüüd" 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 83775f532f..9c1e59800e 100644 --- a/features/securebackup/impl/src/main/res/values-in/translations.xml +++ b/features/securebackup/impl/src/main/res/values-in/translations.xml @@ -2,8 +2,8 @@ "Matikan pencadangan" "Nyalakan pencadangan" - "Pencadangan memastikan bahwa Anda tidak akan kehilangan riwayat pesan Anda. %1$s." - "Pencadangan" + "Simpan identitas kriptografi Anda dan kunci-kunci pesan secara aman di server. Ini akan memungkinkan Anda untuk melihat riwayat pesan Anda di perangkat yang baru. %1$s." + "Penyimpanan kunci" "Ubah kunci pemulihan" "Masukkan kunci pemulihan" "Pencadangan percakapan Anda saat ini tidak tersinkron." @@ -16,6 +16,12 @@ "Ikuti petunjuk untuk membuat kunci pemulihan baru" "Simpan kunci pemulihan baru Anda dalam pengelola kata sandi atau catatan terenkripsi" "Atur ulang enkripsi untuk akun Anda menggunakan perangkat lain" + "Lanjutkan pengaturan ulang" + "Detail akun, kontak, preferensi, dan daftar obrolan Anda akan disimpan" + "Anda akan kehilangan riwayat pesan yang hanya disimpan di server" + "Anda perlu memverifikasi semua perangkat dan kontak yang ada lagi" + "Hanya atur ulang identitas Anda jika Anda tidak memiliki akses ke perangkat lain yang masuk dan Anda kehilangan kunci pemulihan." + "Tidak dapat mengonfirmasi? Anda perlu mengatur ulang identitas Anda." "Matikan" "Anda akan kehilangan pesan terenkripsi jika Anda keluar dari semua perangkat." "Apakah Anda yakin ingin mematikan pencadangan?" @@ -25,7 +31,7 @@ "Apakah Anda yakin ingin mematikan pencadangan?" "Dapatkan kunci pemulihan yang baru jika Anda kehilangan kunci pemulihan saat ini. Setelah mengganti kunci pemulihan Anda, yang lama tidak akan bekerja lagi." "Buat kunci pemulihan baru" - "Pastikan Anda dapat menyimpan kunci pemulihan Anda di tempat yang aman" + "Jangan bagikan ini kepada siapa pun!" "Kunci pemulihan diganti" "Ubah kunci pemulihan?" "Buat kunci pemulihan baru" @@ -40,15 +46,21 @@ "Kunci pemulihan disalin" "Membuat…" "Simpan kunci pemulihan" - "Tuliskan kunci pemulihan Anda di tempat yang aman atau simpan di pengelola kata sandi." + "Tuliskan kunci pemulihan ini di tempat yang aman, seperti pengelola kata sandi, catatan terenkripsi, atau brankas fisik." "Ketuk untuk menyalin kunci pemulihan" "Simpan kunci pemulihan Anda" "Anda tidak akan dapat mengakses kunci pemulihan Anda setelah langkah ini." "Apakah Anda sudah menyimpan kunci pemulihan Anda?" "Pencadangan percakapan Anda sedang dilindungi oleh sebuah kunci pemulihan. Jika Anda perlu kunci pemulihan yang baru setelah penyiapan, Anda dapat membuat ulang dengan memilih \'Ubah kunci pemulihan\'." "Buat kunci pemulihan Anda" - "Pastikan Anda dapat menyimpan kunci pemulihan Anda di tempat yang aman" + "Jangan bagikan ini kepada siapa pun!" "Penyiapan pemulihan berhasil" "Siapkan pemulihan" + "Ya, atur ulang sekarang" + "Proses ini tidak dapat diurungkan." + "Apakah Anda yakin ingin mengatur ulang identitas Anda?" + "Terjadi kesalahan yang tidak diketahui. Harap periksa apakah kata sandi akun Anda sudah benar dan coba lagi." "Masukkan…" + "Konfirmasikan bahwa Anda ingin mengatur ulang identitas Anda." + "Masukkan kata sandi akun Anda untuk melanjutkan" 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 23ce94656e..9ca1e9a44a 100644 --- a/features/securebackup/impl/src/main/res/values-pl/translations.xml +++ b/features/securebackup/impl/src/main/res/values-pl/translations.xml @@ -31,7 +31,7 @@ "Czy na pewno chcesz wyłączyć backup?" "Uzyskaj nowy klucz przywracania, jeśli straciłeś dostęp do obecnego. Po zmianie klucza przywracania stary nie będzie już działał." "Generuj nowy klucz przywracania" - "Upewnij się, że klucz przywracania będzie trzymany w bezpiecznym miejscu" + "Upewnij się, że klucz przywracania możesz przechowywać w bezpiecznym miejscu" "Zmieniono klucz przywracania" "Zmienić klucz przywracania?" "Utwórz nowy klucz przywracania" 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 7c78badea8..f69fa99951 100644 --- a/features/securebackup/impl/src/main/res/values-ru/translations.xml +++ b/features/securebackup/impl/src/main/res/values-ru/translations.xml @@ -2,16 +2,13 @@ "Отключить резервное копирование" "Включить резервное копирование" - "Резервное копирование гарантирует, что вы не потеряете историю сообщений. %1$s." - "Резервное копирование" - - "Изменить " - "ключ восстановления" - - - "Введите " - "ключ восстановления" - + "Сохраните вашу криптографическую идентификацию и ключи сообщений в безопасности на сервере. Это позволит вам просматривать историю сообщений на любых новых устройствах.%1$s ." + "Хранилище ключей" + "Загрузить ключи с этого устройства" + "Разрешить хранение ключей" + "Изменить ключ восстановления" + "Если вы потеряли все существующие устройства, то сможете восстановить свою криптографическую идентификацию и историю сообщений с помощью ключа восстановления" + "Введите ключ восстановления" "В настоящее время резервная копия ваших чатов не синхронизирована." "Настроить восстановление" "Получите доступ к зашифрованным сообщениям, если вы потеряете все свои устройства или выйдете из системы %1$s отовсюду." @@ -20,11 +17,7 @@ "Когда вас попросят подтвердить устройство, выберите %1$s" "“Сбросить все”" "Следуйте инструкциям, чтобы создать новый ключ восстановления" - - "Сохраните новый " - "ключ восстановления" - " в менеджере паролей или зашифрованной заметке" - + "Сохраните новый ключ восстановления в менеджере паролей или зашифрованной заметке" "Сбросьте шифрование вашей учетной записи с помощью другого устройства." "Продолжить сброс" "Данные вашей учетной записи, контакты, настройки и список чатов будут сохранены" @@ -40,60 +33,30 @@ "Вы потеряете доступ к зашифрованным сообщениям, если выйдете из %1$s везде" "Вы действительно хотите отключить резервное копирование?" "Получите новый ключ восстановления, если вы потеряли существующий. После смены ключа восстановления старый ключ больше не будет работать." - - "Создать новый " - "ключ восстановления" - - "Убедитесь, что вы можете хранить ключ восстановления в безопасном месте" - - "Ключ восстановления" - " изменен" - + "Создать новый ключ восстановления" + "Не сообщайте эту информацию никому!" + "Ключ восстановления изменен" "Изменить ключ восстановления?" - - "Создать новый " - "ключ восстановления" - + "Создать новый ключ восстановления" "Убедитесь, что никто не видит этот экран!" "Пожалуйста, попробуйте еще раз, чтобы подтвердить доступ к резервной копии чата." - - "Неверный " - "ключ восстановления" - + "Неверный ключ восстановления" "Если у вас есть пароль для восстановления или секретный пароль/ключ, это тоже сработает." "Вход…" "Потеряли ключ восстановления?" - - "Ключ восстановления" - " подтвержден" - - - "Введите " - "ключ восстановления" - - - "Ключ восстановления" - " скопирован" - + "Ключ восстановления подтвержден" + "Введите ключ восстановления" + "Ключ восстановления скопирован" "Генерация…" - - "Сохранить " - "ключ восстановления" - - "Запишите ключ восстановления в безопасном месте или сохраните его в менеджере паролей." + "Сохранить ключ восстановления" + "Запишите данный ключ восстановления в безопасном месте, например в диспетчере паролей, зашифрованной заметке или физическом сейфе." "Нажмите, чтобы скопировать ключ восстановления" - - "Сохраните " - "ключ восстановления" - + "Сохраните ключ восстановления" "После этого шага вы не сможете получить доступ к новому ключу восстановления." "Вы сохранили ключ восстановления?" "Резервная копия чата защищена ключом восстановления. Если после настройки вам понадобится новый ключ восстановления, вы можете создать его заново, выбрав «Изменить ключ восстановления»." - - "Создайте " - "ключ восстановления" - - "Убедитесь, что вы можете хранить ключ восстановления в безопасном месте" + "Создайте ключ восстановления" + "Не сообщайте эту информацию никому!" "Настройка восстановления выполнена успешно" "Настроить восстановление" "Да, сбросить сейчас" 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 d157a5fcac..1d04001c76 100644 --- a/features/securebackup/impl/src/main/res/values-sk/translations.xml +++ b/features/securebackup/impl/src/main/res/values-sk/translations.xml @@ -2,9 +2,12 @@ "Vypnúť zálohovanie" "Zapnúť zálohovanie" - "Zálohovanie zaisťuje, že nestratíte históriu správ. %1$s." - "Zálohovanie" + "Uložte svoju kryptografickú identitu a kľúče správ bezpečne na server. To vám umožní zobraziť históriu správ na všetkých nových zariadeniach. %1$s." + "Úložisko kľúčov" + "Nahrať kľúče z tohto zariadenia" + "Povoliť úložisko kľúčov" "Zmeniť kľúč na obnovenie" + "Obnovte svoju kryptografickú totožnosť a históriu správ pomocou kľúča na obnovenie, ak ste stratili všetky svoje existujúce zariadenia." "Zadajte kľúč na obnovenie" "Vaša záloha konverzácie nie je momentálne synchronizovaná." "Nastaviť obnovovanie" @@ -31,7 +34,7 @@ "Ste si istí, že chcete vypnúť zálohovanie?" "Získajte nový kľúč na obnovenie, ak ste stratili svoj existujúci. Po zmene kľúča na obnovenie už starý kľúč nebude fungovať." "Vygenerovať nový kľúč na obnovenie" - "Uistite sa, že kľúč na obnovenie môžete uložiť niekde v bezpečí" + "Nezdieľajte to s nikým!" "Kľúč na obnovenie bol zmenený" "Zmeniť kľúč na obnovenie?" "Vytvoriť nový kľúč na obnovenie" @@ -46,14 +49,14 @@ "Skopírovaný kľúč na obnovenie" "Generovanie…" "Uložiť kľúč na obnovenie" - "Zapíšte si kľúč na obnovenie na bezpečné miesto alebo ho uložte do správcu hesiel." + "Zapíšte si tento kľúč na obnovenie na bezpečné miesto, napríklad do správcu hesiel, šifrovanej poznámky alebo fyzického trezoru." "Ťuknutím skopírujte kľúč na obnovenie" "Uložte svoj kľúč na obnovenie" "Po tomto kroku nebudete mať prístup k novému kľúču na obnovenie." "Uložili ste kľúč na obnovenie?" "Vaša záloha konverzácie je chránená kľúčom na obnovenie. Ak potrebujete nový kľúč na obnovenie, po nastavení si ho môžete znova vytvoriť výberom položky „Zmeniť kľúč na obnovenie“." "Vygenerujte si váš kľúč na obnovenie" - "Uistite sa, že kľúč na obnovenie môžete uložiť niekde v bezpečí" + "Nezdieľajte to s nikým!" "Úspešné nastavenie obnovy" "Nastaviť obnovenie" "Áno, znovu nastaviť teraz" diff --git a/features/securebackup/impl/src/main/res/values-sv/translations.xml b/features/securebackup/impl/src/main/res/values-sv/translations.xml index 7b2364f450..5d1bbeea79 100644 --- a/features/securebackup/impl/src/main/res/values-sv/translations.xml +++ b/features/securebackup/impl/src/main/res/values-sv/translations.xml @@ -3,7 +3,7 @@ "Stäng av säkerhetskopiering" "Slå på säkerhetskopiering" "Säkerhetskopior ser till att du inte blir av med din meddelandehistorik. %1$s." - "Säkerhetskopia" + "Nyckellagring" "Byt återställningsnyckel" "Ange återställningsnyckel" "Din chattsäkerhetskopia är för närvarande osynkroniserad." 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 8c59f0b0f8..8f6ef15eb0 100644 --- a/features/securebackup/impl/src/main/res/values-zh/translations.xml +++ b/features/securebackup/impl/src/main/res/values-zh/translations.xml @@ -31,7 +31,7 @@ "您确定要关闭备份吗?" "如果您丢失了现有的恢复密钥,请获取新的恢复密钥。更改恢复密钥后,您的旧密钥将不再起作用。" "生成新的恢复密钥" - "确保您可以将恢复密钥存储在安全的地方" + "确保将恢复密钥存储在安全的地方" "恢复密钥已更改" "更改恢复密钥?" "创建新的恢复密钥" diff --git a/features/securebackup/impl/src/main/res/values/localazy.xml b/features/securebackup/impl/src/main/res/values/localazy.xml index 00802442d7..3fb2c3b027 100644 --- a/features/securebackup/impl/src/main/res/values/localazy.xml +++ b/features/securebackup/impl/src/main/res/values/localazy.xml @@ -2,9 +2,12 @@ "Turn off backup" "Turn on backup" - "Backup ensures that you don\'t lose your message history. %1$s." - "Backup" + "Store your cryptographic identity and message keys securely on the server. This will allow you to view your message history on any new devices. %1$s." + "Key storage" + "Upload keys from this device" + "Allow key storage" "Change recovery key" + "Recover your cryptographic identity and message history with a recovery key if you’ve lost all your existing devices." "Enter recovery key" "Your chat backup is currently out of sync." "Set up recovery" @@ -31,7 +34,7 @@ "Are you sure you want to turn off backup?" "Get a new recovery key if you\'ve lost your existing one. After changing your recovery key, your old one will no longer work." "Generate a new recovery key" - "Make sure you can store your recovery key somewhere safe" + "Do not share this with anyone!" "Recovery key changed" "Change recovery key?" "Create new recovery key" @@ -46,14 +49,14 @@ "Copied recovery key" "Generating…" "Save recovery key" - "Write down your recovery key somewhere safe or save it in a password manager." + "Write down this recovery key somewhere safe, like a password manager, encrypted note, or a physical safe." "Tap to copy recovery key" - "Save your recovery key" + "Save your recovery key somewhere safe" "You will not be able to access your new recovery key after this step." "Have you saved your recovery key?" "Your chat backup is protected by a recovery key. If you need a new recovery key after setup you can recreate by selecting ‘Change recovery key’." "Generate your recovery key" - "Make sure you can store your recovery key somewhere safe" + "Do not share this with anyone!" "Recovery setup successful" "Set up recovery" "Yes, reset now" diff --git a/features/userprofile/shared/src/main/res/values-sk/translations.xml b/features/userprofile/shared/src/main/res/values-sk/translations.xml index 4055bcd27d..285560f088 100644 --- a/features/userprofile/shared/src/main/res/values-sk/translations.xml +++ b/features/userprofile/shared/src/main/res/values-sk/translations.xml @@ -13,5 +13,7 @@ "Odblokovať" "Všetky správy od nich budete môcť opäť vidieť." "Odblokovať používateľa" + "Použite webovú aplikáciu na overenie tohto používateľa." + "Overiť %1$s" "Pri pokuse o spustenie konverzácie sa vyskytla chyba" diff --git a/features/verifysession/impl/src/main/res/values-cs/translations.xml b/features/verifysession/impl/src/main/res/values-cs/translations.xml index 61946555a5..02a83751a7 100644 --- a/features/verifysession/impl/src/main/res/values-cs/translations.xml +++ b/features/verifysession/impl/src/main/res/values-cs/translations.xml @@ -26,8 +26,12 @@ "Porovnejte jedinečnou sadu emotikonů." "Porovnejte jedinečné emotikony a ujistěte se, že jsou zobrazeny ve stejném pořadí." "Přihlášen" + "Buď vypršel časový limit požadavku, požadavek byl zamítnut, nebo došlo k nesouladu ověření." + "Ověření se nezdařilo" "Pokračujte, pouze pokud jste toto ověření zahájili." "Ověřte druhé zařízení, aby byla vaše historie zpráv zabezpečená." + "Nyní můžete bezpečně číst nebo odesílat zprávy na svém druhém zařízení." + "Zařízení ověřeno" "Požadováno ověření" "Neshodují se" "Shodují se" diff --git a/features/verifysession/impl/src/main/res/values-el/translations.xml b/features/verifysession/impl/src/main/res/values-el/translations.xml index e53bd54e00..3a956d01e8 100644 --- a/features/verifysession/impl/src/main/res/values-el/translations.xml +++ b/features/verifysession/impl/src/main/res/values-el/translations.xml @@ -24,6 +24,7 @@ "Αναμονή για αντιστοίχιση" "Σύγκρινε ένα μοναδικό σύνολο emojis." "Σύγκρινε τα μοναδικά emoji και σιγουρέψου ότι εμφανίζονται με την ίδια σειρά." + "Ζητήθηκε επαλήθευση" "Δεν ταιριάζουν" "Ταιριάζουν" "Αποδέξου το αίτημα για να ξεκινήσεις τη διαδικασία επαλήθευσης στην άλλη συνεδρία σου για να συνεχίσεις." diff --git a/features/verifysession/impl/src/main/res/values-et/translations.xml b/features/verifysession/impl/src/main/res/values-et/translations.xml index 24ac0736c4..94464855ec 100644 --- a/features/verifysession/impl/src/main/res/values-et/translations.xml +++ b/features/verifysession/impl/src/main/res/values-et/translations.xml @@ -17,7 +17,7 @@ "Võrdle numbreid" "Sinu uus sessioon on nüüd verifitseeritud. Sellel sessioonil on nüüd ligipääs sinu krüptitud sõnumitele ja teised osapooled näevad teda usaldusväärsena." "Sisesta taastevõti" - "Kas verifitseerimine aegus, teine osapool keeldus vastanast või tekkis vastuste mittevastavus." + "Kas verifitseerimine aegus, teine osapool keeldus vastamast või tekkis vastuste mittevastavus." "Saamaks ligipääsu krüptitud sõnumite ajaloole tõesta et tegemist on sinuga." "Ava olemasolev sessioon" "Proovi verifitseerimist uuesti" @@ -26,8 +26,12 @@ "Võrdle unikaalset emojide kombinatsiooni" "Võrdle unikaalset emojide kombinatsiooni ning kontrolli, et nad on täpselt samas järjekorras." "Sisselogitud" + "Kas verifitseerimine aegus, teine osapool keeldus vastamast või tekkis vastuste mittevastavus." + "Verifitseerimine ei õnnestunud" "Jätka vaid siis, kui sina algatasid verifitseerimise." "Hoidmaks oma sõnumiajalugu turvatuna verifitseeri teine seade." + "Võid nüüd sõnumeid oma teises seadmes turvaliselt saata ja vastu võtta." + "Seade on verifitseeritud" "Verifitseerimispäring" "Nad ei klapi omavahel" "Nad klapivad omavahel" diff --git a/features/verifysession/impl/src/main/res/values-in/translations.xml b/features/verifysession/impl/src/main/res/values-in/translations.xml index 8fe930f24f..961cc20cb3 100644 --- a/features/verifysession/impl/src/main/res/values-in/translations.xml +++ b/features/verifysession/impl/src/main/res/values-in/translations.xml @@ -1,9 +1,11 @@ + "Tidak dapat mengonfirmasi?" "Buat kunci pemulihan baru" "Verifikasi perangkat ini untuk menyiapkan perpesanan aman." "Konfirmasi bahwa ini Anda" "Gunakan perangkat lain" + "Gunakan kunci pemulihan" "Sekarang Anda dapat membaca atau mengirim pesan dengan aman, dan siapa pun yang mengobrol dengan Anda juga dapat mempercayai perangkat ini." "Perangkat terverifikasi" "Gunakan perangkat lain" diff --git a/features/verifysession/impl/src/main/res/values-ru/translations.xml b/features/verifysession/impl/src/main/res/values-ru/translations.xml index ff8574487a..cc08320dfe 100644 --- a/features/verifysession/impl/src/main/res/values-ru/translations.xml +++ b/features/verifysession/impl/src/main/res/values-ru/translations.xml @@ -1,17 +1,14 @@ "Не можете подтвердить?" - - "Создайте новый " - "ключ восстановления" - + "Создайте новый ключ восстановления" "Подтвердите это устройство, чтобы настроить безопасный обмен сообщениями." "Подтвердите, что это вы" - "Используйте другое устройство" + "Использовать другое устройство" "Используйте recovery key" "Теперь вы можете безопасно читать и отправлять сообщения, и все, с кем вы общаетесь в чате, также могут доверять этому устройству." "Устройство проверено" - "Используйте другое устройство" + "Использовать другое устройство" "Ожидание на другом устройстве…" "Похоже, что-то не так. Время ожидания запроса либо истекло, либо запрос был отклонен." "Убедитесь, что приведенные ниже емоджи совпадают с емоджи показанными во время другого сеанса." @@ -19,22 +16,23 @@ "Убедитесь, что приведенные ниже числа совпадают с цифрами, показанными в другом сеансе." "Сравните числа" "Ваш новый сеанс подтвержден. У него есть доступ к вашим зашифрованным сообщениям, и другие пользователи увидят его как доверенное." - - "Введите " - "ключ восстановления" - + "Введите ключ восстановления" "Запрос был отклонен, так как время ожидания запроса истекло, либо произошла ошибка при проверке." "Чтобы получить доступ к зашифрованной истории сообщений, докажите, что это вы." "Открыть существующий сеанс" - "Повторить проверку" + "Повторить подтверждение" "Я готов" - "Ожидание соответствия" + "Ожидание соответствия…" "Сравните уникальный набор эмодзи." "Сравните уникальные смайлики, убедившись, что они расположены в том же порядке." "Вход выполнен" - "Продолжайте только в том случае, если вы инициировали эту проверку." + "Время ожидания подтверждения истекло, запрос был отклонён, или при подтверждении произошло несоответствие." + "Сбой проверки" + "Продолжайте только если вы ожидали данное подтверждение." "Чтобы сохранить историю сообщений в безопасности, проверьте другое устройство." - "Запрос на верификация" + "Теперь вы можете безопасно читать или отправлять сообщения на другом устройстве." + "Устройство проверено" + "Запрошено подтверждение" "Они не совпадают" "Они совпадают" "Для продолжения работы примите запрос на запуск процесса проверки в другом сеансе." diff --git a/features/verifysession/impl/src/main/res/values-sk/translations.xml b/features/verifysession/impl/src/main/res/values-sk/translations.xml index 8d32f2d362..0bee05d7c7 100644 --- a/features/verifysession/impl/src/main/res/values-sk/translations.xml +++ b/features/verifysession/impl/src/main/res/values-sk/translations.xml @@ -17,6 +17,7 @@ "Porovnať čísla" "Vaša nová relácia je teraz overená. Má prístup k vašim zašifrovaným správam a ostatní používatelia ju budú vidieť ako dôveryhodnú." "Zadajte kľúč na obnovenie" + "Buď žiadosť vypršala, žiadosť bola zamietnutá, alebo došlo k nesúladu overovania." "Dokážte, že ste to vy, aby ste získali prístup k histórii vašich zašifrovaných správ." "Otvoriť existujúcu reláciu" "Zopakovať overenie" @@ -24,6 +25,14 @@ "Čaká sa na zhodu" "Porovnajte jedinečnú sadu emotikonov." "Porovnajte jedinečné emotikony a uistite sa, že sú zobrazené v rovnakom poradí." + "Prihlásený" + "Buď žiadosť vypršala, žiadosť bola zamietnutá, alebo došlo k nesúladu overovania." + "Overenie zlyhalo" + "Pokračujte iba vtedy, ak ste toto overenie začali." + "Overte druhé zariadenie, aby bola vaša história správ zabezpečená." + "Teraz môžete bezpečne čítať alebo odosielať správy na svojom druhom zariadení." + "Zariadenie overené" + "Vyžadované overenie" "Nezhodujú sa" "Zhodujú sa" "Ak chcete pokračovať, prijmite žiadosť o spustenie procesu overenia vo vašej druhej relácii." diff --git a/features/verifysession/impl/src/main/res/values/localazy.xml b/features/verifysession/impl/src/main/res/values/localazy.xml index be10ce5aa1..f67a2024b9 100644 --- a/features/verifysession/impl/src/main/res/values/localazy.xml +++ b/features/verifysession/impl/src/main/res/values/localazy.xml @@ -22,12 +22,16 @@ "Open an existing session" "Retry verification" "I am ready" - "Waiting to match" + "Waiting to match…" "Compare a unique set of emojis." "Compare the unique emoji, ensuring they appear in the same order." "Signed in" + "Either the request timed out, the request was denied, or there was a verification mismatch." + "Verification failed" "Only continue if you initiated this verification." "Verify the other device to keep your message history secure." + "Now you can read or send messages securely on your other device." + "Device verified" "Verification requested" "They don’t match" "They match" diff --git a/libraries/eventformatter/impl/src/main/res/values-in/translations.xml b/libraries/eventformatter/impl/src/main/res/values-in/translations.xml index ae81eab3f1..3cf09b572f 100644 --- a/libraries/eventformatter/impl/src/main/res/values-in/translations.xml +++ b/libraries/eventformatter/impl/src/main/res/values-in/translations.xml @@ -45,6 +45,12 @@ "Anda menghapus nama ruangan" "%1$s tidak membuat perubahan" "Anda tidak membuat perubahan" + "%1$s mengubah pesan yang disematkan" + "Anda mengubah pesan yang disematkan" + "%1$s menyematkan pesan" + "Anda menyematkan pesan" + "%1$s melepas sematan pesan" + "Anda melepas sematan pesan" "%1$s menolak undangan" "Anda menolak undangan" "%1$s mengeluarkan %2$s" diff --git a/libraries/push/impl/src/main/res/values-in/translations.xml b/libraries/push/impl/src/main/res/values-in/translations.xml index cae19d6a58..180903265f 100644 --- a/libraries/push/impl/src/main/res/values-in/translations.xml +++ b/libraries/push/impl/src/main/res/values-in/translations.xml @@ -30,6 +30,7 @@ "Balas cepat" "Mengundang Anda untuk bergabung ke ruangan" "Saya" + "%1$s disebut atau dibalas" "Anda sedang melihat pemberitahuan ini! Klik saya!" "%1$s: %2$s" "%1$s: %2$s %3$s" 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 d505937781..d85721d0ff 100644 --- a/libraries/ui-strings/src/main/res/values-cs/translations.xml +++ b/libraries/ui-strings/src/main/res/values-cs/translations.xml @@ -147,6 +147,7 @@ "(upraveno)" "Úpravy" "* %1$s %2$s" + "Šifrování" "Šifrování povoleno" "Zadejte svůj PIN" "Chyba" @@ -242,7 +243,9 @@ Důvod: %1$s." "Téma" "O čem je tato místnost?" "Nelze dešifrovat" + "Šifrováno nezabezpečeným zařízením" "Nemáte přístup k této zprávě" + "Ověřená identita odesílatele se změnila" "Pozvánky nebylo možné odeslat jednomu nebo více uživatelům." "Nelze odeslat pozvánky" "Odemknout" @@ -295,13 +298,9 @@ Důvod: %1$s." "Přístup do místnosti" "Kdokoli může požádat o vstup do místnosti, ale správce nebo moderátor bude muset žádost přijmout" "Požádat o připojení" - "Zrušit žádost" - "Ano, zrušit" - "Opravdu chcete zrušit svou žádost o vstup do této místnosti?" - "Zrušit žádost o vstup" - "Zpráva (nepovinné)" - "Pokud bude váš požadavek přijat, obdržíte pozvánku na vstup do místnosti." - "Žádost o vstup odeslána" + "Aby byla tato místnost viditelná v adresáři veřejných místností, budete potřebovat adresu místnosti." + "Adresa místnosti" + "Viditelnost místnosti" "Výběr média se nezdařil, zkuste to prosím znovu." "Nahrání média se nezdařilo, zkuste to prosím znovu." "Nahrání média se nezdařilo, zkuste to prosím znovu." @@ -331,6 +330,7 @@ Důvod: %1$s." "Načítání zprávy…" "Zobrazit vše" "Chat" + "Žádost o vstup odeslána" "Sdílet polohu" "Sdílet moji polohu" "Otevřít v Mapách Apple" 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 82737f373e..e737fa106c 100644 --- a/libraries/ui-strings/src/main/res/values-el/translations.xml +++ b/libraries/ui-strings/src/main/res/values-el/translations.xml @@ -64,6 +64,7 @@ "Ξέχασες τον κωδικό πρόσβασης;" "Προώθηση" "Πήγαινε πίσω" + "Παράβλεψη" "Πρόσκληση" "Πρόσκληση ατόμων" "Πρόσκληση ατόμων στο %1$s" @@ -138,6 +139,7 @@ "Σκοτεινό" "Σφάλμα αποκρυπτογράφησης" "Επιλογές προγραμματιστή" + "ID συσκευής" "Άμεση συνομιλία" "Να μην εμφανιστεί ξανά" "(επεξεργάστηκε)" @@ -288,7 +290,6 @@ "Πρόσβαση Δωματίου" "Οποιοσδήποτε μπορεί να ζητήσει να συμμετάσχει στο δωμάτιο, αλλά ένας διαχειριστής ή συντονιστής θα πρέπει να αποδεχθεί το αίτημα" "Αίτημα συμμετοχής" - "Μήνυμα (προαιρετικό)" "Αποτυχία επιλογής πολυμέσου, δοκίμασε ξανά." "Αποτυχία μεταφόρτωσης μέσου, δοκίμασε ξανά." "Αποτυχία μεταφόρτωσης πολυμέσων, δοκίμασε ξανά." 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 2f23722932..9f7efaef57 100644 --- a/libraries/ui-strings/src/main/res/values-et/translations.xml +++ b/libraries/ui-strings/src/main/res/values-et/translations.xml @@ -145,6 +145,7 @@ "(muudetud)" "Muutmine" "* %1$s %2$s" + "Krüptimine" "Krüptimine on kasutusel" "Sisesta oma PIN-kood" "Viga" @@ -158,6 +159,7 @@ Põhjus: %1$s." "Fail" "Fail on salvestatud kausta Allalaadimised" "Edasta sõnum" + "Sagedasti kasutatud" "GIF" "Pilt" "Vastuseks kasutajale %1$s" @@ -238,7 +240,9 @@ Põhjus: %1$s." "Teema" "Mis on selle jututoa mõte?" "Dekrüptimine ei olnud võimalik" + "Saadetud ebaturvalisest seadmest" "Sul pole ligipääsu antud sõnumile" + "Saatja verifitseeritud identiteet on muutunud" "Kutset polnud võimalik saata ühele või enamale kasutajale." "Kutse(te) saatmine ei õnnestunud" "Eemalda lukustus" @@ -291,13 +295,9 @@ Põhjus: %1$s." "Ligipääs jututoale" "Kõik võivad paluda selle jututoaga liitumist, kuid peakasutaja või moderaator peavad selle kinnitama" "Küsi võimalust liitumiseks" - "Tühista liitumispalve" - "Jah, tühista" - "Kas sa oled kindel, et soovid tühistada oma palve jututoaga liitumiseks?" - "Tühista liitumispalve" - "Selgitus (kui soovid lisada)" - "Kui sinu liitumispalvega ollakse nõus, siis saad kutse jututoaga liitumiseks." - "Liitumispalve on saadetud" + "Selleks, et see jututuba oleks nähtav jututubade avalikus kataloogis, sa vajad jututoa aadressi." + "Jututoa aadress" + "Jututoa nähtavus" "Meediafaili valimine ei õnnestunud. Palun proovi uuesti." "Meediafaili töötlemine enne üleslaadimist ei õnnestunud. Palun proovi uuesti." "Meediafaili üleslaadimine ei õnnestunud. Palun proovi uuesti." @@ -326,6 +326,7 @@ Põhjus: %1$s." "Laadime sõnumit…" "Näita kõiki" "Vestlus" + "Liitumispäring on saadetud" "Jaga asukohta" "Jaga minu asukohta" "Ava Apple Mapsis" 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 1c130c5ffb..9772173f7f 100644 --- a/libraries/ui-strings/src/main/res/values-fr/translations.xml +++ b/libraries/ui-strings/src/main/res/values-fr/translations.xml @@ -290,10 +290,6 @@ Raison: %1$s." "Accès au salon" "Tout le monde peut demander à rejoindre le salon, mais un administrateur ou un modérateur devra accepter la demande" "Demander à rejoindre" - "Annuler la demande" - "Message (facultatif)" - "Vous recevrez une invitation à rejoindre le salon si votre demande est acceptée." - "Demande de rejoindre le salon envoyée" "Échec de la sélection du média, veuillez réessayer." "Échec du traitement des médias à télécharger, veuillez réessayer." "Échec du téléchargement du média, veuillez réessayer." 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 81dade610a..0a38194f26 100644 --- a/libraries/ui-strings/src/main/res/values-hu/translations.xml +++ b/libraries/ui-strings/src/main/res/values-hu/translations.xml @@ -291,13 +291,6 @@ Ok: %1$s." "Szobahozzáférés" "Bárki kérheti, hogy csatlakozzon a szobához, de egy adminisztrátornak vagy moderátornak el kell fogadnia a kérést" "Csatlakozás kérése" - "Kérés visszavonása" - "Igen, visszavonás" - "Biztos, hogy visszavonja a szobához való csatlakozási kérését?" - "Csatlakozási kérés visszavonása" - "Üzenet (nem kötelező)" - "Ha a kérését elfogadják, meghívót kap a szobához való csatlakozáshoz." - "Csatlakozási kérés elküldve" "Nem sikerült kiválasztani a médiát, próbálja újra." "Nem sikerült feldolgozni a feltöltendő médiát, próbálja újra." "Nem sikerült a média feltöltése, próbálja újra." diff --git a/libraries/ui-strings/src/main/res/values-in/translations.xml b/libraries/ui-strings/src/main/res/values-in/translations.xml index eefb2206ff..2b245af9d1 100644 --- a/libraries/ui-strings/src/main/res/values-in/translations.xml +++ b/libraries/ui-strings/src/main/res/values-in/translations.xml @@ -34,6 +34,7 @@ "Kembali" "Panggil" "Batal" + "Batalkan untuk saat ini" "Pilih foto" "Hapus" "Tutup" @@ -78,6 +79,7 @@ "Oke" "Pengaturan" "Buka dengan" + "Sematkan" "Balas cepat" "Kutip" "Bereaksi" @@ -88,6 +90,7 @@ "Laporkan kutu" "Laporkan Konten" "Atur ulang" + "Atur ulang identitas" "Coba lagi" "Coba dekripsi ulang" "Simpan" @@ -107,6 +110,8 @@ "Ambil foto" "Ketuk untuk opsi" "Coba lagi" + "Lepaskan sematan" + "Lihat di lini masa" "Tampilkan sumber" "Ya" "Tentang" @@ -165,11 +170,13 @@ Alasan: %1$s." "Tidak ada hasil" "Tidak ada nama ruangan" "Luring" + "Lisensi sumber terbuka" "atau" "Kata sandi" "Orang" "Tautan Permanen" "Perizinan" + "Disematkan" "Mohon tunggu…" "Apakah Anda yakin ingin mengakhiri pemungutan suara ini?" "Pemungutan suara: %1$s" @@ -251,6 +258,12 @@ Alasan: %1$s." "%1$s tidak memiliki izin untuk mengakses mikrofon. Aktifkan akses untuk merekam pesan suara." "Beberapa pesan belum terkirim" "Maaf, terjadi kesalahan" + "Keaslian pesan terenkripsi ini tidak dapat dijamin pada perangkat ini." + "Dienkripsi oleh pengguna yang telah diverifikasi sebelumnya." + "Tidak dienkripsi." + "Dienkripsi oleh perangkat yang tidak dikenal atau dihapus." + "Dienkripsi oleh perangkat yang tidak diverifikasi oleh pemiliknya." + "Dienkripsi oleh pengguna yang tidak terverifikasi." "🔐️ Bergabunglah dengan saya di %1$s" "Hai, bicaralah dengan saya di %1$s: %2$s" "%1$s Android" @@ -258,8 +271,24 @@ Alasan: %1$s." "Gagal memilih media, silakan coba lagi." "Gagal memproses media untuk diunggah, silakan coba lagi." "Gagal mengunggah media, silakan coba lagi." + "Tekan pesan dan pilih “%1$s” untuk disertakan di sini." + "Sematkan pesan penting agar mudah ditemukan" + + "%1$d Pesan yang disematkan" + + "Pesan yang disematkan" + "Anda akan pergi ke akun %1$s Anda untuk mengatur ulang identitas Anda. Setelah itu Anda akan dibawa kembali ke aplikasi." + "Tidak dapat mengonfirmasi? Buka akun Anda untuk mengatur ulang identitas Anda." + "Kirim pesan saja" + "%1$s menggunakan satu atau beberapa perangkat yang belum diverifikasi. Anda tetap dapat mengirim pesan, atau Anda dapat membatalkan untuk saat ini dan mencoba lagi nanti setelah %2$s telah memverifikasi semua perangkat mereka." + "Pesan Anda tidak terkirim karena %1$s belum memverifikasi semua perangkat" + "Pesan yang disematkan" "Gagal memproses media untuk diunggah, silakan coba lagi." "Tidak dapat mengambil detail pengguna" + "%1$s dari %2$s" + "%1$s Pesan yang disematkan" + "Memuat pesan…" + "Lihat Semua" "Obrolan" "Bagikan lokasi" "Bagikan lokasi saya" @@ -267,6 +296,8 @@ Alasan: %1$s." "Buka di Google Maps" "Buka di OpenStreetMap" "Bagikan lokasi ini" + "Pesan tidak terkirim karena identitas terverifikasi %1$s telah berubah." + "Pesan tidak terkirim karena %1$s belum memverifikasi semua perangkat." "Lokasi" "Versi: %1$s (%2$s)" "id" 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 121a5f56c3..fd7ef45963 100644 --- a/libraries/ui-strings/src/main/res/values-pt/translations.xml +++ b/libraries/ui-strings/src/main/res/values-pt/translations.xml @@ -290,10 +290,6 @@ Razão: %1$s." "Acesso à sala" "Qualquer pessoa pode pedir para entrar na sala, mas um administrador ou um moderador terá de aceitar o pedido" "Pedir para participar" - "Cancelar pedido" - "Mensagem (opcional)" - "Irá receber um convite para participar na sala se seu pedido for aceite." - "Pedido de adesão enviado" "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." diff --git a/libraries/ui-strings/src/main/res/values-ru/translations.xml b/libraries/ui-strings/src/main/res/values-ru/translations.xml index 4628cbf0b3..6b2c5a99e5 100644 --- a/libraries/ui-strings/src/main/res/values-ru/translations.xml +++ b/libraries/ui-strings/src/main/res/values-ru/translations.xml @@ -42,7 +42,7 @@ "Выбрать фото" "Очистить" "Закрыть" - "Полная проверка" + "Завершите подтверждение" "Подтвердить" "Подтвердите пароль" "Продолжить" @@ -51,7 +51,7 @@ "Скопировать ссылку в сообщение" "Создать" "Создать комнату" - "Деактивировать" + "Отключить" "Отключить учётную запись" "Отклонить" "Удалить опрос" @@ -78,7 +78,7 @@ "Покинуть беседу" "Покинуть комнату" "Загрузить еще" - "Настройки аккаунта" + "Настройки учетной записи" "Управление устройствами" "Сообщение" "Далее" @@ -147,6 +147,7 @@ "(изменено)" "Редактирование" "%1$s%2$s" + "Шифрование" "Шифрование включено" "Введите свой PIN-код" "Ошибка" @@ -160,6 +161,7 @@ "Файл" "Файл сохранен в «Загрузки»" "Переслать сообщение" + "Часто используемые" "GIF" "Изображения" "В ответ на %1$s" @@ -186,7 +188,7 @@ "Лицензии с открытым исходным кодом" "или" "Пароль" - "Люди" + "Пользователи" "Постоянная ссылка" "Разрешение" "Закрепленный" @@ -203,9 +205,7 @@ "Политика конфиденциальности" "Реакция" "Реакции" - - "Ключ восстановления" - + "Ключ восстановления" "Обновление…" "Отвечает на %1$s" "Сообщить об ошибке" @@ -244,15 +244,17 @@ "Тема" "О чем эта комната?" "Невозможно расшифровать" + "Отправлено с незащищенного устройства" "Вы не имеете доступа к этому сообщению" + "Подтвержденная личность отправителя изменилась" "Не удалось отправить приглашения одному или нескольким пользователям." "Не удалось отправить приглашение(я)" "Разблокировать" "Вкл. звук" "Неподдерживаемое событие" "Имя пользователя" - "Проверка отменена" - "Проверка завершена" + "Подтверждение отменено" + "Подтверждение завершено" "Сбой проверки" "Проверено" "Подтверждение устройства" @@ -297,13 +299,9 @@ "Доступ в комнату" "Любой желающий может подать заявку на присоединение к комнате, но администратор или модератор должен будет принять запрос." "Попросить присоединиться" - "Отменить запрос" - "Да, отменить" - "Вы действительно хотите отменить заявку на вступление в эту комнату?" - "Отменить запрос на присоединение" - "Сообщение (опционально)" - "Вы получите приглашение присоединиться к комнате, как только ваш запрос будет принят." - "Запрос на присоединение отправлен" + "Чтобы эта комната была видна в каталоге общедоступных, вам необходим ее адрес" + "Адрес комнаты" + "Видимость комнаты" "Не удалось выбрать носитель, попробуйте еще раз." "Не удалось обработать медиафайл для загрузки, попробуйте еще раз." "Не удалось загрузить медиафайлы, попробуйте еще раз." @@ -317,7 +315,7 @@ "Закрепленные сообщения" "Вы собираетесь перейти в свою учетную запись %1$s, чтобы сбросить идентификацию. После этого вы вернетесь в приложение." "Не можете подтвердить? Перейдите в свою учетную запись, чтобы сбросить свою идентификацию." - "Отозвать верификацию и отправить" + "Отозвать статус и отправить" "Вы можете отозвать свою верификацию и отправить это сообщение в любом случае или вы можете отменить ее сейчас и повторить попытку позже после повторной верификации %1$s." "Ваше сообщение не было отправлено, потому что изменилась подтвержденная личность %1$s" "Отправь сообщение в любом случае" @@ -333,6 +331,7 @@ "Загрузка сообщения…" "Посмотреть все" "Чат" + "Запрос на присоединение отправлен" "Поделиться местоположением" "Поделиться моим местоположением" "Открыть в Apple Maps" 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 665a23b421..3df443c6cf 100644 --- a/libraries/ui-strings/src/main/res/values-sk/translations.xml +++ b/libraries/ui-strings/src/main/res/values-sk/translations.xml @@ -66,6 +66,7 @@ "Zabudnuté heslo?" "Preposlať" "Ísť späť" + "Ignorovať" "Pozvať" "Pozvať ľudí" "Pozvať ľudí do %1$s" @@ -140,11 +141,13 @@ "Tmavý" "Chyba dešifrovania" "Možnosti pre vývojárov" + "ID zariadenia" "Priama konverzácia" "Nezobrazovať toto znova" "(upravené)" "Upravuje sa" "* %1$s %2$s" + "Šifrovanie" "Šifrovanie zapnuté" "Zadajte svoj PIN" "Chyba" @@ -240,7 +243,9 @@ Dôvod: %1$s." "Téma" "O čom je táto miestnosť?" "Nie je možné dešifrovať" + "Odoslané z nezabezpečeného zariadenia" "Nemáte prístup k tejto správe" + "Overená totožnosť odosielateľa sa zmenila" "Pozvánky nebolo možné odoslať jednému alebo viacerým používateľom." "Nie je možné odoslať pozvánku/ky" "Odomknúť" @@ -249,6 +254,8 @@ Dôvod: %1$s." "Používateľské meno" "Overovanie zrušené" "Overovanie je dokončené" + "Overenie zlyhalo" + "Overené" "Overiť zariadenie" "Video" "Hlasová správa" @@ -256,6 +263,8 @@ Dôvod: %1$s." "Čaká sa na dešifrovací kľúč" "Vy" "Zdá sa, že totožnosť používateľa %1$s sa zmenila.%2$s" + "Zdá sa, že identita %2$s používateľa %1$s sa zmenila. %3$s" + "(%1$s)" "Potvrdenie" "Chyba" "Úspech" @@ -284,6 +293,14 @@ Dôvod: %1$s." "Ahoj, porozprávajte sa so mnou na %1$s: %2$s" "%1$s Android" "Zúrivo potriasť pre nahlásenie chyby" + "Do tejto miestnosti sa môže pripojiť ktokoľvek" + "Ktokoľvek" + "Prístup do miestnosti" + "Ktokoľvek môže požiadať o pripojenie sa k miestnosti, ale administrátor alebo moderátor bude musieť žiadosť schváliť" + "Požiadať o pripojenie" + "Aby bola táto miestnosť viditeľná v adresári verejných miestností, budete potrebovať adresu miestnosti." + "Adresa miestnosti" + "Viditeľnosť miestnosti" "Nepodarilo sa vybrať médium, skúste to prosím znova." "Nepodarilo sa spracovať médiá na odoslanie, skúste to prosím znova." "Nepodarilo sa nahrať médiá, skúste to prosím znova." @@ -313,6 +330,7 @@ Dôvod: %1$s." "Načítava sa správa…" "Zobraziť všetko" "Konverzácia" + "Žiadosť o vstup odoslaná" "Zdieľať polohu" "Zdieľať moju polohu" "Otvoriť v Apple Maps" diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index 1103c70931..25818fc017 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -145,6 +145,7 @@ "(edited)" "Editing" "* %1$s %2$s" + "Encryption" "Encryption enabled" "Enter your PIN" "Error" @@ -158,6 +159,7 @@ Reason: %1$s." "File" "File saved to Downloads" "Forward message" + "Frequently used" "GIF" "Image" "In reply to %1$s" @@ -293,13 +295,9 @@ Reason: %1$s." "Room Access" "Anyone can ask to join the room but an administrator or a moderator will have to accept the request" "Ask to join" - "Cancel request" - "Yes, cancel" - "Are you sure that you want to cancel your request to join this room?" - "Cancel request to join" - "Message (optional)" - "You will receive an invite to join the room if your request is accepted." - "Request to join sent" + "In order for this room to be visible in the public room directory, you will need a room address." + "Room address" + "Room visibility" "Failed selecting media, please try again." "Failed processing media to upload, please try again." "Failed uploading media, please try again." @@ -328,6 +326,7 @@ Reason: %1$s." "Loading message…" "View All" "Chat" + "Request to join sent" "Share location" "Share my location" "Open in Apple Maps" 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 2fa0d2e1af..ab51fa5996 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:9c0a6df24a5249610107acdf80cda90102e9927aef6d87d1b8101cdf8da30cec -size 24847 +oid sha256:b59a1a86287872774c28b99a9a0fd5f554cc6b9558228d17540e80727fdbbb07 +size 24984 diff --git a/screenshots/de/features.analytics.impl_AnalyticsOptInView_Day_0_de.png b/screenshots/de/features.analytics.impl_AnalyticsOptInView_Day_0_de.png index 77b9be43bd..78312c866d 100644 --- a/screenshots/de/features.analytics.impl_AnalyticsOptInView_Day_0_de.png +++ b/screenshots/de/features.analytics.impl_AnalyticsOptInView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a86ea4ffa0049dbd17b2f60daab225ba35caecfd0f73a1d31634d13f88d0cb28 -size 92321 +oid sha256:3d20ea87e67ed598d161cf1a64b11710974be16c459e12fbd5066d05f38f773c +size 91999 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 470d57da4f..9ebd77e6fe 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:c0f3638a74eeb2150003ec66a36452929b6e294903dd9ca961dc9585e807a40f -size 87705 +oid sha256:58b5098cfa66f2d4e080275d879512b483f12028e6188179ec65caba589b81f9 +size 87792 diff --git a/screenshots/de/features.createroom.impl.components_RoomPrivacyOption_Day_0_de.png b/screenshots/de/features.createroom.impl.components_RoomPrivacyOption_Day_0_de.png index b987bd3885..d1d0072a68 100644 --- a/screenshots/de/features.createroom.impl.components_RoomPrivacyOption_Day_0_de.png +++ b/screenshots/de/features.createroom.impl.components_RoomPrivacyOption_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:49ae3e377d2fe1c267047b32225e349a20b4238d7a846f8c0674afda22f7632a -size 44386 +oid sha256:c84305f71b69d645e509d0e8e674c5efcf44f3b9ab662af0b1effdccc729ec4d +size 44442 diff --git a/screenshots/de/features.createroom.impl.components_SearchMultipleUsersResultItem_de.png b/screenshots/de/features.createroom.impl.components_SearchMultipleUsersResultItem_de.png index 52609a5a99..4767ad627f 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:06e25bb7c37f1ba66635bbc981d801c0725995acdb2ed214a3de8668a141e1d5 -size 99989 +oid sha256:f23acc587c36ba3ec30f22c235da2e687561187d68cd0cae97ef4211d64c59ab +size 99982 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 61b9f59336..640202e520 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:da3443d59c212275afd2b040b45209c7433b63165f21f4c6f835527fdb23f295 -size 68865 +oid sha256:ed12c679e7279448f1f62503aae447edab4763a0af50168224e0a6fe5d178fc2 +size 68972 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 288469508d..6bae0ca125 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:7302d7c5dbcbed959c5446b079f4b14fe846e8c2afc828274d49760f5ea4a942 -size 85874 +oid sha256:3fecfae763c33ad3b1618d1da32793c34b088c312af70df7d1046d3ccede9aac +size 85916 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 f22c513f01..2c0481821f 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:5934b3576d3c2f76793e31a74a3855bd31777560b37a55fa46ae87da39759854 -size 70787 +oid sha256:36ad162073513891713dfdfbcd3e0916cbfb192c6fdc30a176df8b43053f70a0 +size 70567 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 0879d27b21..62bcdbac44 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:f9b91c6b04ca9dc969284cd7e8499402bab84fcd08b0d5818365a355cf07854e -size 116571 +oid sha256:c10648dad8de3ee49f7961cb340117c9cbca42eb2cb9fec5b8359e9ba89a0db7 +size 128233 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 b3c6ee7f90..623dada791 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:e9932d10e3ddc88b8fef4512151eb1810fd91eb9f9a9fd7ef68786f94f89c7f1 -size 120891 +oid sha256:2cbf98f8a0c6208379c64f62c2c49a858d67a60469f0001e496c248736a2e82f +size 120862 diff --git a/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_de.png b/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_de.png index 7c2cfed18e..a47b3ddd50 100644 --- a/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_de.png +++ b/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:129820b445873b40eef7699a41415da6d98ca71d06a89944ccc51721d81650aa -size 19240 +oid sha256:123c08a9491af5d5aaa18c7732ed9d6aaf924a098796fc83905a5ee9e51664c7 +size 19336 diff --git a/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_de.png b/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_de.png index e504991724..e60f7a9f71 100644 --- a/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_de.png +++ b/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61292a489eb861b1c3298c6680b40bbc7381997fb520151ac828dc0ca0234549 -size 21528 +oid sha256:6deb7e216831bbccad421995627d8f33fd2ce0fa5c6ec96b23d65b040f16abc4 +size 21608 diff --git a/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_de.png b/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_de.png index 65480cf467..6f9f024055 100644 --- a/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_de.png +++ b/screenshots/de/features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e594f914604ad983410cb46ae454fa036613a7301c6935820306f94161fdb77d -size 32305 +oid sha256:3d1befcede6895a36e9a40877983c3e2db28cc414f143bd45037adb204e4c768 +size 32360 diff --git a/screenshots/de/features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_de.png b/screenshots/de/features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_de.png index 2e96858c4e..bb851a6a63 100644 --- a/screenshots/de/features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_de.png +++ b/screenshots/de/features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bf53c706297e5e21eb317b48f881c8f3e65c5133a219e7d99be6945e62be2a1c -size 40394 +oid sha256:8266bbd97e6263a0ed56dc83aadb5e78bdc610b9618cf4055051aeca1184cf39 +size 38802 diff --git a/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_0_de.png b/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_0_de.png index 13c4d432f6..eafb88d88b 100644 --- a/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_0_de.png +++ b/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aedaf1841b79cc45bbb7ab103c40e68d391744db53913c9d6d17a36ca6ead92a -size 34623 +oid sha256:03a6034315859539b4093f3bf5374a1eae24e86b602a6657bb4a45b2652b51c1 +size 34208 diff --git a/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_1_de.png b/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_1_de.png index 1da19f2fa2..7228641d69 100644 --- a/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_1_de.png +++ b/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a570893b803337b97bea43c5d20a1832a553e97164f7a6546eda3784a98438d5 -size 34211 +oid sha256:a00130381d68236eac2efed3cd59acd483a03fe5e8127f12726264edc2ad1fd3 +size 33804 diff --git a/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_2_de.png b/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_2_de.png index 69dacf8995..1e1ac875c7 100644 --- a/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_2_de.png +++ b/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e5031669add934e4c176353563ca2a079d5b335d4322d38662063fce8df4fcc -size 35936 +oid sha256:2dfda9ef44de57d954cdf66c044223b42617ca273e97c59f86b8e1c06d32e9a3 +size 35487 diff --git a/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_3_de.png b/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_3_de.png index 8b1efbd025..ac5ed48e9e 100644 --- a/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_3_de.png +++ b/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2db6d4529fbc30257e5574eae927d44a89e14f1a9efba67c3dcd19e71eab5c9b -size 27870 +oid sha256:88243439d30ffba42c5b7459fb19fa42bfff17a3dc16086eac00d9f8f417b1f7 +size 27996 diff --git a/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_4_de.png b/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_4_de.png index ff6b8c236f..5213b6a76b 100644 --- a/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_4_de.png +++ b/screenshots/de/features.lockscreen.impl.setup.pin_SetupPinView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c42f7edb82c7853f1eee903fe0d0ce89959ebb1c668f5a047c150b36081f2fec -size 31394 +oid sha256:8648d5038c5aa1385507151e9cf963aac2cf637cda4025cf9d5992c3f7cd77b7 +size 32686 diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_de.png index ccd07a5575..5b95cd87ab 100644 --- a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_de.png +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d206a6954f1b3c8cb11fbee4282b5d8db510165363c1cea5a7a8e7cc2b81cd01 -size 22671 +oid sha256:7575ceb261f5512f26909d1ef0dc2c1a6aceffb0ebbf45b6b66707d463dc0c34 +size 22478 diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_de.png index cb2132508c..2bfe489728 100644 --- a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_de.png +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e0493cb88670f49cc8b27b5e8252ea23fc85e9b20b6bf8a1114d71dc52f0b7ae -size 22265 +oid sha256:192dccb6ff1889806bd26120c46a3886f7bcddd95cfe9e1572cde61c6e58184e +size 22102 diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_de.png index 4d58cac782..4ed5700780 100644 --- a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_de.png +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:707e640a752ec0e320fb1a20debaf7ceddf2b36a76c0059d82b421a5baa49d20 -size 23784 +oid sha256:29713522c949ea2388872ef7f52a6eaf601917a8d31a8c5f025faa76b94d4e7b +size 23454 diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_de.png index 3c8d34c05b..dd3cb2ea13 100644 --- a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_de.png +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d6e2e41dd5928ae63e513dd4ab5ea3972956d30b4e6b1c278f076a110e4805bc -size 37197 +oid sha256:6160b1961923ed8eda92416d0acc972d48d1df05d874c2e392d7999fd9609cb4 +size 36861 diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_de.png index af129ae01b..14fe0e42dc 100644 --- a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_de.png +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e195509030e9d80d6e57f8d948675bf5c8447b5fcf8ffabe7676392c187ceeb -size 20077 +oid sha256:1637bc5e0c0ffbe8922038c85d5429e11872bb2cb8a99851086eaaf879818a00 +size 19859 diff --git a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_de.png b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_de.png index 5239d0feb7..cd365b6afd 100644 --- a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_de.png +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aa17896f4173a1bef2577fb1968f83d89af13b4a67cf33f08fc6aa8b9f6d268f -size 34266 +oid sha256:3eb9dcf11d75920e11752dbdbecb28efbf8a6ef1438b8bbe841c039d742c1daf +size 33909 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 a9b9c1805c..ba58d67884 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:1d60e3a707036054806cf0d9ca1a683789760f9e16ed1efce6eafdaa6fd23c31 -size 23728 +oid sha256:f49e95baea7be19ba33d0139d602b1e9359cba9c70a919b418e61303e7b4337f +size 23401 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 index 2ebcaae482..21a27fd824 100644 --- a/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_de.png +++ b/screenshots/de/features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7bd69bdfd9cde91abeae3f0812b42f79ed39a62c05c107fc068e2dfa2f1618b -size 25237 +oid sha256:b3a36df8a2569a86f27d39105f8b91ad7ebfbbf5fa8a443637b440af202c89e7 +size 24930 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 7b1c77e6a4..58a3e890e2 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:20eeb638fbd5c0123f42f19e9c9a978cace4ff797710894e7f62ba3ba9286c7e -size 55443 +oid sha256:9323e22208ceb9cd4192dd9e4ea592437a850bc0600e07ea46e75668242b35dd +size 55628 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 e9d886fbfa..0633aede53 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:2a840933e661a430344fa9492a98519fefb5e76d41cd2b08ea5fd37c33403d65 -size 40032 +oid sha256:7a669a39d299b3edbcb692c13b3a4840fea376991a01b0bcb6080118c76a3c35 +size 38787 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 59cc6e70ec..535c9d9837 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:f16b52fa98ef56814e20c1f8b16760142d4492ff865febd00150b22ddaf353c8 -size 40932 +oid sha256:c53566dcadaec2c0503afb1e85cb777bce14cc63a28a188bef4383fa7661657c +size 39660 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 ff3e4a985c..d4928cd0d0 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:aa34fef6f69420b3cb9dc7fa2ad431fdba6122d9577f4c5caedab65957f45615 -size 40092 +oid sha256:4500170d9a40e20bc3ed4c736eaad4701cd35e9fa5cfe44949758e230c3da04f +size 40899 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 0f91dbf02d..61394f5206 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:b46893fbd830f797b7b0c17d936e60258b6083fdd163378052a726c44e621d4e -size 40403 +oid sha256:d1c8e85a784d831e6b8939fe3b48fa7a70a81a3c21975d7890bd689ae16b339d +size 39057 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 4d8a866283..d98fa4d5ef 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:769cf41262963d5cbda8a9a41c7aef5d4ab14aa46d957ba0b206ab10d686fe7c -size 41352 +oid sha256:3a401cda729eecc7d9436ccf01dd60d8ceb657af6096b2e8e2c7181b271a3860 +size 40064 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 e2d0f3e43d..11697ababb 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:225b810b242ad22ea26e87b235828297e5d5e1c1ac2bed7f3a801c1a4253d642 -size 30919 +oid sha256:59c241c62074c5d000faefdb5e797141420d6c43c4a8c248cb138e6cac2b8f58 +size 29994 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 c05fbda584..18beb3318a 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:ca3dc79e6d794fc73d54f889f546c415f5475093bbb1fab56975fb47cb23dbb2 -size 38412 +oid sha256:4a3afcaf358fca137b8022b2a9d741b650b1185237719766418bfb8a6ed2545d +size 38283 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 dcd0089483..b0d5842e2c 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:e202f09973f2133a5442060f609a7f39f4a2cb857bc8dcfbf1b3129ab628546e -size 36147 +oid sha256:2a53972223734714a6e1826343bf268aeedd5034daab1ae58a01024228c0b762 +size 35877 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 b3de975444..cc64c38fb2 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:60be587a889c1d6009f80a2ee91be1cec4cf8bf5b2db3414a69bb22496178bc8 -size 38002 +oid sha256:270d3b0408d54fcddc07bec886758d5a914a89aa77bbf55420d20ff475ed4a94 +size 37696 diff --git a/screenshots/de/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_de.png b/screenshots/de/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_de.png index c6049250b0..cc7af7d17f 100644 --- a/screenshots/de/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_de.png +++ b/screenshots/de/features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de9a0a898a2c4fe6631ebc40edcac126ee48923efbb266346d0f83e199a09bdb -size 56683 +oid sha256:7dd7a34fe746e00f28402feeb28ea3bf31fa4c7313751c9de1acf59eddc0a8c8 +size 56523 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 5a13ffad97..c799f43f47 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:87b21fa7dc434762a167f54742fa760af615f0190e406a7fce096a5561bdf814 -size 49790 +oid sha256:47597e7a91519874687d9c9f5b1db1d6a94a3b04ffbc3905d644e53ec3bdb32b +size 49793 diff --git a/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_de.png b/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_de.png index e34ef7cdba..d0f22584b9 100644 --- a/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_de.png +++ b/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4212f5cfe5c5eaa216102c4d537441173c9704f693f12c17e5016dca8cbefae3 -size 14795 +oid sha256:e4b37670cdf9eecc590f1704d52a3931495b65ed9e772c660ff5ed98d1b0aaad +size 14641 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 366704e3c9..effb283dbe 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:62cd992dcf0cd41ddb070d7b351445c249f59a65eedfb0957cda3df0ada2068b -size 19570 +oid sha256:8879b0a9bb6c80576b7bf76611d3ef25ad257c5908ef20fde617146e0cb48cfa +size 19417 diff --git a/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_de.png b/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_de.png index f967194732..14722275ac 100644 --- a/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_de.png +++ b/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0bda7180b08ab0ccd543ee68c60fcf2ffd54dc95e525340f45b5d97bb7d8fe9f -size 30752 +oid sha256:3e9c1049c6a1f831a7985775a04041a53c3366435a9aa158c0a85c090a7539e9 +size 30605 diff --git a/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_de.png b/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_de.png index ee4aabb206..a5892562f4 100644 --- a/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_de.png +++ b/screenshots/de/features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c901dadde85e4a83140ea9ad61d2033f93fa06c6e1785514c7c2eb5f72a2f41 -size 39325 +oid sha256:cafe758554749db17bb9f5a73054af1c1f7164f4472d69184995b120a8695c89 +size 39187 diff --git a/screenshots/de/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_de.png b/screenshots/de/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_de.png index 36e7dd0de3..c49c0fea98 100644 --- a/screenshots/de/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_de.png +++ b/screenshots/de/features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:265c3c5faf3262b47a97584602d3a4c35bcf776f7669cf9c110e34454f80f8a2 -size 27847 +oid sha256:2555dc4c353775823a5605fbac249ce557c7eaba0f41bf9440e78b085584c10a +size 27541 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 e10f2f845e..b320ce0684 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:14a540a7c8fb6bc94b290d84ac0017e2720e1a9cd8aa026c08579550021cf4e4 -size 60675 +oid sha256:1476d0a4afdbdb449f6e9ac14f5dd2c01bee3cb37c4f0f0731fa432bd869249f +size 60787 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 55d8b24b10..f49d12b774 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:02d7096d4629a9c55f59aa585e88a0b3e016ad49caafe3c5b6eceff9bac098a2 -size 76544 +oid sha256:b3e34c59515192b4f20c1221df49f7c869a13f35427378cdd8e3f4d8170c9e50 +size 76631 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 e3737b1d0a..55f79ee5b2 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:5790a9d84dc0a6078e615967618327abee10935074dc51155c79faf0a2ee8c19 -size 61091 +oid sha256:fb354a2a2e70581b07c54e39f45e134b722a8d1f4b9127737cb02dae2728c919 +size 61312 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 b1312fe78d..5dfb45dcd6 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:042db2bebad8a1cfe4c089c3cdd2f34ee38da60b33538b8425ba15f3d0a19f93 -size 53267 +oid sha256:64cb81a79b348ef729d1aa87c19cbd7c5e1a7b7aa4fb74e752aa5e25d3553f2d +size 53470 diff --git a/screenshots/de/features.logout.impl_LogoutView_Day_0_de.png b/screenshots/de/features.logout.impl_LogoutView_Day_0_de.png index 2fca26f342..22ea1cedb1 100644 --- a/screenshots/de/features.logout.impl_LogoutView_Day_0_de.png +++ b/screenshots/de/features.logout.impl_LogoutView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eeedce038be44a1ce5bf2f30711043b05f5c6882b74e77ee3086536dfa7363ec -size 11700 +oid sha256:e79d4447f2948ddbb46c9f1739232e53c0aa8706cff54d10ef1682a7ce267986 +size 11524 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 3e0e1bc363..3bbe07db7f 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:b9e9ffa05d6ae0d62643b8f8e2fe085c0fa67316a92c85a0ed58bdb6863e18df -size 48034 +oid sha256:d546061b1dfb205c0eb518e3d1702ede3bf1ac0bbcfc56db93a96d11ff7b353c +size 47869 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 e6f8bd6d9f..fc1c30de0a 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:c426e5185628abea12b3b7889affe729ba0d790ca2e17b0cefa424ff07a3dc84 -size 32646 +oid sha256:94d800b2f29b78f72a5eac0f7c4c9372d3a229c3c8364db247e7a327836ad686 +size 32474 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 3e0e1bc363..3bbe07db7f 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:b9e9ffa05d6ae0d62643b8f8e2fe085c0fa67316a92c85a0ed58bdb6863e18df -size 48034 +oid sha256:d546061b1dfb205c0eb518e3d1702ede3bf1ac0bbcfc56db93a96d11ff7b353c +size 47869 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 4a7bf5fb06..7f77f8d577 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:256afe8ad59283ad740ecc19dcb0488fde94fffbecde068a6bc97535f832f1cd -size 26503 +oid sha256:4e9ba2a401624f79f6441f2f3bf9969e06d8dcc6a7d2287e4060904e95d9cf45 +size 26491 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 3734346f48..5105b1166c 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:bd096fdeb2b7700f5283a12802fcfc36edac09cc837d9ebb65c451c30e31bf2d -size 16979 +oid sha256:df0915e35366e6c29f3538017efaabf1a9ccad26ab21f7c5c72d42ff3eb9b42a +size 16966 diff --git a/screenshots/de/features.logout.impl_LogoutView_Day_6_de.png b/screenshots/de/features.logout.impl_LogoutView_Day_6_de.png index 29250ebc99..73fe9acaa9 100644 --- a/screenshots/de/features.logout.impl_LogoutView_Day_6_de.png +++ b/screenshots/de/features.logout.impl_LogoutView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ed53f798a71d47c712455280aa0aa4b1aeadf8d050a21050366acb694a324bce -size 26842 +oid sha256:5303b4baddb8831abaf5530c015e41836d2dde7d327125a060293c1c69ca91dc +size 26828 diff --git a/screenshots/de/features.logout.impl_LogoutView_Day_7_de.png b/screenshots/de/features.logout.impl_LogoutView_Day_7_de.png index 0750fc6515..a8918b85a1 100644 --- a/screenshots/de/features.logout.impl_LogoutView_Day_7_de.png +++ b/screenshots/de/features.logout.impl_LogoutView_Day_7_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ad997a1727d42537438b509d0542123f064e95a211a48e46e8cbd18f52ffe04 -size 44156 +oid sha256:980ec6afc37a4efaade2163dad305a3d177d59326fd87f6a5450b40bb83c7771 +size 43980 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 6a061c8757..03246a75c5 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:a4ef1c6a5a0681131c21263a24830dbc807b5fb595744f124a5e70b407f30809 -size 42611 +oid sha256:7f0cf79efad08fabc276daed192022be2038162c8b496c40a4d69fcfcfdb5974 +size 42438 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 b54584093e..f101107b5a 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:10f95c1dabb3929feca31707177706ffb9650b9c45b4476cf21190dbfe81d63c -size 40451 +oid sha256:ccd255518e394585c0a936486747cb311c53af1b1374b39d57ebaf3e2b128d36 +size 40258 diff --git a/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_0_de.png b/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_0_de.png index b751861b01..29851f5531 100644 --- a/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_0_de.png +++ b/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:62f741b255d5131ef53487deabff8d39a0e2552f2926079e6e03ad8ea6db84ac -size 54751 +oid sha256:af210770ea4a7010b728b531ec60df390b628148c320c703ae79e8911e3bd58e +size 54968 diff --git a/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_de.png b/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_de.png index 6f94e9c728..76e6073ca9 100644 --- a/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_de.png +++ b/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5666a5d1feff7e59e1bd2b4e94a51eafd373f83ecc1ed6aa8a06092c50e73061 -size 65249 +oid sha256:ac676b093eb1b1afd33a546e64af7bf9cd21f3d71c6b0d6593ae30ca8cb73b00 +size 65474 diff --git a/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_2_de.png b/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_2_de.png index a8a3fea732..c53a7a3757 100644 --- a/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_2_de.png +++ b/screenshots/de/features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:354ed0f8a645638db63722d0955cddbf02bb008f39bf834fe24908afa37f880f -size 65382 +oid sha256:c9ffc962a14719e6a265e7d48ad2bad7fa0cd1fd8dd1ea15b973b3266cf1c466 +size 65609 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 1e95a7ac31..464fdcf400 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:f411f309892148b82a3564bbc2ea841e8b3236507fbd9c5164fa9d2eed0aacfc -size 63854 +oid sha256:1d6a1aad14f185515d8ab464cd68525ed472f15297189d7e19066c5dbbd98fcd +size 63505 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 0200d63779..504074936b 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:cdb99809f45d49d730dca21388ba780e7bbf922021f0680c9f8daf439a867fb9 -size 67588 +oid sha256:dbc5feb13789f4c1e78c8ed15cb66a971afef80f3a2e93f40d8458f4da1885e8 +size 67051 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 e1c1cff8ee..c070c8defe 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:e7738a4437a517abd9acd147b932fb4a34636c5c617edf3ee5adf6fbd7950a58 -size 13144 +oid sha256:6bc84472e40a6bd8fdaf271e3156ab7df66013979a7140b121e2ab8ff840dc05 +size 13756 diff --git a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_de.png b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_de.png index f35713e7dd..ec7b5b583c 100644 --- a/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_de.png +++ b/screenshots/de/features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:44f7d48161b556777535b16342e37f70903386470691aa48549eb8bae42bc4ef -size 9698 +oid sha256:a6a864350329c6c83fcf07d6021754a07d0c33c231cbe336327435413b220ef7 +size 9934 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 ce4775bb1e..c74ee9e599 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:834a85c3febb4218ea6af2eb13c882613ef2808e1b46a6dcfbf9ea185539540e -size 13038 +oid sha256:93c60d5656f3b0d84849e327119e2c1de270a5c5cb49e7dde7dc0bff73327bab +size 13438 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 9e81f0ee66..56d4f4d26c 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:505683ffcaa001ee6bcf87bd3dd664d212b020933473fe4e820c7bd7b8d092d5 -size 13039 +oid sha256:d35c9e124fd1168e368d55ce67276442b7d691e986f438384a74a542d2bc9afa +size 13652 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 edab087206..b71c20dd39 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:ce99055f65fc36db1f24df3a9ec67ea5f5d9c76aa3d5c8450de7757f3a74da4d -size 13022 +oid sha256:e328ce60f8a4fee3850e1f8f1cbc66413a99119b56b4745169f6fb2b17e7e423 +size 13636 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 47cb9d5f53..e580c6802c 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:cc7f23bf0c683aeb81d7cd9dde9e93d0e9b6413d98445ed98416481682e3dd9f -size 13162 +oid sha256:eefcd85d7d2ddfed2f9aa5d6d67f3e6dcdffab29f2b0afb965055cdfe354318e +size 13767 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 f6eb9f3ea2..72cad09f0d 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:2e50583b1b0b5cf3b3fed8bceb5fad9082c2301a9e05a17bc19ab246fe787287 -size 13153 +oid sha256:8ff32821bf323cc02a913cf89f8a2c6fbed7180f86dd5676a54596a12e6a5f85 +size 13769 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 3a44d442d5..5072e0b008 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:ec1364f5768359d59f5ea7bcb936b64b5a29bcefd6d54f1b6be7b2efae54b062 -size 13068 +oid sha256:1a16bb5d6587162d8b59399f75c728c68965978ff7cf3439f2c3a906cb4500fe +size 13682 diff --git a/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_de.png b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_de.png index 7a27e388ea..c98e80c3eb 100644 --- a/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_de.png +++ b/screenshots/de/features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6b5c48945b82ddae5217f6b0bce3f74e81bfa7b2eb929deb697dc936ccbf2bac -size 35386 +oid sha256:6c4c13bfeff36e70a209271d37d9df050098ff082097f706b8550fba469db7e8 +size 34501 diff --git a/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_de.png b/screenshots/de/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_4_de.png similarity index 100% rename from screenshots/de/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_de.png rename to screenshots/de/features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_4_de.png diff --git a/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Day_0_de.png new file mode 100644 index 0000000000..be189bf864 --- /dev/null +++ b/screenshots/de/features.messages.impl.timeline.components_TimelineItemEventRowUtd_Day_0_de.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a85c3167adc0f63911759c6671871cb47d1b8384e9ab2ed04fadb014637137ea +size 32215 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 4fcf932c56..6239554cdd 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:3da67fa1fe1ae3528ec5a08c8e1573d2f2b9ed93ec8fee2400fcf615415dcb52 -size 56961 +oid sha256:bc7d196912bba295590cc34bd046dd45f555317d343ed43cd321215bce5cf232 +size 57187 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 3b4cd23337..f2b5cd62ae 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:58036a1f458f4828b63421ceee70e1061d74161d5c26a0644ff25c0a053db524 -size 59432 +oid sha256:b0136a05c67161cbea51d0a5d8298fc69d7736d9d13a244c20d8f62d81ab7ef2 +size 59649 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 af20dcbede..919db5a517 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:b63541bcb62d14feec4351bf843f45f78c5f31b4e89225a305574ca35d28aa35 -size 47267 +oid sha256:984b4394d1fc285f67c89ef315639ec7f3ab53468c74cc19672fd00662ed1a1d +size 47416 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 f0208b4a12..45f7e655f4 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:305cbe3ef1d7577f13b942f4bba186452f9b812f28ceec67ad4307f29c5a855b -size 56996 +oid sha256:81a4ce28b416998dfaa9de103264781a8db0f2ebd6d9db2f4218890dfcb7d556 +size 57217 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 9daed51264..535471d42d 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:756a13ffa12168f7b4aed1794edfd2c903070257164b5cb3608e6c84d3175dde -size 59938 +oid sha256:1f2850fcfae3846f0a3294cd8bd964a72a6d9f4d1193c45fea9f295938307624 +size 60529 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 fa533cae61..4bc5b7178e 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:a2293d26fc2c2cdaee5a67f935cf8db9029ccd13d5fd4287ccdebfaa71f2e729 -size 56144 +oid sha256:8790c9983f05b0083eb1ab6b2ac4bf5571367b2a3bbf52905276f903638bf957 +size 56377 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 1ab65f221f..54977b01db 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:c261d0d69206820362b91dc3ac029fb5b3b125ecf379ed3b1359f4a58769ea6c -size 60145 +oid sha256:20ccb7fd369ffa37d564ef301ca4106db1387b4eae866761cca668175a72f9af +size 60387 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 fa673d94d2..fc447e7bb3 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:dc738a706685154092180ab830ef3855bb8855a2e652a12975590f9c91fffbcd -size 54995 +oid sha256:842e250a9bc4bfe5243ef0f0e0a20cdc98eea767d9d3fe76083c8b092b3b291e +size 55147 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 38e1fc31e3..5c5da4b92b 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:a5cdf8d9bc125b0656078928311c307e4cb17be5fd28e6d302d56c82f7d21efa -size 54812 +oid sha256:e65df5cdf0c4d4acc29eff05bf4f58dff29a84e6bd4df67d55ad4cb347c5b3e6 +size 55033 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 a914a3c52e..01ec2bbd28 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:b4329101f08015c7243766e627c366282950badc23bc21e5c2efb4c5fe63edb3 -size 54089 +oid sha256:ab9d8e6c8e7739433ff493bd2c932723d92c97d56811f0ffbe3260984484c9d8 +size 54305 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 886b5fea36..e4fa48be20 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:be2ef4caeff68d136a567fb3203d6e7abe2f12dd4884ed53aaa45a90096b37e1 -size 58869 +oid sha256:edba9deac51da0ca11d37786c01efaf6dae26a9c63b9e415c896cc755c4b4941 +size 59011 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 d7d5c15577..6dd24e1861 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:31520055e9558554a6ae1eaabc4fb78b2ac356d5e2ba7fc3ac2623518007598e -size 41854 +oid sha256:fe4115ca14777a2aeb5fa0d91d7c3cba52422a30ff5cdee5ad8b53a9f1216708 +size 42001 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 2fc5f659df..6a7980e7d2 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:696dd4e0a49bca48f1035ce6c92bd6276219d075995a9be1becb2ac748add83f -size 41789 +oid sha256:21559e496a298d43143b2f7a2e8a3f113e2c9ef71c80142cdfdd5f3c3ca7d2de +size 41952 diff --git a/screenshots/de/features.poll.impl.create_CreatePollView_Day_0_de.png b/screenshots/de/features.poll.impl.create_CreatePollView_Day_0_de.png index 8d71adf889..96d601f107 100644 --- a/screenshots/de/features.poll.impl.create_CreatePollView_Day_0_de.png +++ b/screenshots/de/features.poll.impl.create_CreatePollView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:752a349bb7f45ac6d46b75a873d12de14e801edbe76058ffcc48bb76ffd94ce2 -size 39532 +oid sha256:156d8e06283c17e4aaff906d29433e377b0c03b381d28b1df941e45fc2accd5f +size 39479 diff --git a/screenshots/de/features.poll.impl.create_CreatePollView_Day_1_de.png b/screenshots/de/features.poll.impl.create_CreatePollView_Day_1_de.png index 05197e9e15..749b82cf8e 100644 --- a/screenshots/de/features.poll.impl.create_CreatePollView_Day_1_de.png +++ b/screenshots/de/features.poll.impl.create_CreatePollView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ac812255acdb33c7b293451f3fb7d0815d6f4d41ae195f61a26a43d2c4bbdbd3 -size 42241 +oid sha256:b9f6bc6f7f3c6f19b4135a113a4b39db055e79567bd5d8d7e1dc3e00d075c54f +size 42412 diff --git a/screenshots/de/features.poll.impl.create_CreatePollView_Day_2_de.png b/screenshots/de/features.poll.impl.create_CreatePollView_Day_2_de.png index 363f983dfe..b78406a7e1 100644 --- a/screenshots/de/features.poll.impl.create_CreatePollView_Day_2_de.png +++ b/screenshots/de/features.poll.impl.create_CreatePollView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:502b061c679df3ea4ca9c8c340f1d33dd86bb234e3ba5327dedb5d116ecec01b -size 40372 +oid sha256:5b000235066669c2cde16134b286bd86a7f7b4b887b52592473d78024e50c4dc +size 40385 diff --git a/screenshots/de/features.poll.impl.create_CreatePollView_Day_3_de.png b/screenshots/de/features.poll.impl.create_CreatePollView_Day_3_de.png index 7761929644..07cf877a02 100644 --- a/screenshots/de/features.poll.impl.create_CreatePollView_Day_3_de.png +++ b/screenshots/de/features.poll.impl.create_CreatePollView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0481ef1509acf41948a945171111069a5d018eb50f08799011309802a78db016 -size 50034 +oid sha256:ea8613356550b4d22cb0dfe18474296a27517d7725fd166c4a59bd148b3e7ac2 +size 50162 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 8f5793438e..dc2c5ada81 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:32435fe06f3e2bfcd315add8f090b4faed9001be3cf37b800c361c5223a38785 -size 43244 +oid sha256:2125807c4479557a3ea3f882dcaa7923be9b75d7b93fc75376ce359a1f6dfd80 +size 43190 diff --git a/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_de.png b/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_de.png index 724a7fbf2a..e143b4642b 100644 --- a/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_de.png +++ b/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e56717dbf01cc3c797cb977c25a56864e02993b45c3e7f2c1e835bd8344528b8 -size 50833 +oid sha256:3d4c8e5308da7b96d7be6966e36d9005327c33f6324bec828550e7aa4135d69c +size 50688 diff --git a/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_de.png b/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_de.png index 54995c721c..1b412929da 100644 --- a/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_de.png +++ b/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15c39043dc1b3460317ee3986833f399763f9ca3b1f77ad41598336cf7dc50bf -size 50313 +oid sha256:ab8b4cbecd87d4ef5998633d5245b9ce32dbe0cec21d20194a3b0d5308500983 +size 50462 diff --git a/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_de.png b/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_de.png index ef5d5a8d2e..ec5afb1ceb 100644 --- a/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_de.png +++ b/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c3536585de6deab019b1bf0b18ae9bdd39bd4729545d97bbda1abdbe80799df5 -size 33224 +oid sha256:f38915099cec8ab7c20230c5ffd960effe74752715ac50ae12221f20950cd4c6 +size 33351 diff --git a/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_de.png b/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_de.png index 1345769063..6628802df7 100644 --- a/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_de.png +++ b/screenshots/de/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c55b0be76878ce4460fd724cf0495066573f0db005450eee54530e686c72ceda -size 50398 +oid sha256:a6765c5e5fdcc0a0483f323433138a6e8672b43ebf6839c0ce9d81188e43cf8d +size 50472 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 953f304881..677f100cbb 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:c06c0e39eb590c0cdcb7f9e7172517f44216d17d53f2fa01f10917d9137a055a -size 28509 +oid sha256:848bdb220be53e683c02744d2b3023cb80c3a9e5cbc14e3db69986ccc424463e +size 28478 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 78ca68899a..d818b6ec2f 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:57abfb067bdbae6357ffdbf8bcd55bbd4bb91788f5268aa153caca5b60dd76e5 -size 60362 +oid sha256:3f27a5e403b15f4c9583dab04ecc346ace073288aff2c8a230d23356869c752b +size 60388 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 78ca68899a..d818b6ec2f 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:57abfb067bdbae6357ffdbf8bcd55bbd4bb91788f5268aa153caca5b60dd76e5 -size 60362 +oid sha256:3f27a5e403b15f4c9583dab04ecc346ace073288aff2c8a230d23356869c752b +size 60388 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 b78f5fb4f5..96d554d799 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:621c8241b80ebb9bd9685098521c0d587b4bd6a7fa962fa6f910786251b283fd -size 58067 +oid sha256:a74f58d01f0646913ae0f25a6fcc46c910226a2b1fcba8d318e8a90733564ed0 +size 58097 diff --git a/screenshots/de/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_de.png b/screenshots/de/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_de.png index 62451e24f8..fbbf551a92 100644 --- a/screenshots/de/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_de.png +++ b/screenshots/de/features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cba41309693667a4a9d63e742f8bfa5d32d1f557816d6d684f3a6479c90651a5 -size 41292 +oid sha256:65229995bf44ef326fdad042a368d79a402b085ab3c8134e9a4a3626c54ed854 +size 41451 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 e2aec3d5b6..447b2da868 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:bea5fe757a938bea14b1fe92ad3a7bf5463e54a3e1b1a1c9d4adc90752e62473 -size 50318 +oid sha256:e4c514cb287c4d7657ffad6e1fca1482a75f9a5a1bc7787dd8395825ab838b05 +size 50531 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 4f51943596..e5c8d72569 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:5aa7f398ecad0158592e613aec5ee0f699b803420c56aceab2edd3549e4f6825 -size 51176 +oid sha256:4bcef1537ae1e2158d7af3ed3cd989572d163be743cc0553f95b72fe73ff26d2 +size 51385 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 e0520d040a..305a927fd0 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:50b1ea9ee1070ecdb363b75829c95e9049f4a1635afacffa8b301347e64008f6 -size 41898 +oid sha256:e53d77389388732c401f9051fdc1d4de5a37f273bb1c3b675d410e49ae74de36 +size 42182 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 aa780a5667..9ecccfa5af 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:75900c0c9f6503a26efc9d12b6dbccb7cfa32068fc490210f7b31adfef8383ca -size 40993 +oid sha256:8005390f1fdc024b5dca6a3696e95e27546e7b89da9cc709ab5858e67bc99748 +size 41150 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 f4bee74840..0d90d8d958 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:d5a85a67c46d6a23e12ffbb01286209665ab0a3bbf34161581e24a1d4d41b71d -size 67606 +oid sha256:fc06581eca561009514bba2c947c5d759af9b8cecf4c50cc9224f543e295c47e +size 67919 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 157399ef08..ffbcdef523 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:445e853d56ee1d7865bbeaf38f02c11bd1b7d2465a175eb593e7becbd5530164 -size 67332 +oid sha256:2e662f3e36c691fcd4ef1f1ae78a8fefd312c1d93ec0b7aadca12dee9ed07219 +size 68020 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 c83875d635..5794bfc059 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:0f6ad0c721d50da502a629f2725de0158532033e025810f316a3fda925c75820 -size 71641 +oid sha256:7250a25f1bda5867605057d808d235b44b59e062eef499d08631222635e8ff72 +size 72404 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_12_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_12_de.png index 51104dba5f..b212c7f186 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_12_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_12_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e32d69b41a03c6ce47e58a5e94c61025bbd2e421ad17e4bd0ed13c7f1a3639e -size 19490 +oid sha256:e5ffdb0bd0677cc532acdd67d2d08a74d1dfdf85924ddbd2ff0ecb2a6d1d225b +size 19602 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 0c5e80113d..c8ae2f4209 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:ff30e625cbbd792343700d99633bf63ca66f1aac59a4ae679e1a4986957dcc3e -size 53790 +oid sha256:691154991e241304d8e2f48da468e4b0ed43090bac56e1f2c9f26e0fe900cdbc +size 54663 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 e5d1c62be1..4e2b12a1fb 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:b0223f94f111a5c40d8b24228ae2d3a03a40b936391a324c3d1442ba1c806a7c -size 48109 +oid sha256:5323254db5be8bb61139a8c69ae4fc39c360303aab335043027ca32353c88459 +size 48772 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_3_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_3_de.png index ccc168ac62..1c97568a9e 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_3_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:328abf76b1a44f84754ae9a7976192463680c1297da99c8cf0331633662d322b -size 49021 +oid sha256:80459a5c69cb081b4342b2e6c587ecbb72d3a75c0315a57f9a7325e2f6b2f6c2 +size 49811 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_4_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_4_de.png index ccc168ac62..1c97568a9e 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_4_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_4_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:328abf76b1a44f84754ae9a7976192463680c1297da99c8cf0331633662d322b -size 49021 +oid sha256:80459a5c69cb081b4342b2e6c587ecbb72d3a75c0315a57f9a7325e2f6b2f6c2 +size 49811 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 0c5e80113d..c8ae2f4209 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:ff30e625cbbd792343700d99633bf63ca66f1aac59a4ae679e1a4986957dcc3e -size 53790 +oid sha256:691154991e241304d8e2f48da468e4b0ed43090bac56e1f2c9f26e0fe900cdbc +size 54663 diff --git a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_6_de.png b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_6_de.png index e0ebf6ab0a..49091425b9 100644 --- a/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_6_de.png +++ b/screenshots/de/features.preferences.impl.notifications_NotificationSettingsView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16bcbf4a6f51cf1ad514fb8206e83843bd8b000dcc36774c9034abe34de52297 -size 46096 +oid sha256:00a20cccf95d64abef3cbf75ded65552f5206f7f496a169c4841dbd61b2c333b +size 46787 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 0c5e80113d..c8ae2f4209 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:ff30e625cbbd792343700d99633bf63ca66f1aac59a4ae679e1a4986957dcc3e -size 53790 +oid sha256:691154991e241304d8e2f48da468e4b0ed43090bac56e1f2c9f26e0fe900cdbc +size 54663 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 0c5e80113d..c8ae2f4209 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:ff30e625cbbd792343700d99633bf63ca66f1aac59a4ae679e1a4986957dcc3e -size 53790 +oid sha256:691154991e241304d8e2f48da468e4b0ed43090bac56e1f2c9f26e0fe900cdbc +size 54663 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 b441821d62..93dd4377fb 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:9cda7ea7acc18ff35da4c5f47ce0e3c07be5d4269f5edd3fcf4bfaeb5b13904d -size 19355 +oid sha256:4be722c2311312e50f319c0d38422846b4dcfd72791462a7d24ec152eb476afa +size 19689 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 9b334bd1c3..be208daed2 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:7e9db04b8dc5d02610b882a35c596b4c31b3acbf80df2954dba20c75c1526fa4 -size 78633 +oid sha256:7d95761a3a054c70edd8437808f9fa2568119ec9d0047f5f167002374544f990 +size 78750 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 41cde8b757..ebc0c70eef 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:515472a817c304d7a6a4b9c25ac54b528007773791d23c92640558ab322b6814 -size 85560 +oid sha256:6912c62ece567a4721a3594f98431127ae2a1d8162ca9039d1b1c354bc9794af +size 85935 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 edb1665cc3..5cac96432c 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:a498eebfddbb78173b58684176ad2a1a45919ee12a39e806b6d9e2e5a88f26ea -size 74060 +oid sha256:658a3e3c66463725fc966e6edfd7f0a64ec75f7b3eb994770fac70bd2e084130 +size 71219 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 9b334bd1c3..be208daed2 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:7e9db04b8dc5d02610b882a35c596b4c31b3acbf80df2954dba20c75c1526fa4 -size 78633 +oid sha256:7d95761a3a054c70edd8437808f9fa2568119ec9d0047f5f167002374544f990 +size 78750 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 7f4159bbbe..0c9fc38556 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:ac9a7f2ad3221c8b1689f65d538a7bd25a1f36e37db1df933b5856e2a4ad9fb4 -size 59229 +oid sha256:f82fa03d1783e0aad32405dfec262ffded447effe1a71b29f271c376b2cabf30 +size 59148 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 43d3a17af0..0bc18ff968 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:7d70f77cbb39cefd988e17a2f7f286d21f79bfcb16635f34593eb2db381ffefb -size 44730 +oid sha256:5ec6343e465626aafa1b3642403ab72b94dfcd2ea1100871309113e5a1009548 +size 44765 diff --git a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_de.png b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_de.png index cecae31dc1..ddaa901043 100644 --- a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_de.png +++ b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e21152644001abe38d795cecb2b18930f0d64eab36e5ea6287a8fa6b18a3fc62 -size 36470 +oid sha256:c8e7b95fe6e7827af189ecb9a5db0d99a967d9a44173571b16043e6350d858d7 +size 36724 diff --git a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_de.png b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_de.png index cb232d3e10..413a74a7fb 100644 --- a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_de.png +++ b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bda10cb3a6836998658023be5830e9953908b8d42ba73d3bb6889f22d0336dcd -size 48162 +oid sha256:59bdccb73987b701b93fc097e06783cd244107b5dfd6076e5fe24a46ce1c2e7d +size 48537 diff --git a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_de.png b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_de.png index 9089f9ee30..912314f6a3 100644 --- a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_de.png +++ b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0f6357e0c7fe6c784cf4a2abdfe3308b44407c98fa172465910f776144c11505 -size 51098 +oid sha256:df84a5dcb6e659870f8c2d0c4b93e9cdde78b705f6e14301e9a874d4a761a8b0 +size 51523 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 bb0722f78c..2b1558dcee 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:29d84e85540dcfe91b8746e0a7d50d9633b07c7bfeb4f895b4dd3200699b57dc -size 40774 +oid sha256:bf7d1f09bab959388076676f703e452bf38b897992cce533c65459dff6a84358 +size 41018 diff --git a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_de.png b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_de.png index 7d5625d73c..758787cb5b 100644 --- a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_de.png +++ b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ba8bf7913d9f39da0d6ca9c2bd59b48aaeb2f5e23c535d9eb5be2d8a45138ab -size 42698 +oid sha256:8cbfeb310691b3bf26e367f861ff3ec031d39de3ff2e43b070f6db59714bfc62 +size 42754 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 bb0722f78c..2b1558dcee 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:29d84e85540dcfe91b8746e0a7d50d9633b07c7bfeb4f895b4dd3200699b57dc -size 40774 +oid sha256:bf7d1f09bab959388076676f703e452bf38b897992cce533c65459dff6a84358 +size 41018 diff --git a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_de.png b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_de.png index 7d5625d73c..758787cb5b 100644 --- a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_de.png +++ b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ba8bf7913d9f39da0d6ca9c2bd59b48aaeb2f5e23c535d9eb5be2d8a45138ab -size 42698 +oid sha256:8cbfeb310691b3bf26e367f861ff3ec031d39de3ff2e43b070f6db59714bfc62 +size 42754 diff --git a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_de.png b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_de.png index cb232d3e10..413a74a7fb 100644 --- a/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_de.png +++ b/screenshots/de/features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bda10cb3a6836998658023be5830e9953908b8d42ba73d3bb6889f22d0336dcd -size 48162 +oid sha256:59bdccb73987b701b93fc097e06783cd244107b5dfd6076e5fe24a46ce1c2e7d +size 48537 diff --git a/screenshots/de/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_de.png b/screenshots/de/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_de.png index 57ae63eb3f..dcb2ec0367 100644 --- a/screenshots/de/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_de.png +++ b/screenshots/de/features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:00eb5cfcae8f99c1fc87acb3f53b86d3f0b396b2bb57a451e27d2e1240ec9c7a -size 27547 +oid sha256:c199376884069d55625696a5944094e8e68a425aff40e1851541ad6017d5d66c +size 27739 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 2014b3542f..967f3e3d58 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:7f9429d2d0f2ad4da52dcbb1377d5153ee22e4273c3bbb57873441ed383a0829 -size 51577 +oid sha256:cb90f9e9596faf6bcbc602bc7c8ed3906efc8a2df0ce988b71863b3a8f03709c +size 51714 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 77bf243557..0ceaad4567 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:996d1b109f028a02c984964042c5db07fdf6b020c9ae4a87f2a9a5491cf8cc5e -size 73321 +oid sha256:72a5fff0aa68f63d730611c91f9a83092bb9ff93c398e04c33f434e4bc55ef59 +size 73466 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 70a655ae03..152d19c0d4 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:14d0a1adba6ccb7ca22a37e77c0b378ee289b638f546051434f467337f86fef5 -size 66365 +oid sha256:cc88eb3057bb53e39f63b66d9f209ab1a0ff1baf981c708291c10d0924f12e3d +size 66529 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 aead3a0051..9a3f586b9a 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:51b94cf8aa0a325f14151ce942494fc07c8db4ded9bd3a025de0fffdcde676fd -size 66191 +oid sha256:66e47c84c4eb0235a3f6b6e3525d0dd0b4df538f74a530042b9f07ee6632101f +size 66347 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 a4b22abf2f..b11456191e 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:236a5aed3620f9e05c2ab50163bd0a86e6e49059afd6d59b443a278b5f547b7b -size 61275 +oid sha256:9f7137edd680e494c65683501a1b763c8ed60c19a0746ebc4f62204713945247 +size 61311 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 b563a9c1bd..ba7484bdc1 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:c8266737dbfc51e8d93877fac681695aa06241fb5d0f74133087a9786d1edaf6 -size 64061 +oid sha256:f52a752178f34f6bea1007eb4b3760dd78aed3cf7a75b0cf6d06984e05382d2f +size 64186 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 a516dd3bc2..7fdee4f8ca 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:608fe11885f94115e02da613ea095f855b198c69ed3f8d14008b866fe3de7d91 -size 65504 +oid sha256:65c4145afc33cd308b41f71d90da68061836d7b70305cc6846f0df5d723a3770 +size 65629 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 c37c632d2f..b7f4ba7952 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:f7d5fa52e3703e998bc47f8cd07305f62463ced63ea0288da73e6ded2509a574 -size 55824 +oid sha256:06cfe3f276744cdc2e062713a5f0740fb4f3183e25d9c6e774d03c54b4e0834f +size 55992 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 7437dd86c3..474e92e1df 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:92c9dbf7093eab7131c69f060bb885f4fa47bcf873c9d88040bb3e178b450049 -size 68727 +oid sha256:d345bc790f18a8f55337fe9a7b360741fc94d03ea135ff0be8377602a35dc510 +size 68891 diff --git a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_de.png b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_de.png index ba9116e9d8..58a80ad74d 100644 --- a/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_de.png +++ b/screenshots/de/features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6c4b2e7065050976ac18f212d44a662cfa8d1444d36aeef1bbe9d9a5afe45b96 -size 15032 +oid sha256:cee74685fe9d76a5a1389f500fbcb22517ca092625ff0f033bd870713e053537 +size 15121 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_0_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_0_de.png index a9ecaaa3c1..d8024b6d6b 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:08d1e0a2cf79414dd73b5a8bf8023b7daafced58aef3a6260388613522ad02c8 -size 44340 +oid sha256:0cdb41e5b33d52884986643249d7a42e93636a4e93b632138f4d3f774ddbca96 +size 44333 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_10_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_10_de.png index 2a66ece120..c7f71897e3 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:6ab2237480d2b1ba849938eb865dfd36d7710a8ecb9f4858e53902e14cbe3bd6 -size 46487 +oid sha256:fd9287cf3ac81b3b4a6540680fc300de0eff1b340cbb266f777f08da95771061 +size 46477 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_11_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_11_de.png index 110b777e78..416513ad1d 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:4b889f8538bccc33f8de015aa2c814340c9f21ea125877684e2919ca801d3a54 -size 44971 +oid sha256:6c9d5236b9d015df5c1b7d552bf8581e08b323c6fda64486f317f0d128d2dd8a +size 44965 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_12_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_12_de.png index 4959d35ccb..620f6be4cd 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:e0b0ffcb08b837adaaa6891edc5d9b7f1f3d3e505059efe2281b7c82b81f27bd -size 48719 +oid sha256:8f7700caa63e98fda360e728203e9335e854b91c2b7f81216c07797d3c934c52 +size 48711 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_13_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_13_de.png index 9393cee493..741fa7213e 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:f0b275892a4da98b57219008a44d2ab3f5449f9fba51226602f7dde724fbe08f -size 46955 +oid sha256:03095ef49ba0cbde8b47c9a847dd289b4c1a24e172462525916ae11a210ee40f +size 46947 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png index b2fc105b23..208bdd75f0 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:49286b4564da8a26d52c0f892564984341d55c1c29b8f08bb3ca05d70cfd4e5a -size 42845 +oid sha256:b1b09c9d1731e44795d1e1bf223e5cf36a788871da45db0fff15926b232ae386 +size 42841 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_2_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_2_de.png index c17a227bbb..7ba1f6f69a 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:7887879e6da3f0677b11f91be7f6447f362f645a750a2183edcaf0afd4e2a2ed -size 43879 +oid sha256:cb4b0c46733c0a85e2b8bb8988c65d1921beac559059db298bb68a53eaf6e916 +size 43872 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_3_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_3_de.png index f0dd41298e..93378213f2 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:c829220a28e8d50eaa6e4aabfb604ffaadfb3971a7d48aa00f6d8bea303da4f1 -size 41958 +oid sha256:90c3d0bcc4c19fd9bde289a9ecf1be62f138a100bb778566834e586b1f851514 +size 41954 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_4_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_4_de.png index 8902d4d30d..aa2e03e152 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:a59e1d2ba58c3f4c06a15954519f2d99c5500db65d68ad442c8333381e9f8c64 -size 47305 +oid sha256:3c005f4f95aefeee9ba0c377ed9fdbdfddfe08de46c84b39ed5040fc7ce150ff +size 47300 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_5_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_5_de.png index ef4fe6eafc..7304223f0b 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:756b332670494e4d5ff69f985801026877a7b143df968102d5e8b9fb5b9024f0 -size 44658 +oid sha256:961b01e9819ec6cfe9cb9a2f9d886f31522fc074f242ba46d68425c58d2e9fc4 +size 44652 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_6_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_6_de.png index ef4fe6eafc..770f470eca 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:756b332670494e4d5ff69f985801026877a7b143df968102d5e8b9fb5b9024f0 -size 44658 +oid sha256:44b04195c62acb148b2141aca28b196da98d16d69d157c74799ce6448244069b +size 42321 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_7_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_7_de.png index 7b5e079dee..7e512a91dd 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:2ed229d07c90485fbaba3e6f566c0b7fc6011f82ceff7ac301b01e95b1bdbdc5 -size 48005 +oid sha256:509c49c39b91b08574895a3eef883d144be39875eb8b73e2dc1a134f800aaa6b +size 47996 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_8_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_8_de.png index e1c83627a4..8679141165 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:a5de857622f577a3545132a59d0ee8704231a683a0a7540af11f33e582b03d6c -size 46814 +oid sha256:74c22cae39733ed87399930e280a0b0e8349214c421cd1b4dd3ca8c627701026 +size 46847 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_9_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_9_de.png index 583443ce47..748fb71ce6 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:ebd7d3f3cc39e21d845b1d1dfd437da7c2f0eb2cca9afedb93402f8cae839e2e -size 45850 +oid sha256:5a9c496e14d257d6a795746e63a49a51e38acd681da5536a802ead4a07e10d93 +size 45841 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_0_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_0_de.png index bed2f509a5..4b10e12a57 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:c35e98cd20b2001f531e6a3eadd7086ea81fa86cf654f34a81035fd69ed45087 -size 45457 +oid sha256:25756397b0b0c680f2dec68cabe3fd3ab4143e3bbb51c6a5a74fc9e4d4a1eb1d +size 45462 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_10_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_10_de.png index ed08816153..63928bced5 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:1b0b409c0ccb5b39cb8c042e9aea81a8cc7215ba2b25a845c794cb671cf2d657 -size 47692 +oid sha256:cc88d4575e116f6140be3dda7671ab31f7cb01361599b316a35abc181cd712b3 +size 47694 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_11_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_11_de.png index 5c0c8a6bcb..96e46836ac 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:d23cc0cc8b48063cfbf5570bdd928c87a33e758c6dd3b0635d98bf1214a5e056 -size 46148 +oid sha256:8a7bd3b8e62ee11c28e60b843f02e0eb979c1542162dad0c744875261bf0351d +size 46149 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_12_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_12_de.png index 03ba6667d8..e0a94ffc9e 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:057e2ddb366a24b91eeec559918e5c3e2f6682624137fff641bc9f4b5607accb -size 49504 +oid sha256:8bc966615b5fdfa6e175e9f8719d2165432979650da63e49b266a2b4c6476676 +size 49509 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_13_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_13_de.png index 60e49dbdbd..30905e6234 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:8f418eed573ab3c6f5a483135710d98670ad08a990233cb7169ced3f496a7954 -size 48166 +oid sha256:54b8b26f2e613f47ff8d61e9d95cf0c8276d581e055318087612d65e2d6b3906 +size 48172 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png index 9eab5d9706..72918f3603 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:fd10a9612c96f01d7891688a032042d07ec7f755f1419ef8f02a01071298b735 -size 44074 +oid sha256:23ed6de2bdb340fbe1cc1df828c1e9aab94a6fc4dc2ecc065e62ea6221fd8c6a +size 44072 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_2_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_2_de.png index 8873150759..0dfe364e10 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:2b62615d67cd22c9b9952f159b5f16a297243ce11d9003783f3862e90e28b2ab -size 45165 +oid sha256:3d8e3b3e577734855df04202b71d14b67305b6ac2ee94ad76463bf566f2ce0b3 +size 45163 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_3_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_3_de.png index 91f033d4ba..8642af7f91 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:a0acf61d5fbd491684ba6604c246683e1ceeaaf2aa57681c3cddc864a8563d29 -size 42935 +oid sha256:c4b4cd38658310e85e9ddf998d11ba71dc6f86f283b12d7f17ccfd0e8c9e2a8c +size 42936 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_4_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_4_de.png index 8abbe6d48b..ab024d6a8a 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:ee1ddc1780182b20d7108bd7b4d442fc7fc5fca34a9da1ba81ac97192b4e908d -size 48530 +oid sha256:e2a6b836c92ec82cca629e3a6eedb88ff54a4d6835fe2273bec70b4976552b47 +size 48531 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_5_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_5_de.png index faa1f6d60e..6f64e91347 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:93e8c7af9cb42051e1ba144585c7b3956273b1036c326558f8a909d535776efd -size 45842 +oid sha256:ba73053e9cae0bd22110a56105b6ccb9e7a031c2d0f2426713b524ae204589ed +size 45844 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_6_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_6_de.png index faa1f6d60e..c74aa90e56 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:93e8c7af9cb42051e1ba144585c7b3956273b1036c326558f8a909d535776efd -size 45842 +oid sha256:97e2145171681c40026f49f2c36d5375b679c6b01482d83aaa433bbbe95a5bbe +size 43594 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_7_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_7_de.png index c9c738939a..7120d62d2b 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:2bbca1fc91c21574c889462cfaaf76a0ad733ced4cce27109dee35e51a6dc0d0 -size 49307 +oid sha256:ee8d7ab50be5c2b2b7edf00dffea3049719c3da73446e2e357c9b9ef73542129 +size 49312 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_8_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_8_de.png index f02bdd41fd..f531ecc171 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:7934d076dba037836b08f1d36c3c7128792df4e48dc07ff06011b85d8a8c1863 -size 48070 +oid sha256:a21b5087be13fc6a3eb484e61b3b6a7f82a998db5a0637211aa6182bb4c5e130 +size 48121 diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_9_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_9_de.png index 10685abc50..1291a4b1f4 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:baa83523347d5478834b78ce1af89cbd45de41bd98ede3cc6c29e3db4dd5a6d7 -size 47012 +oid sha256:2c9ff7395ff777f0ef5589c284da266d1bd5507c237661023a8b392b03bf4210 +size 47017 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 cd2d0b6d57..7925564c4d 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:30bbe117cc58dee08e9a0ac2d4d09cea886043be685d98827520d24ffd5b7ec2 -size 43320 +oid sha256:79c9cc299de8c99df0fd851293ca3a79ce933e68d16ded0f329c9edb345587f4 +size 43274 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 e82583651d..a823874217 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:14d0bc95b4fe349e272c1e89ba7e4a13108cbc41d4e62162ad1c990a69766884 -size 82369 +oid sha256:173476e366f6fb3e9b392d3d988f49d1367c4800cf10ba9e0ec3d42fae63a7e8 +size 82276 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 898c652e4a..fc632daf4a 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:d2629ce71a269ef8c8d2dea7d5a29928e4a8d4b1613bf5329e56456a47b5f334 -size 24855 +oid sha256:329bf670aa62dcfd4d0164dd527565cb634b5d67c8666c931327005794411659 +size 24912 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 df774b3e89..058c6b5a38 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:09bdb0dd2ee913da7818d80bfa994c185bf2565e590d7be19a677bd04b78b3f2 -size 23679 +oid sha256:fea1568e4e3b7da487dd5c8e9de94006d4db9d458e75f4966d46c1ed5c18036b +size 23715 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 ae2c40d715..002fdea1e5 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:bd6eae197cc27ab53c139b5a467c8035571c5f5cf18f7fda4c77481877918cdf -size 45517 +oid sha256:757248a0fb3b5c446341f0a7123ac7a95316d0a872ccaa42f2a49fb09e28f32a +size 45484 diff --git a/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_de.png b/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_de.png index fb79209144..eff2d04e64 100644 --- a/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4994eaf64ea1d1188cdf1a47aec52ee5d45c5827be42c648ac4a27c84f15c602 -size 20349 +oid sha256:4ae2ee18bb34d37b4e67a7613733c37732eb9f14104ff0e21651acdb33105660 +size 20397 diff --git a/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_de.png b/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_de.png index 4c39ed1a4d..0b9d9da00c 100644 --- a/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7bad697ed796ca1c8030d3d73c96d1b68ac2db575ac01a50fb4f1220d6e574b8 -size 22349 +oid sha256:eca1fb0321c9576b7e2e530623f13f77465b29806a73cd799fb36e7790e4429e +size 22378 diff --git a/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_de.png b/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_de.png index cf189738de..1c62a37734 100644 --- a/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_de.png +++ b/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df2290b52cd16f3910b23a6175e161f20a286508540566f88091828b23d9fe79 -size 22694 +oid sha256:7fec74487e84a10c929c9f6feb4ea169316f50c1603a37df1624fb0b2d07de9f +size 22725 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 9fa4a5cc19..419c761e4a 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:8abae4ac440b98591510e18b54b0d666df9e44ff308572a7766fef34b449346b -size 80799 +oid sha256:b3820eb3edb99ba7cf5d4efb36aefc42e8a5e9f173113f0dd63c253559d50cbb +size 80825 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 4f5df05349..3b48b3b909 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:a8ececfb824771891504e982e0e96b3755181851a2ff1b6607373ed8d0437a71 -size 102699 +oid sha256:42b6668d0325ceb12ee4aef8754d8903b6cad2b2da5ae405469a703a7b6bc58a +size 102580 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 9fa4a5cc19..419c761e4a 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:8abae4ac440b98591510e18b54b0d666df9e44ff308572a7766fef34b449346b -size 80799 +oid sha256:b3820eb3edb99ba7cf5d4efb36aefc42e8a5e9f173113f0dd63c253559d50cbb +size 80825 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 dbad7c38f5..1de8b6436e 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:c73a78f653f1f3a11e89e4f04f10865bac61c5596ab3dae9015ca553da986c0c -size 80766 +oid sha256:b996a6b2fd92cdaf84456aa6dcb34587c438bc6f19bb3aeaf9bf9f77da6256c3 +size 80782 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 b29d5313f2..33fe3b7863 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:fd7900ca25592817d14922e41cbc41bb8c9829a40b66d8143f876f7b09b03332 -size 24434 +oid sha256:fb27462e5ab4b9055e213229b84b1c063dd24d1d51f762fb770f22c2f956100c +size 24482 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 66add2869c..3be06aa99a 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:82122455d7d89935d578cab812a2701e2841810f96da2e0cf80a6e6b452eb13f -size 23779 +oid sha256:845de6292a275470cc0402f1d441c2e6e85146c0be316a45625d05b355fccb01 +size 23822 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 9586853fe4..3964f4d421 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:274e43b267c0ccb2d135ee83faf5a09c286b631487cc17b821209bb49b9723a7 -size 21686 +oid sha256:52c92687be8874450abe0d1b7462593a05c09ec76c288f2f343b9caa045a0c28 +size 21924 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 a3278452a3..6dd144d388 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:91866c59294fe10cf0c4839f00d3386fe5d98dd1077406891aa07dd1d52bcd07 -size 102809 +oid sha256:ce83868d093a117ba85a1e714f4eac685b30ff6b2f80a3b2b0ca626f5f2bad49 +size 102687 diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png index e2838bdd57..b6bfff3d70 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5108d337185d1cd70063fbf34a5510a5e3d441f001f164f61042bbd2fbe93e1f -size 72102 +oid sha256:0f60fb69e52ecb0a16b38d1a79320db3f3b6635ce1516d977fa486a7c31fa4a7 +size 71906 diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png index dfb1308cdd..19a8ac71e0 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:857e94824a054038e372ddfc47b64e3132f1ea9d35da6de8f371c7a5ce67fef5 -size 54421 +oid sha256:81b2ac20a3f42c5af119227d409554d6f00ee5f19b85a5458e82ab00aa70fc3b +size 54416 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 752b53b391..1ae4a0f5bd 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:8e5e4cb8d451ef06ee5dedf7f9dc3f82c301633f2dcd63ed261634e98a75a08e -size 72639 +oid sha256:88650645de244e762dd395302998609ca5a05a9773aaddf8627bd06e90d0ca0a +size 72442 diff --git a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png index 69f9af3f5c..da432791d9 100644 --- a/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png +++ b/screenshots/de/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:770cb9396ba855398d65d18e7794c771b8cfc26aa73a7dcb04b49ac3bacd63ac -size 41944 +oid sha256:d72a0982fb6d03b901a411feab9155db7b0200bd11ed12104e2ac19a28db11d9 +size 41937 diff --git a/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_de.png b/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_de.png index f06a4a54f5..0cf0bbc9ca 100644 --- a/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_de.png +++ b/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1381c6173e6b9d7c28042de34695c4c451bcd062758283a62981f6112fd7972c -size 15034 +oid sha256:47e4038381a918854e8f300c57281c5e61f73d18b009dbae2f52d381fd036227 +size 14859 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 e40f1b9f72..701677d20f 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:80e6bc5470d919c7bc209857e9dda95ecd3a4492e7ef5348077a7d56e6863205 -size 15660 +oid sha256:d6858c788b16564030c505fc691617af88ebd27eff9d55e9dfd882eda3e486dd +size 15485 diff --git a/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_de.png b/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_de.png index 52c5e2b800..818ad9be90 100644 --- a/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_de.png +++ b/screenshots/de/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e6b57b5ab3d0b00141c9598663189f320bc36435f01e1a80448507cc08966718 -size 20358 +oid sha256:e078831bd77618d8768d433da333931f2ae60e0f1c09f7c0bc78d8520959d989 +size 20347 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 210d3c7bfa..e9c791c00a 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:59c6d376d4ff041b5733bf7df316437bea3d3b8dd54dad2b6fb0afe9e7888e83 -size 43554 +oid sha256:1aa3ee3208c690c6594107c774eff804b435bfdd691e0154418ca8db11c596b6 +size 43377 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 c406c8a3d7..cabb39872e 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:0a51de8eaed9792c275d1f1c45382f64094e99d11dd92ccb64f98f32632e37ed -size 54208 +oid sha256:0141c82238bd2a8b3c8137dca5e9d0e351db6f667cd1f338ada8026e7caf7255 +size 54044 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 eef0cb6316..664808eeef 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:e4541e8c9748570d0456ef8eb2456efce21580a65010e707204510c0ce881e44 -size 52595 +oid sha256:3af24e0a81573a0d0d152d43eecaf0c18cb1f808e271acf26389e7391f4e88ba +size 52434 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 a4cbd36fe8..c5fbbf578f 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:54a1883dc864a250ac6797989bc7db18ee083fec42396416f07b2a7b7a8dca43 -size 45426 +oid sha256:8f13efb7f324be6e39efeb691cda69ccfc1d4ffa2a7c96bd7c2c5873109e03b0 +size 45415 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 ce1299b178..40d0568abd 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:25636403a8a825935591440f8c16f9a5a5c158c5e6b4c4b1e58af7d464b8ddf0 -size 30953 +oid sha256:a0f90507b2f8f36a7b831083215d56307d96d38f9a163924c497fd7919c27ccd +size 30669 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 3dda225788..989bb61a9f 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:bbb4d3b68dd54bce49cb7e665ed3bb2e1aed98ce96e9a0caa26d25c5a4ab8c50 +oid sha256:78b1399e8747f172fa676e2d69ebf3a34b1af345bcabf433a4b3b5df20cb095e 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 3dda225788..989bb61a9f 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:bbb4d3b68dd54bce49cb7e665ed3bb2e1aed98ce96e9a0caa26d25c5a4ab8c50 +oid sha256:78b1399e8747f172fa676e2d69ebf3a34b1af345bcabf433a4b3b5df20cb095e 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 a962e7b209..53550dd39b 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:19f460edc35874e738e5bc3ec0eb008f83b4c42b09de59d8d91e97e616307daa -size 44786 +oid sha256:f9276ceb97ea6c6b4ff219976c73a93440b1fb23af6a9229bbcd6d636df77953 +size 44495 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 cef739ec20..5c0e448e9d 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:01c201e2ed0c8092feab40974eeeeb9e831d737ae91342d61379fd04c73cf27e -size 65503 +oid sha256:9bba2ce4a79d7605078de9660b405c717d78f55019dfd37ad6abe0b2854edb60 +size 65340 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 e089859793..75e9952085 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:22a66fa85cd11954aff5cb75de978bdab90d77c8121ffe5442930e64c231b238 -size 61989 +oid sha256:7eb73aca3c702f0adba72e5faa1c1d351410c5930ebf132aeca157569510e32b +size 61825 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 51ddc2ff5e..ef7a80b428 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:7fb699eff9872c43aa9efc34fdcc0c4378d9c779e8361439dd59dab6d95f46a6 -size 64923 +oid sha256:f783499a1cc87048758819cb79a191bdedce909e99498f6fdcab5bf5ae2e80f2 +size 64758 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 51ddc2ff5e..ef7a80b428 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:7fb699eff9872c43aa9efc34fdcc0c4378d9c779e8361439dd59dab6d95f46a6 -size 64923 +oid sha256:f783499a1cc87048758819cb79a191bdedce909e99498f6fdcab5bf5ae2e80f2 +size 64758 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 354e66d19e..441e2f883c 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:c47f0e69c83da8001c88ae9a9481cbfd0e9a68b8d0d9ebdb8135bd3b0e77d4ac -size 54824 +oid sha256:bb5b73df203519ae4f05dafb864ff17c4bbe32d8f4e61cb8402a9f17ec492482 +size 54815 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 fc16d9b45e..3760c19485 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:2a56b2279335e9235500def14bda16add03491cb1891d886b6bf21816f19a0a1 -size 70476 +oid sha256:d70004f75a79ef47bc2c93274c2c41bcb4bd04cf2137eeeb152f4a6b02399408 +size 70330 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 f65d4a35a5..d49c35e3af 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:65badf36cefdecf854a8954ac49257e141b8af6e47186d9ad060c8959869356b -size 67172 +oid sha256:5a8027c8c051a0916d5fa75803aebde4c403dd1f51f52aaf6b44882471161528 +size 67014 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 51ddc2ff5e..ef7a80b428 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:7fb699eff9872c43aa9efc34fdcc0c4378d9c779e8361439dd59dab6d95f46a6 -size 64923 +oid sha256:f783499a1cc87048758819cb79a191bdedce909e99498f6fdcab5bf5ae2e80f2 +size 64758 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 51ddc2ff5e..ef7a80b428 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:7fb699eff9872c43aa9efc34fdcc0c4378d9c779e8361439dd59dab6d95f46a6 -size 64923 +oid sha256:f783499a1cc87048758819cb79a191bdedce909e99498f6fdcab5bf5ae2e80f2 +size 64758 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 354e66d19e..441e2f883c 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:c47f0e69c83da8001c88ae9a9481cbfd0e9a68b8d0d9ebdb8135bd3b0e77d4ac -size 54824 +oid sha256:bb5b73df203519ae4f05dafb864ff17c4bbe32d8f4e61cb8402a9f17ec492482 +size 54815 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 dd7f544e49..ec05a6ff50 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:43607cf5bf2040bc2fd93e5bbc971f60abc8dc918d395c34643532b84470c47f -size 63205 +oid sha256:8ef597cb2653729833cdfec558cf0c1a7372f17d8763a183b935cb747adb2416 +size 62095 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 f4a82c4a59..8eed78893b 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:a500962d55266adf1ea198fefc36f0848869fb543ce92445e5b5ffa2f8e737de -size 22367 +oid sha256:592ae0537a34e5479944847adeb150fdc1988f39ea6d7e9d2ac387c593385747 +size 29475 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 3854d5560e..afdb40a9fd 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:ac438a2011b4a419a5b8d4108507f467cddc0aded4b0c35bbde83b40ff0acffd -size 20129 +oid sha256:f464ddfb840672263e63df6b6f7b67b06b9b430a3ac0dfbee6067f2110b9f0a8 +size 29844 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 300f2a8ce3..2179c311ce 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:d9fe4655bd28cd0c5a81614224bbbfa9713421bea5855389bd221a68ee97ff72 -size 22728 +oid sha256:8967f48f6c93e957e93c0106f677ad570fdd601f064eb00f42d02f0b51dd9279 +size 25090 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 8fd64bc15d..bb6d162b41 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:b8cc5f9592c6a8d78a490c7b57cacd88c977ebbe717b8b72536c7c4c5267d081 -size 41055 +oid sha256:ebef17540507cfefef165c21e644b3406cfe6cdb149598858b75ef73557edb4e +size 44649 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 dc15ec1795..37e9366a7c 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:e5963a50a03f4e0aa48445a21d59896b1c83c7c1dfbcce2e29aca0af457f6dff -size 35214 +oid sha256:4da8f02c7ea4823fb6978066acb901d192be7be2edd449fbf8e56c2e0e960829 +size 38948 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 e926cc035b..7611d2043a 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:07e48a6e120a6b15d4132668106d5d3aac56891123d34e2f7c42500eee715d86 -size 22611 +oid sha256:b4113ecdf9eedca5cd0f9179f0c2a15416928fc776278160a9d9ec3b039e188b +size 28371 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 b1ae02fb45..3e0e3b8b0e 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:2ece7152c314d2eb2c9de8ff1fcf1ed08a62ff5faadc62ec8449ba0961552724 -size 23370 +oid sha256:aca66b8a455ee9eb510dc3bf8b7a22abbbbf44accbb4c90964d9409b6c630bd5 +size 30564 diff --git a/screenshots/de/features.userprofile.shared_UserProfileView_Day_8_de.png b/screenshots/de/features.userprofile.shared_UserProfileView_Day_8_de.png deleted file mode 100644 index f4a82c4a59..0000000000 --- a/screenshots/de/features.userprofile.shared_UserProfileView_Day_8_de.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a500962d55266adf1ea198fefc36f0848869fb543ce92445e5b5ffa2f8e737de -size 22367 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 d8da218e37..cead576dbe 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:bd1dbbdae82812ac6a6587660012727b0cfec3566a9a97d5893dd3672cc4fcac -size 42854 +oid sha256:b90e375bca17e97adc72bdfa95c2d6b98cbe056973ea97751cff3718897d4c51 +size 42541 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 3437c2ccae..c209bc84bc 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:90d35936246a99c3e7bd1a23bc7f39ccc4c4b8c5caeab7e172c079ce1c2ed6d7 -size 39536 +oid sha256:34496ff29326e8414625f75dff0f9cfe59cb7d926d32d98abc2c3033342858a9 +size 39538 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 5890e81fc4..0792dcc611 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:0b260f30cd2fc29f351c09537cb8c448673ad0f084625000bbfc683cb1694e5a -size 27696 +oid sha256:46f929df2f058524cb668812c092f55157c6e795259127ca53348866d946ce76 +size 27390 diff --git a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_2_de.png b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_2_de.png index 99e82d10f0..340196e551 100644 --- a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_2_de.png +++ b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_2_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dcda7b010a6154538f7e7d33ccc36ff94b4f8f6db5f65074dc9c35ba4905220d -size 53405 +oid sha256:91da377954ad5d2058a34ff1dbccc9f54e4ed490186901edc53e7bf4423525d5 +size 53244 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 a82d9383d0..2ea5187d74 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:fd739501ed66685e1507cf2e5858496e5ab9df61fc710c6bb84ea29659ca3f7d -size 55165 +oid sha256:cd35588a1e94a60a59f8fe452fe6dbd37be07daa4da7542711d2f4b063583741 +size 55024 diff --git a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_5_de.png b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_5_de.png index f621713c07..acd690231a 100644 --- a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_5_de.png +++ b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_5_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d1aaa1fc8163d4c3e055db925228278f65e59e6f1df37645a8998e426aed1bc8 -size 21689 +oid sha256:0583efe5ebb0cd55bdccbf3bb3e7165d15350cf4eff14b9a17038b6ef8f878b0 +size 21509 diff --git a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_6_de.png b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_6_de.png index 39adaec50d..f79c3fe443 100644 --- a/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_6_de.png +++ b/screenshots/de/features.verifysession.impl_VerifySelfSessionView_Day_6_de.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e44ecbb0ce36fbc37a1f4b0463202ab70c3bd4306e65fc61f67f02740173427 -size 35846 +oid sha256:4ec5652409e18bb7076f07abfdef63c0e26b43103f7a11850daa192fb0b25574 +size 35687 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 d8da218e37..cead576dbe 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:bd1dbbdae82812ac6a6587660012727b0cfec3566a9a97d5893dd3672cc4fcac -size 42854 +oid sha256:b90e375bca17e97adc72bdfa95c2d6b98cbe056973ea97751cff3718897d4c51 +size 42541 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 8903a10916..f760980179 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:d2f0de31885c598ebbbc1166ccfafa949bfa2992240cf224ad537399ca32b6bf -size 36713 +oid sha256:54654071726bec5f34f8ec90c4a9a8f88381feaf3861354488ecb833f032fce9 +size 36414 diff --git a/screenshots/de/libraries.matrix.ui.components_CheckableUnresolvedUserRow_de.png b/screenshots/de/libraries.matrix.ui.components_CheckableUnresolvedUserRow_de.png index d2dd6c6e28..74ceb33958 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:f62e709042caae0694b3450ae4149d2c7b3d86b0d864ed780120c6dd483c6e35 -size 114385 +oid sha256:14b6f03d9721ebd54f3bfe37dd38368f7cb58842b89ad7926f3f37f218b7b665 +size 114342 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 ef243d8e82..352e9b308e 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:71273b4829a3f355a6f07afe3d0be32701e3423640461226c1f7218948bf8f71 -size 11566 +oid sha256:c6c0f0682bd840d34a2f50b799147bf4dec094d6164929e407ddb2b32fb001d7 +size 11617 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 b861460f3d..dd9ab43246 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:3e5583262e28fbb0635ca0511cdb58b055179298089837846c8df3693366ef8d -size 34759 +oid sha256:3e92d9906af1ac2fd4aad50ab37756e81a839f28efe1c20d9675f893fb925d53 +size 34952 diff --git a/screenshots/html/data.js b/screenshots/html/data.js index 91088e828e..c099eed388 100644 --- a/screenshots/html/data.js +++ b/screenshots/html/data.js @@ -1,58 +1,58 @@ // 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",20014,], +["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",20021,], ["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",20014,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",20014,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",20014,], -["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",20014,], -["features.logout.impl_AccountDeactivationView_Day_0_en","features.logout.impl_AccountDeactivationView_Night_0_en",20014,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_1_en","features.invite.impl.response_AcceptDeclineInviteView_Night_1_en",20021,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_2_en","features.invite.impl.response_AcceptDeclineInviteView_Night_2_en",20021,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_3_en","features.invite.impl.response_AcceptDeclineInviteView_Night_3_en",20021,], +["features.invite.impl.response_AcceptDeclineInviteView_Day_4_en","features.invite.impl.response_AcceptDeclineInviteView_Night_4_en",20021,], +["features.logout.impl_AccountDeactivationView_Day_0_en","features.logout.impl_AccountDeactivationView_Night_0_en",20021,], ["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",20014,], -["features.logout.impl_AccountDeactivationView_Day_3_en","features.logout.impl_AccountDeactivationView_Night_3_en",20014,], -["features.logout.impl_AccountDeactivationView_Day_4_en","features.logout.impl_AccountDeactivationView_Night_4_en",20014,], +["features.logout.impl_AccountDeactivationView_Day_2_en","features.logout.impl_AccountDeactivationView_Night_2_en",20021,], +["features.logout.impl_AccountDeactivationView_Day_3_en","features.logout.impl_AccountDeactivationView_Night_3_en",20021,], +["features.logout.impl_AccountDeactivationView_Day_4_en","features.logout.impl_AccountDeactivationView_Night_4_en",20021,], ["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.messages.impl.actionlist_ActionListViewContent_Day_0_en","features.messages.impl.actionlist_ActionListViewContent_Night_0_en",0,], -["features.messages.impl.actionlist_ActionListViewContent_Day_10_en","features.messages.impl.actionlist_ActionListViewContent_Night_10_en",20017,], -["features.messages.impl.actionlist_ActionListViewContent_Day_11_en","features.messages.impl.actionlist_ActionListViewContent_Night_11_en",20017,], -["features.messages.impl.actionlist_ActionListViewContent_Day_12_en","features.messages.impl.actionlist_ActionListViewContent_Night_12_en",20017,], +["features.messages.impl.actionlist_ActionListViewContent_Day_10_en","features.messages.impl.actionlist_ActionListViewContent_Night_10_en",20021,], +["features.messages.impl.actionlist_ActionListViewContent_Day_11_en","features.messages.impl.actionlist_ActionListViewContent_Night_11_en",20021,], +["features.messages.impl.actionlist_ActionListViewContent_Day_12_en","features.messages.impl.actionlist_ActionListViewContent_Night_12_en",20021,], ["features.messages.impl.actionlist_ActionListViewContent_Day_1_en","features.messages.impl.actionlist_ActionListViewContent_Night_1_en",0,], -["features.messages.impl.actionlist_ActionListViewContent_Day_2_en","features.messages.impl.actionlist_ActionListViewContent_Night_2_en",20017,], -["features.messages.impl.actionlist_ActionListViewContent_Day_3_en","features.messages.impl.actionlist_ActionListViewContent_Night_3_en",20017,], -["features.messages.impl.actionlist_ActionListViewContent_Day_4_en","features.messages.impl.actionlist_ActionListViewContent_Night_4_en",20017,], -["features.messages.impl.actionlist_ActionListViewContent_Day_5_en","features.messages.impl.actionlist_ActionListViewContent_Night_5_en",20017,], -["features.messages.impl.actionlist_ActionListViewContent_Day_6_en","features.messages.impl.actionlist_ActionListViewContent_Night_6_en",20017,], -["features.messages.impl.actionlist_ActionListViewContent_Day_7_en","features.messages.impl.actionlist_ActionListViewContent_Night_7_en",20017,], -["features.messages.impl.actionlist_ActionListViewContent_Day_8_en","features.messages.impl.actionlist_ActionListViewContent_Night_8_en",20017,], -["features.messages.impl.actionlist_ActionListViewContent_Day_9_en","features.messages.impl.actionlist_ActionListViewContent_Night_9_en",20017,], -["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",20014,], -["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",20014,], -["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",20014,], -["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",20014,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",20014,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",20014,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",20014,], -["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",20014,], -["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",20014,], -["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",20014,], -["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",20014,], -["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",20014,], -["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",20014,], -["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",20014,], +["features.messages.impl.actionlist_ActionListViewContent_Day_2_en","features.messages.impl.actionlist_ActionListViewContent_Night_2_en",20021,], +["features.messages.impl.actionlist_ActionListViewContent_Day_3_en","features.messages.impl.actionlist_ActionListViewContent_Night_3_en",20021,], +["features.messages.impl.actionlist_ActionListViewContent_Day_4_en","features.messages.impl.actionlist_ActionListViewContent_Night_4_en",20021,], +["features.messages.impl.actionlist_ActionListViewContent_Day_5_en","features.messages.impl.actionlist_ActionListViewContent_Night_5_en",20021,], +["features.messages.impl.actionlist_ActionListViewContent_Day_6_en","features.messages.impl.actionlist_ActionListViewContent_Night_6_en",20021,], +["features.messages.impl.actionlist_ActionListViewContent_Day_7_en","features.messages.impl.actionlist_ActionListViewContent_Night_7_en",20021,], +["features.messages.impl.actionlist_ActionListViewContent_Day_8_en","features.messages.impl.actionlist_ActionListViewContent_Night_8_en",20021,], +["features.messages.impl.actionlist_ActionListViewContent_Day_9_en","features.messages.impl.actionlist_ActionListViewContent_Night_9_en",20021,], +["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",20021,], +["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",20021,], +["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",20021,], +["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",20021,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en",20021,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en",20021,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en",20021,], +["features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en","features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en",20021,], +["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",20021,], +["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",20021,], +["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",20021,], +["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",20021,], +["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",20021,], +["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",20021,], ["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",20014,], +["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",20021,], ["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",20014,], +["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",20021,], ["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",20014,], +["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",20021,], ["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",20014,], +["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",20021,], ["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,], @@ -62,11 +62,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","",20014,], -["features.messages.impl.attachments.preview_AttachmentsView_1_en","",20014,], -["features.messages.impl.attachments.preview_AttachmentsView_2_en","",20014,], -["features.messages.impl.attachments.preview_AttachmentsView_3_en","",20014,], -["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",20014,], +["features.messages.impl.attachments.preview_AttachmentsView_0_en","",20021,], +["features.messages.impl.attachments.preview_AttachmentsView_1_en","",20021,], +["features.messages.impl.attachments.preview_AttachmentsView_2_en","",20021,], +["features.messages.impl.attachments.preview_AttachmentsView_3_en","",20021,], +["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",20021,], ["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,], @@ -149,13 +149,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",20014,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",20014,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",20014,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",20014,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",20014,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",20014,], -["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",20014,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",20021,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",20021,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",20021,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",20021,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",20021,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",20021,], +["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",20021,], ["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,], @@ -166,100 +166,100 @@ 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",20014,], -["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",20014,], -["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",20014,], -["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",20014,], -["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",20014,], +["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",20021,], +["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",20021,], +["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",20021,], +["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",20021,], +["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",20021,], ["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",20014,], -["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",20014,], -["features.call.impl.ui_CallScreenView_Day_3_en","features.call.impl.ui_CallScreenView_Night_3_en",20014,], -["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",20014,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",20014,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",20014,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",20014,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",20014,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",20014,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",20014,], -["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",20014,], +["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",20021,], +["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",20021,], +["features.call.impl.ui_CallScreenView_Day_3_en","features.call.impl.ui_CallScreenView_Night_3_en",20021,], +["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",20021,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",20021,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",20021,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",20021,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",20021,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",20021,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",20021,], +["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",20021,], ["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",20014,], -["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",20014,], +["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",20021,], +["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",20021,], ["libraries.matrix.ui.components_CheckableResolvedUserRow_en","",0,], -["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",20014,], +["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",20021,], ["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.designsystem.atomic.molecules_ComposerAlertMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_0_en",20014,], -["libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_1_en","libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_1_en",20014,], -["libraries.textcomposer_ComposerModeView_Day_0_en","libraries.textcomposer_ComposerModeView_Night_0_en",20017,], +["libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_0_en",20021,], +["libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_1_en","libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_1_en",20021,], +["libraries.textcomposer_ComposerModeView_Day_0_en","libraries.textcomposer_ComposerModeView_Night_0_en",20021,], ["libraries.textcomposer_ComposerModeView_Day_1_en","libraries.textcomposer_ComposerModeView_Night_1_en",0,], ["libraries.textcomposer_ComposerModeView_Day_2_en","libraries.textcomposer_ComposerModeView_Night_2_en",0,], ["libraries.textcomposer_ComposerModeView_Day_3_en","libraries.textcomposer_ComposerModeView_Night_3_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",20014,], -["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",20014,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en",20021,], +["features.createroom.impl.configureroom_ConfigureRoomView_Day_1_en","features.createroom.impl.configureroom_ConfigureRoomView_Night_1_en",20021,], ["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",20014,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en",20014,], -["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en",20014,], -["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",20014,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",20021,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en",20021,], +["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en",20021,], +["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",20021,], ["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",20014,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_0_en","features.login.impl.screens.createaccount_CreateAccountView_Night_0_en",20014,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_1_en","features.login.impl.screens.createaccount_CreateAccountView_Night_1_en",20014,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_2_en","features.login.impl.screens.createaccount_CreateAccountView_Night_2_en",20014,], -["features.login.impl.screens.createaccount_CreateAccountView_Day_3_en","features.login.impl.screens.createaccount_CreateAccountView_Night_3_en",20014,], -["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",20014,], -["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",20014,], -["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",20014,], -["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",20014,], -["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",20014,], -["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",20014,], -["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",20014,], -["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",20014,], -["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",20014,], -["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",20014,], -["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",20014,], -["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",20014,], -["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",20014,], -["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",20014,], +["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",20021,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_0_en","features.login.impl.screens.createaccount_CreateAccountView_Night_0_en",20021,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_1_en","features.login.impl.screens.createaccount_CreateAccountView_Night_1_en",20021,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_2_en","features.login.impl.screens.createaccount_CreateAccountView_Night_2_en",20021,], +["features.login.impl.screens.createaccount_CreateAccountView_Day_3_en","features.login.impl.screens.createaccount_CreateAccountView_Night_3_en",20021,], +["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",20021,], +["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",20021,], +["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",20021,], +["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",20021,], +["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",20021,], +["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",20021,], +["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",20021,], +["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",20021,], +["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",20021,], +["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",20021,], +["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",20021,], +["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",20021,], +["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime pickers_en","",20021,], +["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime pickers_en","",20021,], ["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",20014,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",20014,], -["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",20014,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",20021,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",20021,], +["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",20021,], ["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",20014,], -["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",20014,], -["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",20014,], +["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",20021,], +["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",20021,], +["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",20021,], ["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",20014,], -["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",20014,], -["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",20014,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",20014,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",20014,], -["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",20014,], -["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",20014,], +["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",20021,], +["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",20021,], +["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",20021,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",20021,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",20021,], +["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",20021,], +["libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Day_0_en","libraries.designsystem.atomic.molecules_DialogLikeBannerMolecule_Night_0_en",20021,], ["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,], @@ -271,12 +271,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",20014,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",20014,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",20014,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",20014,], -["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",20014,], -["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",20014,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",20021,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",20021,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",20021,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",20021,], +["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",20021,], +["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",20021,], ["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,], @@ -286,9 +286,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","",20014,], -["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",20014,], -["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",20014,], +["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",20021,], +["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",20021,], +["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",20021,], ["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,], @@ -299,15 +299,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",20014,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",20014,], -["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",20014,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",20021,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",20021,], +["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",20021,], ["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",20014,], -["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",20014,], +["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",20021,], +["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",20021,], ["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,], @@ -317,7 +317,6 @@ export const screenshots = [ ["libraries.designsystem.theme.components_IconButton_Buttons_en","",0,], ["libraries.designsystem.theme.components_IconImageVector_Icons_en","",0,], ["libraries.designsystem.atomic.molecules_IconTitlePlaceholdersRowMolecule_Day_0_en","libraries.designsystem.atomic.molecules_IconTitlePlaceholdersRowMolecule_Night_0_en",0,], -["libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Day_0_en","libraries.designsystem.atomic.molecules_IconTitleSubtitleMoleculeWithResIcon_Night_0_en",0,], ["libraries.designsystem.atomic.molecules_IconTitleSubtitleMolecule_Day_0_en","libraries.designsystem.atomic.molecules_IconTitleSubtitleMolecule_Night_0_en",0,], ["libraries.designsystem.theme.components_IconToggleButton_Toggles_en","",0,], ["appicon.element_Icon_en","",0,], @@ -329,53 +328,50 @@ export const screenshots = [ ["libraries.designsystem.icons_IconsCompound_Day_4_en","libraries.designsystem.icons_IconsCompound_Night_4_en",0,], ["libraries.designsystem.icons_IconsOther_Day_0_en","libraries.designsystem.icons_IconsOther_Night_0_en",0,], ["features.messages.impl.crypto.identity_IdentityChangeStateView_Day_0_en","features.messages.impl.crypto.identity_IdentityChangeStateView_Night_0_en",0,], -["features.messages.impl.crypto.identity_IdentityChangeStateView_Day_1_en","features.messages.impl.crypto.identity_IdentityChangeStateView_Night_1_en",20014,], -["features.messages.impl.crypto.identity_IdentityChangeStateView_Day_2_en","features.messages.impl.crypto.identity_IdentityChangeStateView_Night_2_en",20017,], +["features.messages.impl.crypto.identity_IdentityChangeStateView_Day_1_en","features.messages.impl.crypto.identity_IdentityChangeStateView_Night_1_en",20021,], +["features.messages.impl.crypto.identity_IdentityChangeStateView_Day_2_en","features.messages.impl.crypto.identity_IdentityChangeStateView_Night_2_en",20021,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_0_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_0_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_10_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_10_en",0,], ["libraries.matrix.ui.messages.reply_InReplyToView_Day_11_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_11_en",0,], ["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",20014,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",20021,], ["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",20014,], +["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",20021,], ["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",20014,], +["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",20021,], ["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",20014,], +["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",20021,], ["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",20014,], -["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",20014,], -["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",20014,], -["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",20014,], -["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",20014,], -["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",20014,], -["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",20014,], -["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",20014,], -["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",20014,], +["features.joinroom.impl_JoinRoomView_Day_11_en","features.joinroom.impl_JoinRoomView_Night_11_en",0,], +["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",20021,], +["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",20021,], +["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",20021,], +["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",20021,], +["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",20021,], +["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",20021,], +["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",20021,], +["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",20021,], +["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",20021,], ["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",20014,], -["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",20014,], -["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",20014,], -["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",20014,], -["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",20014,], -["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",20014,], +["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",20021,], +["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",20021,], +["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",20021,], +["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",20021,], +["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",20021,], +["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",20021,], ["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,], ["libraries.designsystem.components.dialogs_ListDialog_Day_0_en","libraries.designsystem.components.dialogs_ListDialog_Night_0_en",0,], -["libraries.designsystem.theme.components_ListItemDisabledWithIcon_List item - Disabled & Icon_List items_en","",0,], -["libraries.designsystem.theme.components_ListItemDisabled_List item - Disabled_List items_en","",0,], -["libraries.designsystem.theme.components_ListItemErrorWithIcon_List item - Error & Icon_List items_en","",0,], -["libraries.designsystem.theme.components_ListItemError_List item - Error_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemPrimaryActionWithIcon_List item - Primary action & Icon_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemSingleLineBothIcons_List item (1 line) - Both Icons_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemSingleLineLeadingCheckbox_List item (1 line) - Leading Checkbox_List items_en","",0,], @@ -397,15 +393,25 @@ export const screenshots = [ ["libraries.designsystem.theme.components_ListItemThreeLinesTrailingIcon_List item (3 lines) - Trailing Icon_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemThreeLinesTrailingRadioButton_List item (3 lines) - Trailing RadioButton_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemThreeLinesTrailingSwitch_List item (3 lines) - Trailing Switch_List items_en","",0,], +["libraries.designsystem.theme.components_ListItemTwoLinesBothIconsError_List item (2 lines) - Both Icons - Error_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemTwoLinesBothIcons_List item (2 lines) - Both Icons_List items_en","",0,], +["libraries.designsystem.theme.components_ListItemTwoLinesLeadingCheckboxError_List item (2 lines) - Leading Checkbox - Error_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemTwoLinesLeadingCheckbox_List item (2 lines) - Leading Checkbox_List items_en","",0,], +["libraries.designsystem.theme.components_ListItemTwoLinesLeadingIconError_List item (2 lines) - Leading Icon - Error_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemTwoLinesLeadingIcon_List item (2 lines) - Leading Icon_List items_en","",0,], +["libraries.designsystem.theme.components_ListItemTwoLinesLeadingRadioButtonError_List item (2 lines) - Leading RadioButton - Error_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemTwoLinesLeadingRadioButton_List item (2 lines) - Leading RadioButton_List items_en","",0,], +["libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitchError_List item (2 lines) - Leading Switch - Error_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemTwoLinesLeadingSwitch_List item (2 lines) - Leading Switch_List items_en","",0,], +["libraries.designsystem.theme.components_ListItemTwoLinesSimpleError_List item (2 lines) - Simple - Error_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemTwoLinesSimple_List item (2 lines) - Simple_List items_en","",0,], +["libraries.designsystem.theme.components_ListItemTwoLinesTrailingCheckBoxError_List item (2 lines) - Trailing Checkbox - Error_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemTwoLinesTrailingCheckBox_List item (2 lines) - Trailing Checkbox_List items_en","",0,], +["libraries.designsystem.theme.components_ListItemTwoLinesTrailingIconError_List item (2 lines) - Trailing Icon - Error_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemTwoLinesTrailingIcon_List item (2 lines) - Trailing Icon_List items_en","",0,], +["libraries.designsystem.theme.components_ListItemTwoLinesTrailingRadioButtonError_List item (2 lines) - Trailing RadioButton - Error_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemTwoLinesTrailingRadioButton_List item (2 lines) - Trailing RadioButton_List items_en","",0,], +["libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitchError_List item (2 lines) - Trailing Switch - Error_List items_en","",0,], ["libraries.designsystem.theme.components_ListItemTwoLinesTrailingSwitch_List item (2 lines) - Trailing Switch_List items_en","",0,], ["libraries.designsystem.theme.components_ListSectionHeaderWithDescriptionAndDivider_List section header with description and divider_List sections_en","",0,], ["libraries.designsystem.theme.components_ListSectionHeaderWithDescription_List section header with description_List sections_en","",0,], @@ -418,30 +424,33 @@ 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",20014,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",20014,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",20014,], -["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",20014,], +["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",20021,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",20021,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",20021,], +["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",20021,], ["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",20014,], -["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",20014,], -["appnav.loggedin_LoggedInView_Day_3_en","appnav.loggedin_LoggedInView_Night_3_en",20014,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",20014,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",20014,], -["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",20014,], -["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",20014,], -["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",20014,], -["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",20014,], -["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",20014,], -["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",20014,], -["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",20014,], -["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",20014,], -["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",20014,], -["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",20014,], -["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",20014,], +["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",20021,], +["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",20021,], +["appnav.loggedin_LoggedInView_Day_3_en","appnav.loggedin_LoggedInView_Night_3_en",20021,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",20021,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",20021,], +["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",20021,], +["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",20021,], +["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",20021,], +["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",20021,], +["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",20021,], +["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",20021,], +["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",20021,], +["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",20021,], +["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",20021,], +["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",20021,], +["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",20021,], ["libraries.designsystem.components.button_MainActionButton_Buttons_en","",0,], -["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",20014,], +["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",20021,], ["libraries.textcomposer.components.markdown_MarkdownTextInput_Day_0_en","libraries.textcomposer.components.markdown_MarkdownTextInput_Night_0_en",0,], +["libraries.designsystem.atomic.atoms_MatrixBadgeAtomNegative_Day_0_en","libraries.designsystem.atomic.atoms_MatrixBadgeAtomNegative_Night_0_en",0,], +["libraries.designsystem.atomic.atoms_MatrixBadgeAtomNeutral_Day_0_en","libraries.designsystem.atomic.atoms_MatrixBadgeAtomNeutral_Night_0_en",0,], +["libraries.designsystem.atomic.atoms_MatrixBadgeAtomPositive_Day_0_en","libraries.designsystem.atomic.atoms_MatrixBadgeAtomPositive_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,], ["libraries.matrix.ui.components_MatrixUserHeader_Day_1_en","libraries.matrix.ui.components_MatrixUserHeader_Night_1_en",0,], @@ -450,7 +459,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","",20014,], +["libraries.mediaviewer.api.viewer_MediaViewerView_2_en","",20021,], ["libraries.mediaviewer.api.viewer_MediaViewerView_3_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_4_en","",0,], ["libraries.mediaviewer.api.viewer_MediaViewerView_5_en","",0,], @@ -462,7 +471,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",20014,], +["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",20021,], ["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,], @@ -479,7 +488,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",20014,], +["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",20021,], ["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,], @@ -487,25 +496,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.crypto.identity_MessagesViewWithIdentityChange_Day_0_en","features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_0_en",20014,], -["features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_en","features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_1_en",20014,], -["features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_2_en","features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_2_en",20017,], -["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",20014,], -["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",20014,], -["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",20014,], -["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",20014,], -["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",20014,], -["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",20014,], -["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",20014,], -["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",20014,], -["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",20014,], -["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",20014,], -["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",20014,], -["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",20014,], -["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",20014,], -["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",20014,], +["features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_0_en","features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_0_en",20021,], +["features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_en","features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_1_en",20021,], +["features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_2_en","features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_2_en",20021,], +["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",20021,], +["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",20021,], +["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",20021,], +["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",20021,], +["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",20021,], +["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",20021,], +["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",20021,], +["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",20021,], +["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",20021,], +["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",20021,], +["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",20021,], +["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",20021,], +["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",20021,], +["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",20021,], ["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",20014,], +["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",20021,], ["libraries.designsystem.theme.components_ModalBottomSheetDark_Bottom Sheets_en","",0,], ["libraries.designsystem.theme.components_ModalBottomSheetLight_Bottom Sheets_en","",0,], ["appicon.element_MonochromeIcon_en","",0,], @@ -514,29 +523,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",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",20014,], -["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",20014,], -["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",20014,], +["features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Day_0_en","features.roomlist.impl.components_NativeSlidingSyncMigrationBanner_Night_0_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",20021,], +["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",20021,], +["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",20021,], ["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",20014,], -["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",20014,], -["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",20014,], -["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",20014,], -["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",20014,], +["features.onboarding.impl_OnBoardingView_Day_0_en","features.onboarding.impl_OnBoardingView_Night_0_en",20021,], +["features.onboarding.impl_OnBoardingView_Day_1_en","features.onboarding.impl_OnBoardingView_Night_1_en",20021,], +["features.onboarding.impl_OnBoardingView_Day_2_en","features.onboarding.impl_OnBoardingView_Night_2_en",20021,], +["features.onboarding.impl_OnBoardingView_Day_3_en","features.onboarding.impl_OnBoardingView_Night_3_en",20021,], +["features.onboarding.impl_OnBoardingView_Day_4_en","features.onboarding.impl_OnBoardingView_Night_4_en",20021,], ["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,], @@ -551,65 +560,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",20014,], -["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",20014,], -["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",20014,], -["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",20014,], -["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",20014,], -["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",20014,], +["libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Day_0_en","libraries.mediaviewer.api.local.pdf_PdfPagesErrorView_Night_0_en",20021,], +["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",20021,], +["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",20021,], +["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",20021,], +["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",20021,], +["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",20021,], ["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",20014,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_7_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",20014,], -["features.lockscreen.impl.unlock_PinUnlockView_Day_7_en","features.lockscreen.impl.unlock_PinUnlockView_Night_7_en",20014,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_7_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",20021,], +["features.lockscreen.impl.unlock_PinUnlockView_Day_7_en","features.lockscreen.impl.unlock_PinUnlockView_Night_7_en",20021,], ["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",20014,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",20014,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",20014,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",20014,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",20014,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",20014,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",20014,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",20014,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",20014,], -["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",20014,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",20014,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",20014,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",20014,], -["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",20014,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",20021,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",20021,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",20021,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",20021,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",20021,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",20021,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",20021,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",20021,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",20021,], +["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",20021,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",20021,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",20021,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",20021,], +["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",20021,], ["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",20014,], -["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",20014,], -["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",20014,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",20014,], -["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",20014,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",20021,], +["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",20021,], +["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",20021,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",20021,], +["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",20021,], ["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",20014,], -["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",20014,], -["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",20014,], -["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",20014,], -["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",20014,], -["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",20014,], -["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",20014,], -["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",20014,], -["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",20014,], -["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",20014,], -["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",20014,], +["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",20021,], +["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",20021,], +["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",20021,], +["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",20021,], +["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",20021,], +["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",20021,], +["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",20021,], +["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",20021,], +["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",20021,], +["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",20021,], +["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",20021,], ["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,], @@ -626,197 +635,194 @@ 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","",20014,], -["features.preferences.impl.root_PreferencesRootViewDark_1_en","",20014,], -["features.preferences.impl.root_PreferencesRootViewLight_0_en","",20014,], -["features.preferences.impl.root_PreferencesRootViewLight_1_en","",20014,], +["features.preferences.impl.root_PreferencesRootViewDark_0_en","",20021,], +["features.preferences.impl.root_PreferencesRootViewDark_1_en","",20021,], +["features.preferences.impl.root_PreferencesRootViewLight_0_en","",20021,], +["features.preferences.impl.root_PreferencesRootViewLight_1_en","",20021,], ["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","",20014,], -["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",20014,], +["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",20021,], +["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",20021,], ["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",20014,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",20014,], -["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",20014,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",20014,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",20014,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",20014,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",20014,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",20014,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",20014,], -["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",20014,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",20014,], -["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",20014,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",20014,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",20014,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",20014,], -["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",20014,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",20021,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",20021,], +["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",20021,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",20021,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",20021,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",20021,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",20021,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",20021,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",20021,], +["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",20021,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",20021,], +["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",20021,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",20021,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",20021,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",20021,], +["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",20021,], ["libraries.designsystem.theme.components_RadioButton_Toggles_en","",0,], -["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",20014,], -["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",20014,], +["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",20021,], +["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",20021,], ["features.rageshake.api.preferences_RageshakePreferencesView_Day_1_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_1_en",0,], ["features.messages.impl.timeline.components.reactionsummary_ReactionSummaryViewContent_Day_0_en","features.messages.impl.timeline.components.reactionsummary_ReactionSummaryViewContent_Night_0_en",0,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",20014,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",20014,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",20014,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",20014,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",20014,], -["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",20014,], -["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",20014,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",20021,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",20021,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",20021,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",20021,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",20021,], +["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",20021,], +["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",20021,], ["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",20014,], -["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",20014,], -["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",20014,], -["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",20014,], -["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",20014,], -["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",20014,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",20014,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",20014,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",20014,], -["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",20014,], -["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en",20014,], -["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",20014,], +["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",20021,], +["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",20021,], +["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",20021,], +["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",20021,], +["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",20021,], +["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",20021,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",20021,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",20021,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",20021,], +["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",20021,], +["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en",20021,], +["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",20021,], ["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",20014,], -["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en",20014,], -["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",20014,], -["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",20014,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",20014,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",20014,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",20014,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",20014,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",20014,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",20014,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",20014,], -["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",20014,], +["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en",20021,], +["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en",20021,], +["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",20021,], +["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",20021,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",20021,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",20021,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",20021,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",20021,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",20021,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",20021,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",20021,], +["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",20021,], ["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",20014,], -["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","",20014,], -["features.roomdetails.impl_RoomDetailsDark_10_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_11_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_12_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_13_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_1_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_2_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_3_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_4_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_5_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_6_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_7_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_8_en","",20014,], -["features.roomdetails.impl_RoomDetailsDark_9_en","",20014,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",20014,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",20014,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",20014,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",20014,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",20014,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",20014,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",20014,], -["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",20014,], -["features.roomdetails.impl_RoomDetails_0_en","",20014,], -["features.roomdetails.impl_RoomDetails_10_en","",20014,], -["features.roomdetails.impl_RoomDetails_11_en","",20014,], -["features.roomdetails.impl_RoomDetails_12_en","",20014,], -["features.roomdetails.impl_RoomDetails_13_en","",20014,], -["features.roomdetails.impl_RoomDetails_1_en","",20014,], -["features.roomdetails.impl_RoomDetails_2_en","",20014,], -["features.roomdetails.impl_RoomDetails_3_en","",20014,], -["features.roomdetails.impl_RoomDetails_4_en","",20014,], -["features.roomdetails.impl_RoomDetails_5_en","",20014,], -["features.roomdetails.impl_RoomDetails_6_en","",20014,], -["features.roomdetails.impl_RoomDetails_7_en","",20014,], -["features.roomdetails.impl_RoomDetails_8_en","",20014,], -["features.roomdetails.impl_RoomDetails_9_en","",20014,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",20014,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",20014,], -["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",20014,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",20014,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",20014,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",20014,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",20014,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",20014,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",20014,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",20014,], -["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",20014,], -["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",20014,], -["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",20014,], +["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",20021,], +["features.roomdetails.impl_RoomDetailsDark_0_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_10_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_11_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_12_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_13_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_1_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_2_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_3_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_4_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_5_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_6_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_7_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_8_en","",20021,], +["features.roomdetails.impl_RoomDetailsDark_9_en","",20021,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",20021,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",20021,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",20021,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",20021,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",20021,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",20021,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",20021,], +["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",20021,], +["features.roomdetails.impl_RoomDetails_0_en","",20021,], +["features.roomdetails.impl_RoomDetails_10_en","",20021,], +["features.roomdetails.impl_RoomDetails_11_en","",20021,], +["features.roomdetails.impl_RoomDetails_12_en","",20021,], +["features.roomdetails.impl_RoomDetails_13_en","",20021,], +["features.roomdetails.impl_RoomDetails_1_en","",20021,], +["features.roomdetails.impl_RoomDetails_2_en","",20021,], +["features.roomdetails.impl_RoomDetails_3_en","",20021,], +["features.roomdetails.impl_RoomDetails_4_en","",20021,], +["features.roomdetails.impl_RoomDetails_5_en","",20021,], +["features.roomdetails.impl_RoomDetails_6_en","",20021,], +["features.roomdetails.impl_RoomDetails_7_en","",20021,], +["features.roomdetails.impl_RoomDetails_8_en","",20021,], +["features.roomdetails.impl_RoomDetails_9_en","",20021,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",20021,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",20021,], +["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",20021,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",20021,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",20021,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",20021,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",20021,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",20021,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",20021,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",20021,], +["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",20021,], +["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",20021,], +["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",20021,], ["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",20014,], -["features.roomlist.impl.components_RoomListContentView_Day_4_en","features.roomlist.impl.components_RoomListContentView_Night_4_en",20014,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",20014,], -["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",20014,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",20014,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",20014,], -["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",20014,], +["features.roomlist.impl.components_RoomListContentView_Day_3_en","features.roomlist.impl.components_RoomListContentView_Night_3_en",20021,], +["features.roomlist.impl.components_RoomListContentView_Day_4_en","features.roomlist.impl.components_RoomListContentView_Night_4_en",20021,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",20021,], +["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",20021,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",20021,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",20021,], +["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",20021,], ["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",20014,], -["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",20014,], -["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",20014,], -["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",20014,], -["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",20014,], -["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",20014,], -["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",20014,], -["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",20014,], -["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",20014,], -["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",20014,], -["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",20014,], +["features.roomlist.impl.search_RoomListSearchContent_Day_1_en","features.roomlist.impl.search_RoomListSearchContent_Night_1_en",20021,], +["features.roomlist.impl.search_RoomListSearchContent_Day_2_en","features.roomlist.impl.search_RoomListSearchContent_Night_2_en",20021,], +["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",20021,], +["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",20021,], +["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",20021,], +["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",20021,], +["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",20021,], +["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",20021,], +["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",20021,], +["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",20021,], +["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",20021,], ["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",20014,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",20014,], -["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",20014,], -["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",20014,], -["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",20014,], -["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",20014,], -["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",20014,], -["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",20014,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",20021,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",20021,], +["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",20021,], +["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",20021,], +["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",20021,], +["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",20021,], +["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",20021,], +["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",20021,], ["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",20014,], -["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",20014,], -["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",20014,], +["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",20021,], +["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",20021,], +["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",20021,], ["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",20014,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",20014,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",20014,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",20014,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",20014,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_0_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_0_en",20021,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_1_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_1_en",20021,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_2_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_2_en",20021,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_3_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_3_en",20021,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_4_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_4_en",20021,], ["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_5_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_5_en",0,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",20014,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",20014,], -["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",20014,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_6_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_6_en",20021,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_7_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_7_en",20021,], +["features.roomdetails.impl.members.moderation_RoomMembersModerationView_Day_8_en","features.roomdetails.impl.members.moderation_RoomMembersModerationView_Night_8_en",20021,], ["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",20014,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",20014,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",20014,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",20014,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",20014,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",20014,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",20014,], -["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",20014,], -["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",20014,], -["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",20014,], -["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",20014,], -["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",20014,], -["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",20014,], -["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",20014,], -["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",20014,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",20021,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",20021,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",20021,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",20021,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",20021,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",20021,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",20021,], +["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",20021,], +["features.createroom.impl.components_RoomPrivacyOption_Day_0_en","features.createroom.impl.components_RoomPrivacyOption_Night_0_en",20021,], +["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",20021,], +["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",20021,], +["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",20021,], +["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",20021,], +["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",20021,], +["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",20021,], ["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,], @@ -839,10 +845,12 @@ 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",20014,], -["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",20014,], -["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",20014,], -["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",20014,], +["features.roomlist.impl.components_RoomSummaryRow_Day_29_en","features.roomlist.impl.components_RoomSummaryRow_Night_29_en",20021,], +["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",20021,], +["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",20021,], +["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",20021,], +["features.roomlist.impl.components_RoomSummaryRow_Day_32_en","features.roomlist.impl.components_RoomSummaryRow_Night_32_en",0,], +["features.roomlist.impl.components_RoomSummaryRow_Day_33_en","features.roomlist.impl.components_RoomSummaryRow_Night_33_en",0,], ["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,], @@ -850,58 +858,58 @@ 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",20014,], -["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",20014,], -["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",20014,], +["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",20021,], +["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",20021,], +["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",20021,], ["appicon.enterprise_RoundIcon_en","",0,], ["appicon.element_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",20014,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",20014,], -["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",20014,], +["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",20021,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",20021,], +["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",20021,], ["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","",20014,], +["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search views_en","",20021,], ["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","",20014,], -["features.createroom.impl.components_SearchSingleUserResultItem_en","",20014,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",20014,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",20014,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",20014,], -["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",20014,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",20014,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",20014,], -["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",20014,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",20014,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",20014,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",20014,], -["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_10_en","features.securebackup.impl.root_SecureBackupRootView_Night_10_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_11_en","features.securebackup.impl.root_SecureBackupRootView_Night_11_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_12_en","features.securebackup.impl.root_SecureBackupRootView_Night_12_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_13_en","features.securebackup.impl.root_SecureBackupRootView_Night_13_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",20014,], -["features.securebackup.impl.root_SecureBackupRootView_Day_9_en","features.securebackup.impl.root_SecureBackupRootView_Night_9_en",20014,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",20014,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",20014,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",20014,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",20014,], -["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",20014,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",20014,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",20014,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",20014,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",20014,], -["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",20014,], +["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",20021,], +["features.createroom.impl.components_SearchSingleUserResultItem_en","",20021,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",20021,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",20021,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",20021,], +["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",20021,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en",20021,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en",20021,], +["features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en","features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en",20021,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",20021,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",20021,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",20021,], +["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_10_en","features.securebackup.impl.root_SecureBackupRootView_Night_10_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_11_en","features.securebackup.impl.root_SecureBackupRootView_Night_11_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_12_en","features.securebackup.impl.root_SecureBackupRootView_Night_12_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_13_en","features.securebackup.impl.root_SecureBackupRootView_Night_13_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",20021,], +["features.securebackup.impl.root_SecureBackupRootView_Day_9_en","features.securebackup.impl.root_SecureBackupRootView_Night_9_en",20021,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",20021,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",20021,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",20021,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",20021,], +["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",20021,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",20021,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",20021,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",20021,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",20021,], +["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",20021,], ["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_SelectedRoom_Day_2_en","libraries.matrix.ui.components_SelectedRoom_Night_2_en",0,], @@ -909,11 +917,11 @@ export const screenshots = [ ["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",20014,], -["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",20014,], -["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",20014,], -["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",20014,], -["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",20014,], +["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",20021,], +["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",20021,], +["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",20021,], +["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",20021,], +["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",20021,], ["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,], @@ -923,26 +931,26 @@ 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",20014,], -["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",20014,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",20014,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",20014,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",20014,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",20014,], -["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",20014,], +["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",20021,], +["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",20021,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",20021,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",20021,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",20021,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",20021,], +["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",20021,], ["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",20014,], -["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",20014,], -["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",20014,], -["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",20014,], -["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",20014,], -["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",20014,], -["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",20014,], -["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",20014,], -["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",20014,], -["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",20014,], +["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",20021,], +["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",20021,], +["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",20021,], +["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",20021,], +["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",20021,], +["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",20021,], +["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",20021,], +["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",20021,], +["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",20021,], +["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",20021,], ["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,], @@ -951,7 +959,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",20014,], +["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",20021,], ["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,], @@ -961,37 +969,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",20014,], +["features.location.api.internal_StaticMapPlaceholder_Day_1_en","features.location.api.internal_StaticMapPlaceholder_Night_1_en",20021,], ["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",20014,], +["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",20021,], ["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",20014,], +["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",20021,], ["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",20014,], -["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",20014,], -["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",20014,], -["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",20014,], -["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",20014,], -["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",20014,], -["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",20014,], +["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",20021,], +["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",20021,], +["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",20021,], +["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",20021,], +["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",20021,], +["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",20021,], +["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",20021,], ["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,], @@ -1003,26 +1011,28 @@ 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","",20014,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",20014,], -["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",20014,], +["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime pickers_en","",20021,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime pickers_en","",20021,], +["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime pickers_en","",20021,], ["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",20014,], -["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",20014,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",20021,], +["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",20021,], ["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",20014,], +["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",20021,], ["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",20014,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",20014,], -["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",20014,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",20021,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",20021,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",0,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_3_en",0,], +["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_4_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_4_en",20024,], ["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,], @@ -1030,16 +1040,17 @@ 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",20014,], -["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",20014,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",20021,], +["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",20021,], ["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",20014,], +["features.messages.impl.timeline.components_TimelineItemEventRowUtd_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowUtd_Night_0_en",20024,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",20021,], ["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",20014,], -["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",20014,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",20021,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",20021,], ["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,], @@ -1048,38 +1059,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",20014,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",20021,], ["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",20014,], +["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",20021,], ["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","",20014,], +["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",20021,], ["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",20014,], -["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",20014,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",20021,], +["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",20021,], ["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",20014,], +["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",20021,], ["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",20014,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",20014,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",20014,], -["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",20014,], -["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",20014,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",20021,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",20021,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",20021,], +["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",20021,], +["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",20021,], ["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",20014,], -["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",20014,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",20021,], +["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",20021,], ["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",20014,], +["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",20021,], ["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,], @@ -1088,8 +1099,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",20014,], -["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",20014,], +["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",20021,], +["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",20021,], ["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,], @@ -1102,7 +1113,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",20014,], +["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",20021,], ["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,], @@ -1126,84 +1137,83 @@ 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",20014,], -["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",20014,], +["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",20021,], +["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",20021,], ["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",20014,], -["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",20014,], -["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",20014,], -["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",20014,], -["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",20014,], -["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",20014,], -["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",20014,], -["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",20014,], +["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",20021,], +["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",20021,], +["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",20021,], +["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",20021,], +["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",20021,], +["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",20021,], +["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",20021,], +["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",20021,], ["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",20014,], +["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",20021,], ["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",20014,], +["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",20021,], ["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",20014,], +["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",20021,], ["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",20014,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",20014,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",20014,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",20014,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",20014,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",20014,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",20014,], -["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",20014,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",20021,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",20021,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",20021,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",20021,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",20021,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",20021,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",20021,], +["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",20021,], ["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",20014,], -["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",20014,], -["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",20014,], -["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",20014,], -["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",20014,], -["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",20014,], +["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",20021,], +["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",20021,], +["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",20021,], +["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",20021,], +["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",20021,], +["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",20021,], ["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","",20014,], +["libraries.matrix.ui.components_UnresolvedUserRow_en","",20021,], ["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",20014,], -["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",20014,], -["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",20014,], -["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",20014,], +["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",20021,], +["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",20021,], +["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",20021,], +["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",20021,], ["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",20014,], +["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",20021,], ["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",20014,], +["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",20021,], ["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",20014,], -["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",20014,], -["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",20014,], -["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",20014,], -["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",20014,], -["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",20014,], -["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",20014,], -["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",20014,], -["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",20014,], -["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",20014,], -["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",20014,], +["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",20021,], +["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",20021,], +["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",20021,], +["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",20021,], +["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",20021,], +["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",20021,], +["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",20021,], +["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",20021,], +["features.verifysession.impl_VerifySelfSessionView_Day_0_en","features.verifysession.impl_VerifySelfSessionView_Night_0_en",20021,], +["features.verifysession.impl_VerifySelfSessionView_Day_10_en","features.verifysession.impl_VerifySelfSessionView_Night_10_en",20021,], ["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",20014,], -["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",20014,], -["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",20014,], -["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",20014,], -["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",20014,], -["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",20014,], -["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",20014,], -["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",20014,], -["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",20014,], +["features.verifysession.impl_VerifySelfSessionView_Day_1_en","features.verifysession.impl_VerifySelfSessionView_Night_1_en",20021,], +["features.verifysession.impl_VerifySelfSessionView_Day_2_en","features.verifysession.impl_VerifySelfSessionView_Night_2_en",20021,], +["features.verifysession.impl_VerifySelfSessionView_Day_3_en","features.verifysession.impl_VerifySelfSessionView_Night_3_en",20021,], +["features.verifysession.impl_VerifySelfSessionView_Day_4_en","features.verifysession.impl_VerifySelfSessionView_Night_4_en",20021,], +["features.verifysession.impl_VerifySelfSessionView_Day_5_en","features.verifysession.impl_VerifySelfSessionView_Night_5_en",20021,], +["features.verifysession.impl_VerifySelfSessionView_Day_6_en","features.verifysession.impl_VerifySelfSessionView_Night_6_en",20021,], +["features.verifysession.impl_VerifySelfSessionView_Day_7_en","features.verifysession.impl_VerifySelfSessionView_Night_7_en",20021,], +["features.verifysession.impl_VerifySelfSessionView_Day_8_en","features.verifysession.impl_VerifySelfSessionView_Night_8_en",20021,], +["features.verifysession.impl_VerifySelfSessionView_Day_9_en","features.verifysession.impl_VerifySelfSessionView_Night_9_en",20021,], ["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,], @@ -1218,6 +1228,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",20014,], +["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",20021,], ["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.createroom.impl.components_RoomPrivacyOption_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Day_0_en.png index 5cbe107c30..dff2945ebf 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5a5d782c4a167bd68d9dc2f5ac39bf3bc2759b741806bfc09dfccfcd8ac6c59e -size 34010 +oid sha256:5ef1c5aa8a1be3fc5c2fd55b8fde64f7ec7c3d12037e4e2b08049c6a1ea21a3d +size 30128 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Night_0_en.png index 2f3c098383..ca8cc5e534 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.components_RoomPrivacyOption_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd2b9b57c6e4a7ff78c66cc81f02234320be53dc362eaddb73b012c6e145d874 -size 32847 +oid sha256:5f5762dcb065b0406441e7f67d2b3a120f11bed71d1f56b96cb334b831d96ce3 +size 29511 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en.png index ae9ae05dae..8337a1e532 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f38ab6428fc8607b78894c6810cf1d87dd13f01992edf36634573f20cbb9c9e -size 57404 +oid sha256:8344c5a707a3af3aaeab22006e84bd93f1cdf8389199d88beb276a8b672b0a4a +size 50817 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 8aff8cd848..0f46643716 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:ef11ddc874c2aae050528970fcd4fbd36b1d6dce739614364ce683c6bfde7881 -size 79119 +oid sha256:2c39135c177aa7b22c9451ef86bee41a216931759448ed2764d3bef4ea410230 +size 72685 diff --git a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en.png index 0a7cc1ced6..82896e9306 100644 --- a/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.createroom.impl.configureroom_ConfigureRoomView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15b314432f3fda2441e94c10416bd06d30b83584e2db839cb77f73a09d59e7cf -size 55356 +oid sha256:b05e067c92747ac92f10efcec20df0a1a7e1040c0be7a4b04009a5cf50c0aeb5 +size 49720 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 c5262f955d..02e544dca1 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:feb07da1d695a54c3b92e7c073b04a8a3eee4e0be65f547ded6118c7c53d45cc -size 78370 +oid sha256:79b1423947e9f87d9139f1742f845a80d6474c0b36d3557b1c30fee6a3e808ad +size 71946 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 8aa7ee7058..30af0ac691 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:a202e12e176f62f47fbb44b3191b869a0a2377785da0e840e6d76c434f83a33c -size 20811 +oid sha256:d97fb4f902a45f03f60c5fbcb9dbcbb1e0699c89832a21a65c940dabf762e167 +size 32427 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 index 8aa7ee7058..30af0ac691 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a202e12e176f62f47fbb44b3191b869a0a2377785da0e840e6d76c434f83a33c -size 20811 +oid sha256:d97fb4f902a45f03f60c5fbcb9dbcbb1e0699c89832a21a65c940dabf762e167 +size 32427 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 index 091dd72f00..be1a78c99f 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3728049139125f924a03e60cdc7afd40b8a4a780dc75141132deff2494319ae1 -size 24834 +oid sha256:9aaff674eb4d0079c4c66f07657341c311e2d6ff20809b3f3a31f756d496a1f1 +size 36852 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 index 6f4a4cae9d..e1e2a85a6d 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6ab5fbec23f6d2e2c676d8d47269a673d75bb5baa5ee3ec8865d25bd8cab47e0 -size 39222 +oid sha256:40bdc9bd677b6d4ca459d0aebc66c875450e62138731040bc34c29405bef5d80 +size 51432 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 index 8bd3beef77..5726f61609 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:487d6f57e9a2692c92b7398738861f4f2ec34e47093e1f0bcf922036078f4814 -size 29427 +oid sha256:2f8aeea3ba0a1aed53900f6451e91b71eab90b991527b1888e1a28e289854730 +size 42049 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 8c24419d21..5841c728a4 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:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a -size 21828 +oid sha256:9cf205ea97690e47b25e9b0edb22e004b0d0348d0ca9ddfb677813ee6378e0f9 +size 33574 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 7eb6d7a603..f4e2028eca 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:331c84158362c6b187817f869b116cbddd5cd649cadcd77838dbf597c2307ede -size 21787 +oid sha256:5a32c172f73d9b9d71f9b134ff79833d7c768d20324c0fda7d1a33c815914b05 +size 33484 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 081ac4b59d..5d6f49dfe7 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:3bb3fe56b0aa449bb685f04dd536e72a9e74c35b9c352685e90c562dc08b405a -size 26549 +oid sha256:c144327544cad0a8795205d197bd9c6fb4b735aec0a667a066c48dcc369e8afa +size 38937 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 39d672eddd..4e4a82b2b7 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:5dc2e635fd87eca043ef02138704c0df3a088d3c1bf5deb0600c79e99f87f4dc -size 19174 +oid sha256:9e11e12f7a6b5d91a175280d5ba9e34670856889488e1eb4deed6be39d2e47e5 +size 30816 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 8c24419d21..5841c728a4 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:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a -size 21828 +oid sha256:9cf205ea97690e47b25e9b0edb22e004b0d0348d0ca9ddfb677813ee6378e0f9 +size 33574 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 8c24419d21..5841c728a4 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:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a -size 21828 +oid sha256:9cf205ea97690e47b25e9b0edb22e004b0d0348d0ca9ddfb677813ee6378e0f9 +size 33574 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 8c24419d21..5841c728a4 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:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a -size 21828 +oid sha256:9cf205ea97690e47b25e9b0edb22e004b0d0348d0ca9ddfb677813ee6378e0f9 +size 33574 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 12a6f2a522..bb90b5f586 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:272d02d5baf278e6d21b0f7bc468528aa9df7255729dae2a3fadbd04c4838f9e -size 20810 +oid sha256:8266c3af58782b0d4d9c6fe9801474f3cfa4c5131d0922a32815c497a2ff8876 +size 32425 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 index 8c24419d21..5841c728a4 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0ba3fc71ba908cca2557940bfbf2282103cf02580555d4042ae2acaa95b38e8a -size 21828 +oid sha256:9cf205ea97690e47b25e9b0edb22e004b0d0348d0ca9ddfb677813ee6378e0f9 +size 33574 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 34ae1182c1..c75b2423f4 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:1b7c8180e8d0c43ee3b1a9eaeab5f7d0e902ab040bc3bc90cb4c5ba6888a024c -size 20330 +oid sha256:1f925391dfd47629c15b31fe644eb66e43029064aebf73bc7136aa29763cef0a +size 31836 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 index 34ae1182c1..c75b2423f4 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1b7c8180e8d0c43ee3b1a9eaeab5f7d0e902ab040bc3bc90cb4c5ba6888a024c -size 20330 +oid sha256:1f925391dfd47629c15b31fe644eb66e43029064aebf73bc7136aa29763cef0a +size 31836 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 index 707c20fede..121bf9f0b9 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:912d13b5103bafc4c8698e905f141aed8232d6a8b671031634276e74a8a413ad -size 24378 +oid sha256:53f3893f337b42d43d85357bc0d779a8bcd7ad51444bd318e885fe01f91392ee +size 36089 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 index 2ce915dfa6..1d95060de3 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c015081401266d8c18a79bcae3453d220a2660412478d9d19a9c447e79bb5d12 -size 38423 +oid sha256:441bab6f8b50f584cc21d3478872b317995f8547e6078527b69fe3efaff3066e +size 50596 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 index 1407f85061..720481971d 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f13b6aeb9c6a72a04102334a818c215d687bfa75b73e23e0a7cffd1b8a117ed2 -size 28672 +oid sha256:d5e6a4cba7bd3131c04814ab35ca28c1229ff3d3f6dca66073ac73ee29b00300 +size 41197 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 2ce3098299..05465833c4 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:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06 -size 21280 +oid sha256:ad59cb4b2f8d4acb93f71d882ddac39db538bce882e19fc711331550429a2692 +size 32862 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 aa70491b15..7a52909e96 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:c9e3732d11921769aad90dd29a4e676079be7a3cdbe2381222c3f196a8567f9e -size 21230 +oid sha256:3f03f68f065c52756b71e08fac668a263adaaf288bfdb8e4567848ce93540222 +size 32879 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 ea6888c694..f6c05d64d5 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:6addb08090717d2f70fd59636861374e19ea3d9074e204108cbdb89a3d1733e9 -size 26081 +oid sha256:b1e1947a0bb9a7cc951e272952a7811867cda7a9b64aed0fd994ee14bd309f9e +size 38166 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 43233f6138..4521a91e16 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:a53a5892a85f6ac4c1dd0c5052f3e16c17b81344cef07efefc694a9615b16d57 -size 18729 +oid sha256:0edb47639a0d1338fa5983ab31867a96532dcc174d4d1f6bf7cf646a135fca9f +size 30240 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 2ce3098299..05465833c4 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:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06 -size 21280 +oid sha256:ad59cb4b2f8d4acb93f71d882ddac39db538bce882e19fc711331550429a2692 +size 32862 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 2ce3098299..05465833c4 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:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06 -size 21280 +oid sha256:ad59cb4b2f8d4acb93f71d882ddac39db538bce882e19fc711331550429a2692 +size 32862 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 2ce3098299..05465833c4 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:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06 -size 21280 +oid sha256:ad59cb4b2f8d4acb93f71d882ddac39db538bce882e19fc711331550429a2692 +size 32862 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 d12761dda6..00e952c6ff 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:30ce4665555f92354269d2cb7d6076dc3a5780b122ca0a613d71023b45a696c5 -size 20330 +oid sha256:d8983c85f207fea3ff7d66eb9128dc0c6404d24feae1e102d981e0398414f663 +size 31842 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 index 2ce3098299..05465833c4 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4faa6ca462f957bf4b101bd031acb8decc37aaef0be7eabf1aad2cfca80b1f06 -size 21280 +oid sha256:ad59cb4b2f8d4acb93f71d882ddac39db538bce882e19fc711331550429a2692 +size 32862 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en.png index 02aa08a85a..e847dc4380 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d833115a618913323d4dd05971be039e819e565876fbc55fb1ea4c293ea0c11e -size 20466 +oid sha256:3954184d0a03b4a4c2d396e108a4c939d2d07e54eaa59bd886c4b884f423be38 +size 16658 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 016f0a8464..1f09073860 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:07a4c3040ecadf18b46da21edbc9f83a638d552f7fd5f5b033723cba42ce0fd3 -size 18278 +oid sha256:fb810bb206a376f1ce0d5c8f13cbcfc6e160a27bbbba01cadb39e217683b47c7 +size 14426 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en.png index 8d8d452bc6..b200bc313b 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:298f9f2b1f4144764e4255193f05c10770198c3177afdb20580d49e3365a533d -size 20643 +oid sha256:72ffcd02d6e56b3d84ddff56e67bf082cf6867d970e5c90e4c65d7214efc1055 +size 16850 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 016f0a8464..1f09073860 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:07a4c3040ecadf18b46da21edbc9f83a638d552f7fd5f5b033723cba42ce0fd3 -size 18278 +oid sha256:fb810bb206a376f1ce0d5c8f13cbcfc6e160a27bbbba01cadb39e217683b47c7 +size 14426 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en.png index 5dc7b30d1c..3e4f3140b7 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:53b63ab57dfa46fe9499ef68b8aa0fb2a585260bfbb48e9e11b99dc7cb0b9d6c -size 20012 +oid sha256:9ec24e0c0c8ef348b79fca7c884fc04d2959ba3eb68cf86673050e6af5ef2513 +size 16157 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 7cee546578..d1041f1751 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:3d44734c04f2ad05aedbee0f2fd56c4dbc7c0ac6e6eefbd73a173e15d06f78a7 -size 17872 +oid sha256:319f3ca5dadb404427e6d87046321d7b38bd7b31a085e74d401ede564c083e0f +size 13980 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en.png index 00d4d0540a..abab10af9b 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ab2de82bc97d8c982b13feeac6f733784c6cb19c713eeceaa3e6ce244a659234 -size 20233 +oid sha256:df0826b4c857daef4fe641b2dbe52afce3c3e02c74c25d1adbaa7231525c6cae +size 16381 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 7cee546578..d1041f1751 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:3d44734c04f2ad05aedbee0f2fd56c4dbc7c0ac6e6eefbd73a173e15d06f78a7 -size 17872 +oid sha256:319f3ca5dadb404427e6d87046321d7b38bd7b31a085e74d401ede564c083e0f +size 13980 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 eeae707640..549e6de403 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:939f2bbd4b8be1d3bf14bc5294ef31da7bec918e02676f829b9ba9ecc4346c61 -size 46891 +oid sha256:0837cd46f284fae8d3f6a929b52eb5d7a27f43af7b38ac002a5a36c454998934 +size 43133 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 0a4c7588a1..202ea9dfe4 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:5b1be8c9342910b83a200e9bbb5707ef0c1b167f1499eb50d455761dbad7f1c2 -size 44706 +oid sha256:63241cb82588d2d3fe27a19de265fb5b0cf5e7d812a783e931ac235df3c64412 +size 40885 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 afaef5b95c..046fddd15c 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:3e7dd01afbf1d7f08148773d92185f265adff13800e0d52faf77ff84861c2728 -size 49516 +oid sha256:e6f0aee13c4ad36408edbbeb2fd3350010fe0a47a1f861dfed014ab133674a17 +size 57571 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 afaef5b95c..046fddd15c 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:3e7dd01afbf1d7f08148773d92185f265adff13800e0d52faf77ff84861c2728 -size 49516 +oid sha256:e6f0aee13c4ad36408edbbeb2fd3350010fe0a47a1f861dfed014ab133674a17 +size 57571 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 aef3f418f7..c916630cac 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:939377441cdc93b9b9631d9fa7eb6b56c5a6ffb63283865998ef049bcea987bf -size 46890 +oid sha256:9cdf1234089633a8794f6f8f0f0d149dd9c210beec8715fc5dd111d34e619754 +size 51277 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 d228caa844..67e0439241 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:0bafa7eae7481bf5bd4ecc4253a154735d4de80ea3d203860ee1d4518f7e68ae -size 45684 +oid sha256:000430ba03935ea53fef3c76205d7ea73c72aecc3951974fa67c77235bfaf1a8 +size 41940 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 4bd7e4b362..db50cc02a0 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:97b7d3307f62869cf8fdf08f01bc09b23a84e14c81c263529afa73833e2287de -size 43444 +oid sha256:39adceef0bb8ff4ea6386c778f1888d1f1b8f5b3b1f845edab865702a11477de +size 39671 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 660257fafc..615f9fbe33 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:edbcd2b8ffacda8ddd5e583f1e203f43f7123e36829f4196f9e7a88fd974086c -size 48005 +oid sha256:aa6b6b8b44fbd9b99a7e2e58d37a27806eac5a663028ee37e24f465b0e92d1bd +size 55978 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 660257fafc..615f9fbe33 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:edbcd2b8ffacda8ddd5e583f1e203f43f7123e36829f4196f9e7a88fd974086c -size 48005 +oid sha256:aa6b6b8b44fbd9b99a7e2e58d37a27806eac5a663028ee37e24f465b0e92d1bd +size 55978 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 34f0edc309..d252ad2507 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:3528219891548ab39757986f156aa5df5fa076c7a3c3a1e4197b83340f54bc59 -size 43915 +oid sha256:91668ddafe791de3d0a095777b9c29c79796d7e3c417dcb5270b202d671b31d9 +size 48569 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 dbed957d5f..c2e9b21537 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:b427efc6e08375286d96072d2d46e457a480ce5073d85d9bf5f42d7c4ccf72ac -size 48234 +oid sha256:d890b06789242d9794b168722907c26370a088162d9e435e1a0d3b21a57b01df +size 44451 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 2fbb331aac..89b4854c63 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:300683270755e352faddcad7cc4ec7fb3af4b342a5719e1ab473a7b522d3b523 -size 46228 +oid sha256:199e7e41b64c3b16c9ed15de70482babeecffbfe048c75a4740844de7fce0284 +size 42273 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 afaef5b95c..046fddd15c 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:3e7dd01afbf1d7f08148773d92185f265adff13800e0d52faf77ff84861c2728 -size 49516 +oid sha256:e6f0aee13c4ad36408edbbeb2fd3350010fe0a47a1f861dfed014ab133674a17 +size 57571 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 afaef5b95c..046fddd15c 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:3e7dd01afbf1d7f08148773d92185f265adff13800e0d52faf77ff84861c2728 -size 49516 +oid sha256:e6f0aee13c4ad36408edbbeb2fd3350010fe0a47a1f861dfed014ab133674a17 +size 57571 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 aef3f418f7..c916630cac 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:939377441cdc93b9b9631d9fa7eb6b56c5a6ffb63283865998ef049bcea987bf -size 46890 +oid sha256:9cdf1234089633a8794f6f8f0f0d149dd9c210beec8715fc5dd111d34e619754 +size 51277 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 e4da2b07a7..260ef0100b 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:84689d27f8fda40b668fc95a68966f1e39fb73cd2da14b09cb9900c88c07008f -size 46922 +oid sha256:e53f63a92a5692f395615dba771b0a688a1693e7b715866667a6945d1e349f5d +size 43176 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 c24349984a..5a2ba55bee 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:42e07c5000f0b6ce7baa35807504fcf6edbceff179a349a142c337dae822a9a8 -size 44906 +oid sha256:4637c3b2e4c171389ceabd36a53af376cab9f5f4fe8f99fcc535dff34acf45f9 +size 41088 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 660257fafc..615f9fbe33 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:edbcd2b8ffacda8ddd5e583f1e203f43f7123e36829f4196f9e7a88fd974086c -size 48005 +oid sha256:aa6b6b8b44fbd9b99a7e2e58d37a27806eac5a663028ee37e24f465b0e92d1bd +size 55978 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 660257fafc..615f9fbe33 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:edbcd2b8ffacda8ddd5e583f1e203f43f7123e36829f4196f9e7a88fd974086c -size 48005 +oid sha256:aa6b6b8b44fbd9b99a7e2e58d37a27806eac5a663028ee37e24f465b0e92d1bd +size 55978 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 34f0edc309..d252ad2507 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:3528219891548ab39757986f156aa5df5fa076c7a3c3a1e4197b83340f54bc59 -size 43915 +oid sha256:91668ddafe791de3d0a095777b9c29c79796d7e3c417dcb5270b202d671b31d9 +size 48569 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 858308ce9a..528c702f24 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:b4ad563a92ae27cd0a1bb939409bcff556d6ba36d2cfe6ab4034740a5fdfff93 -size 48092 +oid sha256:c5435926f4a54e99902b78881c59d9d816110e401bcb92baf3b2fca844338f31 +size 48182 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 911e097c33..79198e05f9 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:46a8d95458d18e547c82970f19f369823714712fe6b1424c9f4ca39c6169662c -size 47176 +oid sha256:a6c90e5be60738ded8312822f95279aa76d3ec8d86265164f4e3e31dbcce61c5 +size 47355 From 2531ccf8e98079e2b3412ba202cb0e168ace4b4e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 28 Oct 2024 10:56:37 +0100 Subject: [PATCH 69/93] Add media upload setting. Compress media regarding the settings. Image compression change quality to 78% Video compression change size to 720 x 48 --- .../messages/impl/attachments/Attachment.kt | 2 +- .../preview/AttachmentsPreviewPresenter.kt | 1 - .../AttachmentsPreviewStateProvider.kt | 1 - .../MessageComposerPresenter.kt | 7 +-- features/preferences/impl/build.gradle.kts | 1 + .../impl/advanced/AdvancedSettingsEvents.kt | 1 + .../advanced/AdvancedSettingsPresenter.kt | 7 +++ .../impl/advanced/AdvancedSettingsState.kt | 1 + .../advanced/AdvancedSettingsStateProvider.kt | 9 ++- .../impl/advanced/AdvancedSettingsView.kt | 26 ++++++++ .../advanced/AdvancedSettingsPresenterTest.kt | 16 +++++ .../impl/advanced/AdvancedSettingsViewTest.kt | 62 +++++++++++++++++-- .../features/share/impl/SharePresenter.kt | 9 ++- gradle/libs.versions.toml | 2 +- libraries/mediaupload/api/build.gradle.kts | 2 + .../libraries/mediaupload/api/MediaSender.kt | 8 ++- .../mediaupload/api/MediaSenderTest.kt | 18 +++--- .../mediaupload/impl/ImageCompressor.kt | 2 +- .../mediaupload/impl/VideoCompressor.kt | 2 +- .../api/store/SessionPreferencesStore.kt | 4 ++ .../store/DefaultSessionPreferencesStore.kt | 4 ++ .../test/InMemorySessionPreferencesStore.kt | 6 ++ 22 files changed, 162 insertions(+), 29 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/Attachment.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/Attachment.kt index 6b5bdb4eaa..355e9e345e 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/Attachment.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/Attachment.kt @@ -15,5 +15,5 @@ import kotlinx.parcelize.Parcelize @Immutable sealed interface Attachment : Parcelable { @Parcelize - data class Media(val localMedia: LocalMedia, val compressIfPossible: Boolean) : Attachment + data class Media(val localMedia: LocalMedia) : Attachment } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewPresenter.kt index bc410da8e8..42468d66cf 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewPresenter.kt @@ -96,7 +96,6 @@ class AttachmentsPreviewPresenter @AssistedInject constructor( mediaSender.sendMedia( uri = mediaAttachment.localMedia.uri, mimeType = mediaAttachment.localMedia.info.mimeType, - compressIfPossible = mediaAttachment.compressIfPossible, progressCallback = progressCallback ).getOrThrow() }.fold( diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewStateProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewStateProvider.kt index 18d9629e6d..718f9cfbe4 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewStateProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/attachments/preview/AttachmentsPreviewStateProvider.kt @@ -31,7 +31,6 @@ fun anAttachmentsPreviewState( ) = AttachmentsPreviewState( attachment = Attachment.Media( localMedia = LocalMedia("file://path".toUri(), mediaInfo), - compressIfPossible = true ), sendActionState = sendActionState, eventSink = {} 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 648be160d1..cce78d601e 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 @@ -169,7 +169,7 @@ class MessageComposerPresenter @Inject constructor( handlePickedMedia(attachmentsState, uri, mimeType) } val filesPicker = mediaPickerProvider.registerFilePicker(AnyMimeTypes) { uri -> - handlePickedMedia(attachmentsState, uri, compressIfPossible = false) + handlePickedMedia(attachmentsState, uri) } val cameraPhotoPicker = mediaPickerProvider.registerCameraPhotoPicker { uri -> handlePickedMedia(attachmentsState, uri, MimeTypes.IMAGE_JPEG) @@ -294,7 +294,6 @@ class MessageComposerPresenter @Inject constructor( name = null, formattedFileSize = null ), - compressIfPossible = true ), attachmentState = attachmentsState, ) @@ -493,7 +492,6 @@ class MessageComposerPresenter @Inject constructor( attachmentsState: MutableState, uri: Uri?, mimeType: String? = null, - compressIfPossible: Boolean = true, ) { if (uri == null) { attachmentsState.value = AttachmentsState.None @@ -505,7 +503,7 @@ class MessageComposerPresenter @Inject constructor( name = null, formattedFileSize = null ) - val mediaAttachment = Attachment.Media(localMedia, compressIfPossible) + val mediaAttachment = Attachment.Media(localMedia) val isPreviewable = when { MimeTypes.isImage(localMedia.info.mimeType) -> true MimeTypes.isVideo(localMedia.info.mimeType) -> true @@ -535,7 +533,6 @@ class MessageComposerPresenter @Inject constructor( mediaSender.sendMedia( uri = uri, mimeType = mimeType, - compressIfPossible = false, progressCallback = progressCallback ).getOrThrow() } diff --git a/features/preferences/impl/build.gradle.kts b/features/preferences/impl/build.gradle.kts index 5dff5a65d4..564db76ee3 100644 --- a/features/preferences/impl/build.gradle.kts +++ b/features/preferences/impl/build.gradle.kts @@ -55,6 +55,7 @@ dependencies { implementation(projects.features.deactivation.api) implementation(projects.features.roomlist.api) implementation(projects.services.analytics.api) + implementation(projects.services.analytics.compose) implementation(projects.services.toolbox.api) implementation(libs.datetime) implementation(libs.coil.compose) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsEvents.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsEvents.kt index 8ea4958a5b..067e7d490c 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsEvents.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsEvents.kt @@ -12,6 +12,7 @@ import io.element.android.compound.theme.Theme sealed interface AdvancedSettingsEvents { data class SetDeveloperModeEnabled(val enabled: Boolean) : AdvancedSettingsEvents data class SetSharePresenceEnabled(val enabled: Boolean) : AdvancedSettingsEvents + data class SetCompressMedia(val compress: Boolean) : AdvancedSettingsEvents data object ChangeTheme : AdvancedSettingsEvents data object CancelChangeTheme : AdvancedSettingsEvents data class SetTheme(val theme: Theme) : AdvancedSettingsEvents diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenter.kt index 1f22b463e0..ee54325ce1 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenter.kt @@ -35,6 +35,9 @@ class AdvancedSettingsPresenter @Inject constructor( val isSharePresenceEnabled by sessionPreferencesStore .isSharePresenceEnabled() .collectAsState(initial = true) + val doesCompressMedia by sessionPreferencesStore + .doesCompressMedia() + .collectAsState(initial = false) val theme by remember { appPreferencesStore.getThemeFlow().mapToTheme() } @@ -49,6 +52,9 @@ class AdvancedSettingsPresenter @Inject constructor( is AdvancedSettingsEvents.SetSharePresenceEnabled -> localCoroutineScope.launch { sessionPreferencesStore.setSharePresence(event.enabled) } + is AdvancedSettingsEvents.SetCompressMedia -> localCoroutineScope.launch { + sessionPreferencesStore.setCompressMedia(event.compress) + } AdvancedSettingsEvents.CancelChangeTheme -> showChangeThemeDialog = false AdvancedSettingsEvents.ChangeTheme -> showChangeThemeDialog = true is AdvancedSettingsEvents.SetTheme -> localCoroutineScope.launch { @@ -61,6 +67,7 @@ class AdvancedSettingsPresenter @Inject constructor( return AdvancedSettingsState( isDeveloperModeEnabled = isDeveloperModeEnabled, isSharePresenceEnabled = isSharePresenceEnabled, + doesCompressMedia = doesCompressMedia, theme = theme, showChangeThemeDialog = showChangeThemeDialog, eventSink = { handleEvents(it) } diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsState.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsState.kt index 52b70dd0c5..ce598b3e76 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsState.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsState.kt @@ -12,6 +12,7 @@ import io.element.android.compound.theme.Theme data class AdvancedSettingsState( val isDeveloperModeEnabled: Boolean, val isSharePresenceEnabled: Boolean, + val doesCompressMedia: Boolean, val theme: Theme, val showChangeThemeDialog: Boolean, val eventSink: (AdvancedSettingsEvents) -> Unit diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsStateProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsStateProvider.kt index 3d6a39d852..00e1b72923 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsStateProvider.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsStateProvider.kt @@ -16,18 +16,21 @@ open class AdvancedSettingsStateProvider : PreviewParameterProvider Unit = {}, ) = AdvancedSettingsState( isDeveloperModeEnabled = isDeveloperModeEnabled, - isSharePresenceEnabled = isSendPublicReadReceiptsEnabled, + isSharePresenceEnabled = isSharePresenceEnabled, + doesCompressMedia = doesCompressMedia, theme = Theme.System, showChangeThemeDialog = showChangeThemeDialog, eventSink = eventSink diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsView.kt index cc6108c37c..beaf673afd 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsView.kt @@ -11,6 +11,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewParameter +import im.vector.app.features.analytics.plan.Interaction import io.element.android.compound.theme.Theme import io.element.android.compound.theme.themes import io.element.android.features.preferences.impl.R @@ -23,6 +24,8 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.ListItem import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.ui.strings.CommonStrings +import io.element.android.services.analytics.compose.LocalAnalyticsService +import io.element.android.services.analyticsproviders.api.trackers.captureInteraction import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toImmutableList @@ -32,6 +35,7 @@ fun AdvancedSettingsView( onBackClick: () -> Unit, modifier: Modifier = Modifier, ) { + val analyticsService = LocalAnalyticsService.current PreferencePage( modifier = modifier, onBackClick = onBackClick, @@ -72,6 +76,28 @@ fun AdvancedSettingsView( ), onClick = { state.eventSink(AdvancedSettingsEvents.SetSharePresenceEnabled(!state.isSharePresenceEnabled)) } ) + ListItem( + headlineContent = { + Text(text = stringResource(id = R.string.screen_advanced_settings_media_compression_title)) + }, + supportingContent = { + Text(text = stringResource(id = R.string.screen_advanced_settings_media_compression_description)) + }, + trailingContent = ListItemContent.Switch( + checked = state.doesCompressMedia, + ), + onClick = { + val newValue = !state.doesCompressMedia + analyticsService.captureInteraction( + if (newValue) { + Interaction.Name.MobileSettingsOptimizeMediaUploadsEnabled + } else { + Interaction.Name.MobileSettingsOptimizeMediaUploadsDisabled + } + ) + state.eventSink(AdvancedSettingsEvents.SetCompressMedia(newValue)) + } + ) } if (state.showChangeThemeDialog) { diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenterTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenterTest.kt index cd9d8f12e2..1634918296 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenterTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenterTest.kt @@ -34,6 +34,7 @@ class AdvancedSettingsPresenterTest { assertThat(initialState.isDeveloperModeEnabled).isFalse() assertThat(initialState.showChangeThemeDialog).isFalse() assertThat(initialState.isSharePresenceEnabled).isTrue() + assertThat(initialState.doesCompressMedia).isFalse() assertThat(initialState.theme).isEqualTo(Theme.System) } } @@ -68,6 +69,21 @@ class AdvancedSettingsPresenterTest { } } + @Test + fun `present - compress media off on`() = runTest { + val presenter = createAdvancedSettingsPresenter() + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + val initialState = awaitLastSequentialItem() + assertThat(initialState.doesCompressMedia).isFalse() + initialState.eventSink.invoke(AdvancedSettingsEvents.SetCompressMedia(true)) + assertThat(awaitItem().doesCompressMedia).isTrue() + initialState.eventSink.invoke(AdvancedSettingsEvents.SetCompressMedia(false)) + assertThat(awaitItem().doesCompressMedia).isFalse() + } + } + @Test fun `present - change theme`() = runTest { val presenter = createAdvancedSettingsPresenter() diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsViewTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsViewTest.kt index 43d8ebccef..b43112de4e 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsViewTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsViewTest.kt @@ -8,12 +8,18 @@ package io.element.android.features.preferences.impl.advanced import androidx.activity.ComponentActivity +import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.test.junit4.AndroidComposeTestRule import androidx.compose.ui.test.junit4.createAndroidComposeRule import androidx.test.ext.junit.runners.AndroidJUnit4 +import com.google.common.truth.Truth.assertThat +import im.vector.app.features.analytics.plan.Interaction import io.element.android.compound.theme.Theme import io.element.android.features.preferences.impl.R import io.element.android.libraries.ui.strings.CommonStrings +import io.element.android.services.analytics.api.AnalyticsService +import io.element.android.services.analytics.compose.LocalAnalyticsService +import io.element.android.services.analytics.test.FakeAnalyticsService import io.element.android.tests.testutils.EnsureNeverCalled import io.element.android.tests.testutils.EventsRecorder import io.element.android.tests.testutils.clickOn @@ -91,16 +97,64 @@ class AdvancedSettingsViewTest { rule.clickOn(R.string.screen_advanced_settings_share_presence) eventsRecorder.assertSingle(AdvancedSettingsEvents.SetSharePresenceEnabled(true)) } + + @Test + fun `clicking on media to enable compression emits the expected event`() { + val eventsRecorder = EventsRecorder() + val analyticsService = FakeAnalyticsService() + rule.setAdvancedSettingsView( + state = aAdvancedSettingsState( + eventSink = eventsRecorder, + ), + analyticsService = analyticsService + ) + rule.clickOn(R.string.screen_advanced_settings_media_compression_description) + eventsRecorder.assertSingle(AdvancedSettingsEvents.SetCompressMedia(true)) + assertThat(analyticsService.capturedEvents).isEqualTo( + listOf( + Interaction( + name = Interaction.Name.MobileSettingsOptimizeMediaUploadsEnabled + ) + ) + ) + } + + @Test + fun `clicking on media to disable compression emits the expected event`() { + val eventsRecorder = EventsRecorder() + val analyticsService = FakeAnalyticsService() + rule.setAdvancedSettingsView( + state = aAdvancedSettingsState( + doesCompressMedia = true, + eventSink = eventsRecorder, + ), + analyticsService = analyticsService + ) + rule.clickOn(R.string.screen_advanced_settings_media_compression_description) + eventsRecorder.assertSingle(AdvancedSettingsEvents.SetCompressMedia(false)) + assertThat(analyticsService.capturedEvents).isEqualTo( + listOf( + Interaction( + name = Interaction.Name.MobileSettingsOptimizeMediaUploadsDisabled + ) + ) + ) + } } private fun AndroidComposeTestRule.setAdvancedSettingsView( state: AdvancedSettingsState, + analyticsService: AnalyticsService = FakeAnalyticsService(), onBackClick: () -> Unit = EnsureNeverCalled(), ) { setContent { - AdvancedSettingsView( - state = state, - onBackClick = onBackClick, - ) + CompositionLocalProvider( + LocalAnalyticsService provides analyticsService, + ) { + AdvancedSettingsView( + state = state, + onBackClick = onBackClick, + ) + } } } diff --git a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/SharePresenter.kt b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/SharePresenter.kt index fb11994e4d..7f9210b4f7 100644 --- a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/SharePresenter.kt +++ b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/SharePresenter.kt @@ -22,6 +22,7 @@ import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.mediaupload.api.MediaPreProcessor import io.element.android.libraries.mediaupload.api.MediaSender +import io.element.android.libraries.preferences.api.store.SessionPreferencesStore import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch @@ -31,6 +32,7 @@ class SharePresenter @AssistedInject constructor( private val shareIntentHandler: ShareIntentHandler, private val matrixClient: MatrixClient, private val mediaPreProcessor: MediaPreProcessor, + private val sessionPreferencesStore: SessionPreferencesStore, ) : Presenter { @AssistedFactory interface Factory { @@ -71,13 +73,16 @@ class SharePresenter @AssistedInject constructor( roomIds .map { roomId -> val room = matrixClient.getRoom(roomId) ?: return@map false - val mediaSender = MediaSender(preProcessor = mediaPreProcessor, room = room) + val mediaSender = MediaSender( + preProcessor = mediaPreProcessor, + room = room, + sessionPreferencesStore = sessionPreferencesStore, + ) filesToShare .map { fileToShare -> mediaSender.sendMedia( uri = fileToShare.uri, mimeType = fileToShare.mimeType, - compressIfPossible = true, ).isSuccess } .all { it } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b460591b5c..05ee33a996 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -193,7 +193,7 @@ zxing_cpp = "io.github.zxing-cpp:android:2.2.0" posthog = "com.posthog:posthog-android:3.8.2" sentry = "io.sentry:sentry-android:7.15.0" # main branch can be tested replacing the version with main-SNAPSHOT -matrix_analytics_events = "com.github.matrix-org:matrix-analytics-events:0.27.0" +matrix_analytics_events = "com.github.matrix-org:matrix-analytics-events:0.28.0" # Emojibase matrix_emojibase_bindings = "io.element.android:emojibase-bindings:1.3.3" diff --git a/libraries/mediaupload/api/build.gradle.kts b/libraries/mediaupload/api/build.gradle.kts index 34e409d0aa..33ff16a527 100644 --- a/libraries/mediaupload/api/build.gradle.kts +++ b/libraries/mediaupload/api/build.gradle.kts @@ -23,10 +23,12 @@ dependencies { implementation(projects.libraries.core) implementation(projects.libraries.di) api(projects.libraries.matrix.api) + api(projects.libraries.preferences.api) implementation(libs.inject) implementation(libs.coroutines.core) testImplementation(projects.libraries.matrix.test) + testImplementation(projects.libraries.preferences.test) testImplementation(projects.libraries.mediaupload.test) testImplementation(projects.tests.testutils) testImplementation(libs.test.junit) diff --git a/libraries/mediaupload/api/src/main/kotlin/io/element/android/libraries/mediaupload/api/MediaSender.kt b/libraries/mediaupload/api/src/main/kotlin/io/element/android/libraries/mediaupload/api/MediaSender.kt index c2d34a69b2..a47629d4f2 100644 --- a/libraries/mediaupload/api/src/main/kotlin/io/element/android/libraries/mediaupload/api/MediaSender.kt +++ b/libraries/mediaupload/api/src/main/kotlin/io/element/android/libraries/mediaupload/api/MediaSender.kt @@ -12,14 +12,17 @@ import io.element.android.libraries.core.extensions.flatMapCatching import io.element.android.libraries.matrix.api.core.ProgressCallback import io.element.android.libraries.matrix.api.media.MediaUploadHandler import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.preferences.api.store.SessionPreferencesStore import kotlinx.coroutines.CancellationException import kotlinx.coroutines.Job +import kotlinx.coroutines.flow.first import java.util.concurrent.ConcurrentHashMap import javax.inject.Inject class MediaSender @Inject constructor( private val preProcessor: MediaPreProcessor, private val room: MatrixRoom, + private val sessionPreferencesStore: SessionPreferencesStore, ) { private val ongoingUploadJobs = ConcurrentHashMap() val hasOngoingMediaUploads get() = ongoingUploadJobs.isNotEmpty() @@ -27,11 +30,11 @@ class MediaSender @Inject constructor( suspend fun sendMedia( uri: Uri, mimeType: String, - compressIfPossible: Boolean, caption: String? = null, formattedCaption: String? = null, progressCallback: ProgressCallback? = null ): Result { + val compressIfPossible = sessionPreferencesStore.doesCompressMedia().first() return preProcessor .process( uri = uri, @@ -49,6 +52,7 @@ class MediaSender @Inject constructor( } .handleSendResult() } + suspend fun sendVoiceMessage( uri: Uri, mimeType: String, @@ -60,7 +64,7 @@ class MediaSender @Inject constructor( uri = uri, mimeType = mimeType, deleteOriginal = true, - compressIfPossible = false + compressIfPossible = false, ) .flatMapCatching { info -> val audioInfo = (info as MediaUploadInfo.Audio).audioInfo diff --git a/libraries/mediaupload/api/src/test/kotlin/io/element/android/libraries/mediaupload/api/MediaSenderTest.kt b/libraries/mediaupload/api/src/test/kotlin/io/element/android/libraries/mediaupload/api/MediaSenderTest.kt index 2ae51d1c6b..7724855cc3 100644 --- a/libraries/mediaupload/api/src/test/kotlin/io/element/android/libraries/mediaupload/api/MediaSenderTest.kt +++ b/libraries/mediaupload/api/src/test/kotlin/io/element/android/libraries/mediaupload/api/MediaSenderTest.kt @@ -15,6 +15,8 @@ import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.test.media.FakeMediaUploadHandler import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.mediaupload.test.FakeMediaPreProcessor +import io.element.android.libraries.preferences.api.store.SessionPreferencesStore +import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore import io.element.android.tests.testutils.lambda.lambdaRecorder import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.launch @@ -33,7 +35,7 @@ class MediaSenderTest { val sender = aMediaSender(preProcessor) val uri = Uri.parse("content://image.jpg") - sender.sendMedia(uri = uri, mimeType = MimeTypes.Jpeg, compressIfPossible = true) + sender.sendMedia(uri = uri, mimeType = MimeTypes.Jpeg) assertThat(preProcessor.processCallCount).isEqualTo(1) } @@ -49,7 +51,7 @@ class MediaSenderTest { val sender = aMediaSender(room = room) val uri = Uri.parse("content://image.jpg") - sender.sendMedia(uri = uri, mimeType = MimeTypes.Jpeg, compressIfPossible = true) + sender.sendMedia(uri = uri, mimeType = MimeTypes.Jpeg) sendMediaResult.assertions().isCalledOnce() } @@ -61,7 +63,7 @@ class MediaSenderTest { val sender = aMediaSender(preProcessor) val uri = Uri.parse("content://image.jpg") - val result = sender.sendMedia(uri = uri, mimeType = MimeTypes.Jpeg, compressIfPossible = true) + val result = sender.sendMedia(uri = uri, mimeType = MimeTypes.Jpeg) assertThat(result.exceptionOrNull()).isNotNull() } @@ -74,7 +76,7 @@ class MediaSenderTest { val sender = aMediaSender(room = room) val uri = Uri.parse("content://image.jpg") - val result = sender.sendMedia(uri = uri, mimeType = MimeTypes.Jpeg, compressIfPossible = true) + val result = sender.sendMedia(uri = uri, mimeType = MimeTypes.Jpeg) assertThat(result.exceptionOrNull()).isNotNull() } @@ -88,7 +90,7 @@ class MediaSenderTest { val sender = aMediaSender(room = room) val sendJob = launch { val uri = Uri.parse("content://image.jpg") - sender.sendMedia(uri = uri, mimeType = MimeTypes.Jpeg, compressIfPossible = true) + sender.sendMedia(uri = uri, mimeType = MimeTypes.Jpeg) } // Wait until several internal tasks run and the file is being uploaded advanceTimeBy(3L) @@ -109,8 +111,10 @@ class MediaSenderTest { private fun aMediaSender( preProcessor: MediaPreProcessor = FakeMediaPreProcessor(), room: MatrixRoom = FakeMatrixRoom(), + sessionPreferencesStore: SessionPreferencesStore = InMemorySessionPreferencesStore(), ) = MediaSender( - preProcessor, - room, + preProcessor = preProcessor, + room = room, + sessionPreferencesStore = sessionPreferencesStore, ) } diff --git a/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/ImageCompressor.kt b/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/ImageCompressor.kt index 92fc674694..69d2e41baa 100644 --- a/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/ImageCompressor.kt +++ b/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/ImageCompressor.kt @@ -36,7 +36,7 @@ class ImageCompressor @Inject constructor( resizeMode: ResizeMode, format: Bitmap.CompressFormat = Bitmap.CompressFormat.JPEG, orientation: Int = ExifInterface.ORIENTATION_UNDEFINED, - desiredQuality: Int = 80, + desiredQuality: Int = 78, ): Result = withContext(dispatchers.io) { runCatching { val compressedBitmap = compressToBitmap(inputStreamProvider, resizeMode, orientation).getOrThrow() diff --git a/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/VideoCompressor.kt b/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/VideoCompressor.kt index 961d705d79..760679b32f 100644 --- a/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/VideoCompressor.kt +++ b/libraries/mediaupload/impl/src/main/kotlin/io/element/android/libraries/mediaupload/impl/VideoCompressor.kt @@ -29,7 +29,7 @@ class VideoCompressor @Inject constructor( val future = Transcoder.into(tmpFile.path) .setVideoTrackStrategy( DefaultVideoStrategy.Builder() - .addResizer(AtMostResizer(1920, 1080)) + .addResizer(AtMostResizer(720, 480)) .build() ) .addDataSource(context, uri) diff --git a/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/SessionPreferencesStore.kt b/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/SessionPreferencesStore.kt index 44d91d4deb..0cae7c7032 100644 --- a/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/SessionPreferencesStore.kt +++ b/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/SessionPreferencesStore.kt @@ -28,5 +28,9 @@ interface SessionPreferencesStore { suspend fun setSkipSessionVerification(skip: Boolean) fun isSessionVerificationSkipped(): Flow + suspend fun setCompressMedia(compress: Boolean) + fun doesCompressMedia(): Flow + + suspend fun clear() } diff --git a/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultSessionPreferencesStore.kt b/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultSessionPreferencesStore.kt index b8f58f3501..3fa33eab93 100644 --- a/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultSessionPreferencesStore.kt +++ b/libraries/preferences/impl/src/main/kotlin/io/element/android/libraries/preferences/impl/store/DefaultSessionPreferencesStore.kt @@ -41,6 +41,7 @@ class DefaultSessionPreferencesStore( private val sendTypingNotificationsKey = booleanPreferencesKey("sendTypingNotifications") private val renderTypingNotificationsKey = booleanPreferencesKey("renderTypingNotifications") private val skipSessionVerification = booleanPreferencesKey("skipSessionVerification") + private val compressMedia = booleanPreferencesKey("compressMedia") private val dataStoreFile = storeFile(context, sessionId) private val store = PreferenceDataStoreFactory.create( @@ -81,6 +82,9 @@ class DefaultSessionPreferencesStore( override suspend fun setSkipSessionVerification(skip: Boolean) = update(skipSessionVerification, skip) override fun isSessionVerificationSkipped(): Flow = get(skipSessionVerification) { false } + override suspend fun setCompressMedia(compress: Boolean) = update(compressMedia, compress) + override fun doesCompressMedia(): Flow = get(compressMedia) { false } + override suspend fun clear() { dataStoreFile.safeDelete() } diff --git a/libraries/preferences/test/src/main/kotlin/io/element/android/libraries/preferences/test/InMemorySessionPreferencesStore.kt b/libraries/preferences/test/src/main/kotlin/io/element/android/libraries/preferences/test/InMemorySessionPreferencesStore.kt index 84dc388b75..dde117adc0 100644 --- a/libraries/preferences/test/src/main/kotlin/io/element/android/libraries/preferences/test/InMemorySessionPreferencesStore.kt +++ b/libraries/preferences/test/src/main/kotlin/io/element/android/libraries/preferences/test/InMemorySessionPreferencesStore.kt @@ -18,6 +18,7 @@ class InMemorySessionPreferencesStore( isSendTypingNotificationsEnabled: Boolean = true, isRenderTypingNotificationsEnabled: Boolean = true, isSessionVerificationSkipped: Boolean = false, + doesCompressMedia: Boolean = false, ) : SessionPreferencesStore { private val isSharePresenceEnabled = MutableStateFlow(isSharePresenceEnabled) private val isSendPublicReadReceiptsEnabled = MutableStateFlow(isSendPublicReadReceiptsEnabled) @@ -25,6 +26,7 @@ class InMemorySessionPreferencesStore( private val isSendTypingNotificationsEnabled = MutableStateFlow(isSendTypingNotificationsEnabled) private val isRenderTypingNotificationsEnabled = MutableStateFlow(isRenderTypingNotificationsEnabled) private val isSessionVerificationSkipped = MutableStateFlow(isSessionVerificationSkipped) + private val doesCompressMedia = MutableStateFlow(doesCompressMedia) var clearCallCount = 0 private set @@ -66,6 +68,10 @@ class InMemorySessionPreferencesStore( return isSessionVerificationSkipped } + override suspend fun setCompressMedia(compress: Boolean) = doesCompressMedia.emit(compress) + + override fun doesCompressMedia(): Flow = doesCompressMedia + override suspend fun clear() { clearCallCount++ isSendPublicReadReceiptsEnabled.tryEmit(true) From 8eaec03610169b58687bf2a9a3aa21ea8aebd030 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Mon, 28 Oct 2024 10:09:13 +0000 Subject: [PATCH 70/93] Update screenshots --- ...references.impl.advanced_AdvancedSettingsView_Day_0_en.png | 4 ++-- ...references.impl.advanced_AdvancedSettingsView_Day_1_en.png | 4 ++-- ...references.impl.advanced_AdvancedSettingsView_Day_2_en.png | 4 ++-- ...references.impl.advanced_AdvancedSettingsView_Day_3_en.png | 4 ++-- ...references.impl.advanced_AdvancedSettingsView_Day_4_en.png | 3 +++ ...ferences.impl.advanced_AdvancedSettingsView_Night_0_en.png | 4 ++-- ...ferences.impl.advanced_AdvancedSettingsView_Night_1_en.png | 4 ++-- ...ferences.impl.advanced_AdvancedSettingsView_Night_2_en.png | 4 ++-- ...ferences.impl.advanced_AdvancedSettingsView_Night_3_en.png | 4 ++-- ...ferences.impl.advanced_AdvancedSettingsView_Night_4_en.png | 3 +++ 10 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_4_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_4_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en.png index 104bffac4b..74f6d0bd9d 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c6ec8d30f2fd12c78bf62c9913a68c7a1f6328f0ac9e577317d0abf72e1131c -size 41788 +oid sha256:13e7793d8dd6d08e182b128a9b3dac2877557e8bdd220561d36c2ce1650b94ff +size 48107 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en.png index 90d74c8574..889f655996 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e37410e8e25d6908bbd88db983be7f1c50b4f848763b66c80bf18de97d7f4916 -size 41548 +oid sha256:1bac5247c3a4990eb9155a21f72a49059cbaa93288380ba1ab6be2def8b3a6a9 +size 47876 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en.png index a349f81ff4..1fec0eae29 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4d64cb8ce98dfdf2345e12596e4eb3777ea4cde2bd36303d0af6b47614e28f3f -size 31044 +oid sha256:11c969c1d04150cef68da64865bade2ea3bfc1aa5f0d790262315131b57d6233 +size 31702 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en.png index 8101ff2277..0ab8ad267c 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:69308b3b8b6a7b8a0c032ba6b023a49fcfbb4f05317cbe96e690b4aa3c6992b8 -size 41621 +oid sha256:dc1aa9348e470e9d7e7e1e838e18a3403159c2effb49fa359b2b2db97dd81961 +size 47901 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_4_en.png new file mode 100644 index 0000000000..a1acf97a47 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Day_4_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:90d1184879c5a34dc27cc942ec3110e14ccd9a90c152b10a1844fde0566d54fe +size 47841 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en.png index ecd0157f5b..1ca045272d 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:702a4067afb752978fef59ca45b6d4c871d084953ab19a3d845f0018a894ac6a -size 40510 +oid sha256:c2beb4f4f190f6aca2d4da338d980e8611283ffb9bfd2f402482f8ecc629cf22 +size 46759 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en.png index dfe78127a6..52825bc9d6 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1904587ad63098e18e17663a3bac34f2ad24d79967ab44789a1bc1b994805eeb -size 40205 +oid sha256:b65acfd3126efc5cd4fe1a929a786468cc18ee371cb4462ef0cf9f6e8963fcea +size 46456 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en.png index 0d10e18998..528327c715 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_2_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14098a8dc6d7c9d99b6a04710e1385b39839bf18be3c9ddae7ce437a0c1bf64b -size 28729 +oid sha256:8e90bbde9aac7e710703e836f293a00b2a5f35447d4d63c9732de21a0f291449 +size 29336 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en.png index 4241c96cb4..5a3f3c1ed3 100644 --- a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6a6151f04f2dca8124597c6d144cafe15a51f7fe6638cfed4380a9b6e125bed4 -size 40259 +oid sha256:6da0cf1729162fa1745bcb4dd86be06f90d3bcf6bf034e4a64e1ee9119b6cdd5 +size 46501 diff --git a/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_4_en.png new file mode 100644 index 0000000000..387f0e65d3 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.preferences.impl.advanced_AdvancedSettingsView_Night_4_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66109868b1e893bc569d70110e3e587d7a17d777838cfc3e5c3d3189338d924e +size 46423 From e48f217c613db9ead776193a8129343a9efecb02 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 28 Oct 2024 13:30:18 +0100 Subject: [PATCH 71/93] Remove blank line --- .../libraries/preferences/api/store/SessionPreferencesStore.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/SessionPreferencesStore.kt b/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/SessionPreferencesStore.kt index 0cae7c7032..64956bf450 100644 --- a/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/SessionPreferencesStore.kt +++ b/libraries/preferences/api/src/main/kotlin/io/element/android/libraries/preferences/api/store/SessionPreferencesStore.kt @@ -31,6 +31,5 @@ interface SessionPreferencesStore { suspend fun setCompressMedia(compress: Boolean) fun doesCompressMedia(): Flow - suspend fun clear() } From 8cc86bd410a5ad9f6e3b048a05281d70d0e143af Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 28 Oct 2024 13:35:15 +0100 Subject: [PATCH 72/93] Fix test compilation issue. --- .../impl/attachments/AttachmentsPreviewPresenterTest.kt | 6 ++++-- .../messages/impl/fixtures/MediaAttachmentFixtures.kt | 3 +-- .../impl/messagecomposer/MessageComposerPresenterTest.kt | 2 +- .../composer/VoiceMessageComposerPresenterTest.kt | 3 ++- features/share/impl/build.gradle.kts | 1 + .../android/features/share/impl/SharePresenterTest.kt | 4 +++- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/attachments/AttachmentsPreviewPresenterTest.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/attachments/AttachmentsPreviewPresenterTest.kt index e3e5e528b0..5d59ce5464 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/attachments/AttachmentsPreviewPresenterTest.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/attachments/AttachmentsPreviewPresenterTest.kt @@ -17,6 +17,7 @@ import com.google.common.truth.Truth.assertThat import io.element.android.features.messages.impl.attachments.preview.AttachmentsPreviewEvents import io.element.android.features.messages.impl.attachments.preview.AttachmentsPreviewPresenter import io.element.android.features.messages.impl.attachments.preview.SendActionState +import io.element.android.features.messages.impl.fixtures.aMediaAttachment import io.element.android.libraries.matrix.api.core.ProgressCallback import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.matrix.test.media.FakeMediaUploadHandler @@ -26,6 +27,7 @@ import io.element.android.libraries.mediaupload.api.MediaSender import io.element.android.libraries.mediaupload.test.FakeMediaPreProcessor import io.element.android.libraries.mediaviewer.api.local.LocalMedia import io.element.android.libraries.mediaviewer.test.viewer.aLocalMedia +import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore import io.element.android.tests.testutils.WarmUpRule import io.element.android.tests.testutils.lambda.lambdaRecorder import io.mockk.mockk @@ -120,8 +122,8 @@ class AttachmentsPreviewPresenterTest { room: MatrixRoom = FakeMatrixRoom() ): AttachmentsPreviewPresenter { return AttachmentsPreviewPresenter( - attachment = Attachment.Media(localMedia, compressIfPossible = false), - mediaSender = MediaSender(mediaPreProcessor, room) + attachment = aMediaAttachment(localMedia), + mediaSender = MediaSender(mediaPreProcessor, room, InMemorySessionPreferencesStore()) ) } } diff --git a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/MediaAttachmentFixtures.kt b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/MediaAttachmentFixtures.kt index f7b2ecff63..c94ded7dee 100644 --- a/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/MediaAttachmentFixtures.kt +++ b/features/messages/impl/src/test/kotlin/io/element/android/features/messages/impl/fixtures/MediaAttachmentFixtures.kt @@ -10,7 +10,6 @@ package io.element.android.features.messages.impl.fixtures import io.element.android.features.messages.impl.attachments.Attachment import io.element.android.libraries.mediaviewer.api.local.LocalMedia -fun aMediaAttachment(localMedia: LocalMedia, compressIfPossible: Boolean = true) = Attachment.Media( +fun aMediaAttachment(localMedia: LocalMedia) = Attachment.Media( localMedia = localMedia, - compressIfPossible = compressIfPossible, ) 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 c66a2b56ad..b029cd724f 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 @@ -1489,7 +1489,7 @@ class MessageComposerPresenterTest { featureFlagService, sessionPreferencesStore, localMediaFactory, - MediaSender(mediaPreProcessor, room), + MediaSender(mediaPreProcessor, room, InMemorySessionPreferencesStore()), snackbarDispatcher, analyticsService, DefaultMessageComposerContext(), 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 b13e2a4fb1..0e0009e139 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 @@ -30,6 +30,7 @@ import io.element.android.libraries.permissions.api.PermissionsPresenter import io.element.android.libraries.permissions.api.aPermissionsState 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.model.MessageComposerMode import io.element.android.libraries.textcomposer.model.VoiceMessagePlayerEvent import io.element.android.libraries.textcomposer.model.VoiceMessageRecorderEvent @@ -61,7 +62,7 @@ class VoiceMessageComposerPresenterTest { sendMediaResult = sendMediaResult ) private val mediaPreProcessor = FakeMediaPreProcessor().apply { givenAudioResult() } - private val mediaSender = MediaSender(mediaPreProcessor, matrixRoom) + private val mediaSender = MediaSender(mediaPreProcessor, matrixRoom, InMemorySessionPreferencesStore()) private val messageComposerContext = FakeMessageComposerContext() companion object { diff --git a/features/share/impl/build.gradle.kts b/features/share/impl/build.gradle.kts index 24fe6231a9..5f1d96b0e3 100644 --- a/features/share/impl/build.gradle.kts +++ b/features/share/impl/build.gradle.kts @@ -49,6 +49,7 @@ dependencies { testImplementation(libs.androidx.compose.ui.test.junit) testImplementation(projects.libraries.matrix.test) testImplementation(projects.libraries.mediaupload.test) + testImplementation(projects.libraries.preferences.test) testImplementation(projects.tests.testutils) testReleaseImplementation(libs.androidx.compose.ui.test.manifest) } diff --git a/features/share/impl/src/test/kotlin/io/element/android/features/share/impl/SharePresenterTest.kt b/features/share/impl/src/test/kotlin/io/element/android/features/share/impl/SharePresenterTest.kt index ce89c4a014..a834baf2bc 100644 --- a/features/share/impl/src/test/kotlin/io/element/android/features/share/impl/SharePresenterTest.kt +++ b/features/share/impl/src/test/kotlin/io/element/android/features/share/impl/SharePresenterTest.kt @@ -23,6 +23,7 @@ import io.element.android.libraries.matrix.test.media.FakeMediaUploadHandler import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.mediaupload.api.MediaPreProcessor import io.element.android.libraries.mediaupload.test.FakeMediaPreProcessor +import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore import io.element.android.tests.testutils.WarmUpRule import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.runTest @@ -154,7 +155,8 @@ class SharePresenterTest { appCoroutineScope = this, shareIntentHandler = shareIntentHandler, matrixClient = matrixClient, - mediaPreProcessor = mediaPreProcessor + mediaPreProcessor = mediaPreProcessor, + InMemorySessionPreferencesStore(), ) } } From 7c4f389d0b6f21e6b76f0d57816c75f513ebc6d2 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 28 Oct 2024 13:52:53 +0100 Subject: [PATCH 73/93] Fix test. --- .../mediaupload/impl/AndroidMediaPreProcessorTest.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/mediaupload/impl/src/test/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessorTest.kt b/libraries/mediaupload/impl/src/test/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessorTest.kt index 7b1f13e5d2..832d82d210 100644 --- a/libraries/mediaupload/impl/src/test/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessorTest.kt +++ b/libraries/mediaupload/impl/src/test/kotlin/io/element/android/libraries/mediaupload/impl/AndroidMediaPreProcessorTest.kt @@ -55,8 +55,8 @@ class AndroidMediaPreProcessorTest { height = 1_178, width = 1_818, mimetype = MimeTypes.Png, - size = 114_867, - ThumbnailInfo(height = 294, width = 454, mimetype = "image/jpeg", size = 4567), + size = 109_908, + ThumbnailInfo(height = 294, width = 454, mimetype = "image/jpeg", size = 4484), thumbnailSource = null, blurhash = "K13]7q%zWC00R4of%\$baad" ) @@ -84,7 +84,7 @@ class AndroidMediaPreProcessorTest { height = 1_178, width = 1_818, mimetype = MimeTypes.Png, - size = 114_867, + size = 109_908, thumbnailInfo = null, thumbnailSource = null, blurhash = null, From a8aa46bffb412425ccc22e447789ee3c858cfd3a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 12:56:01 +0000 Subject: [PATCH 74/93] Update dependency io.nlopez.compose.rules:detekt to v0.4.17 --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index a71b8a6312..56e29f87d0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -49,7 +49,7 @@ allprojects { config.from(files("$rootDir/tools/detekt/detekt.yml")) } dependencies { - detektPlugins("io.nlopez.compose.rules:detekt:0.4.16") + detektPlugins("io.nlopez.compose.rules:detekt:0.4.17") } // KtLint From 92619e81b5d4a92566e650d7ab86eca832aa494c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:56:01 +0000 Subject: [PATCH 75/93] Update dependency com.posthog:posthog-android to v3.8.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 df105c4f03..0a97d8e8f8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -190,7 +190,7 @@ opusencoder = "io.element.android:opusencoder:1.1.0" zxing_cpp = "io.github.zxing-cpp:android:2.2.0" # Analytics -posthog = "com.posthog:posthog-android:3.8.2" +posthog = "com.posthog:posthog-android:3.8.3" sentry = "io.sentry:sentry-android:7.16.0" # main branch can be tested replacing the version with main-SNAPSHOT matrix_analytics_events = "com.github.matrix-org:matrix-analytics-events:0.27.0" From 84ef1de5377fe34861d2506d468b383696d21b5f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 17:19:35 +0000 Subject: [PATCH 76/93] Update dependency org.matrix.rustcomponents:sdk-android to v0.2.58 --- 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 ba508b5a9e..dce8264584 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -169,7 +169,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.57" +matrix_sdk = "org.matrix.rustcomponents:sdk-android:0.2.58" 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 1eea8d6c11483637adde291ea1ac7d38f4165617 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 28 Oct 2024 21:05:26 +0100 Subject: [PATCH 77/93] Fix API break. --- .../impl/verification/RustSessionVerificationService.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt index 71004a74d7..17258f08aa 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt @@ -35,6 +35,7 @@ import org.matrix.rustcomponents.sdk.RecoveryState import org.matrix.rustcomponents.sdk.RecoveryStateListener import org.matrix.rustcomponents.sdk.SessionVerificationController import org.matrix.rustcomponents.sdk.SessionVerificationControllerDelegate +import org.matrix.rustcomponents.sdk.SessionVerificationRequestDetails import org.matrix.rustcomponents.sdk.VerificationState import org.matrix.rustcomponents.sdk.VerificationStateListener import org.matrix.rustcomponents.sdk.use @@ -150,7 +151,7 @@ class RustSessionVerificationService( // It also sometimes unexpectedly fails to report the session as verified, so we have to handle that possibility and fail if needed runCatching { withTimeout(30.seconds) { - while (!verificationController.isVerified()) { + while (encryptionService.verificationState() != VerificationState.VERIFIED) { delay(100) } } @@ -176,6 +177,10 @@ class RustSessionVerificationService( _verificationFlowState.value = VerificationFlowState.StartedSasVerification } + override fun didReceiveVerificationRequest(details: SessionVerificationRequestDetails) { + // TODO + } + // end-region override suspend fun reset() { @@ -227,7 +232,7 @@ class RustSessionVerificationService( Timber.d("Updating verification status: flow is pending or was finished some time ago") runCatching { initVerificationControllerIfNeeded() - _sessionVerifiedStatus.value = if (verificationController.isVerified()) { + _sessionVerifiedStatus.value = if (encryptionService.verificationState() == VerificationState.VERIFIED) { SessionVerifiedStatus.Verified } else { SessionVerifiedStatus.NotVerified From f14c956a82b09ec4c4c453de3fcd99c7881f15e0 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Mon, 28 Oct 2024 21:18:12 +0100 Subject: [PATCH 78/93] Fix API break. --- .../impl/room/preview/RoomPreviewMapper.kt | 33 +++++++++++-------- .../{RoomPreview.kt => RoomPreviewInfo.kt} | 22 ++++++------- .../fixtures/fakes/FakeRustRoomPreview.kt | 21 ++++++++++++ .../room/preview/RoomPreviewMapperTest.kt | 28 +++++++++------- 4 files changed, 67 insertions(+), 37 deletions(-) rename libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/{RoomPreview.kt => RoomPreviewInfo.kt} (62%) create mode 100644 libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomPreview.kt diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapper.kt index 6ec3a08487..b676d6909d 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapper.kt @@ -11,23 +11,28 @@ import io.element.android.libraries.matrix.api.core.RoomAlias import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.api.room.preview.RoomPreview import io.element.android.libraries.matrix.impl.room.toRoomType +import org.matrix.rustcomponents.sdk.JoinRule +import org.matrix.rustcomponents.sdk.Membership import org.matrix.rustcomponents.sdk.RoomPreview as RustRoomPreview object RoomPreviewMapper { fun map(roomPreview: RustRoomPreview): RoomPreview { - return RoomPreview( - roomId = RoomId(roomPreview.roomId), - canonicalAlias = roomPreview.canonicalAlias?.let(::RoomAlias), - name = roomPreview.name, - topic = roomPreview.topic, - avatarUrl = roomPreview.avatarUrl, - numberOfJoinedMembers = roomPreview.numJoinedMembers.toLong(), - roomType = roomPreview.roomType.toRoomType(), - isHistoryWorldReadable = roomPreview.isHistoryWorldReadable, - isJoined = roomPreview.isJoined, - isInvited = roomPreview.isInvited, - isPublic = roomPreview.isPublic, - canKnock = roomPreview.canKnock - ) + return roomPreview.use { + val info = roomPreview.info() + RoomPreview( + roomId = RoomId(info.roomId), + canonicalAlias = info.canonicalAlias?.let(::RoomAlias), + name = info.name, + topic = info.topic, + avatarUrl = info.avatarUrl, + numberOfJoinedMembers = info.numJoinedMembers.toLong(), + roomType = info.roomType.toRoomType(), + isHistoryWorldReadable = info.isHistoryWorldReadable, + isJoined = info.membership == Membership.JOINED, + isInvited = info.membership == Membership.INVITED, + isPublic = info.joinRule == JoinRule.Public, + canKnock = info.joinRule == JoinRule.Knock + ) + } } } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPreview.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPreviewInfo.kt similarity index 62% rename from libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPreview.kt rename to libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPreviewInfo.kt index 54abeb90b8..0f344d3de0 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPreview.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomPreviewInfo.kt @@ -9,16 +9,16 @@ package io.element.android.libraries.matrix.impl.fixtures.factories import io.element.android.libraries.matrix.test.A_ROOM_ALIAS import io.element.android.libraries.matrix.test.A_ROOM_ID -import org.matrix.rustcomponents.sdk.RoomPreview +import org.matrix.rustcomponents.sdk.JoinRule +import org.matrix.rustcomponents.sdk.Membership +import org.matrix.rustcomponents.sdk.RoomPreviewInfo -internal fun aRustRoomPreview( +internal fun aRustRoomPreviewInfo( canonicalAlias: String? = A_ROOM_ALIAS.value, - isJoined: Boolean = true, - isInvited: Boolean = true, - isPublic: Boolean = true, - canKnock: Boolean = true, -): RoomPreview { - return RoomPreview( + membership: Membership? = Membership.JOINED, + joinRule: JoinRule = JoinRule.Public, +): RoomPreviewInfo { + return RoomPreviewInfo( roomId = A_ROOM_ID.value, canonicalAlias = canonicalAlias, name = "name", @@ -27,9 +27,7 @@ internal fun aRustRoomPreview( numJoinedMembers = 1u, roomType = null, isHistoryWorldReadable = true, - isJoined = isJoined, - isInvited = isInvited, - isPublic = isPublic, - canKnock = canKnock, + membership = membership, + joinRule = joinRule, ) } diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomPreview.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomPreview.kt new file mode 100644 index 0000000000..fda57cd329 --- /dev/null +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeRustRoomPreview.kt @@ -0,0 +1,21 @@ +/* + * 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.aRustRoomPreviewInfo +import org.matrix.rustcomponents.sdk.NoPointer +import org.matrix.rustcomponents.sdk.RoomPreview +import org.matrix.rustcomponents.sdk.RoomPreviewInfo + +class FakeRustRoomPreview( + private val info: RoomPreviewInfo = aRustRoomPreviewInfo(), +) : RoomPreview(NoPointer) { + override fun info(): RoomPreviewInfo { + return info + } +} diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt index 7d7890198e..1dc03bc49b 100644 --- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt +++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewMapperTest.kt @@ -10,19 +10,23 @@ package io.element.android.libraries.matrix.impl.room.preview import com.google.common.truth.Truth.assertThat import io.element.android.libraries.matrix.api.room.RoomType import io.element.android.libraries.matrix.api.room.preview.RoomPreview -import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomPreview +import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomPreviewInfo +import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustRoomPreview import io.element.android.libraries.matrix.test.A_ROOM_ALIAS import io.element.android.libraries.matrix.test.A_ROOM_ID import org.junit.Test +import org.matrix.rustcomponents.sdk.JoinRule +import org.matrix.rustcomponents.sdk.Membership class RoomPreviewMapperTest { @Test fun `map should map values 1`() { assertThat( RoomPreviewMapper.map( - aRustRoomPreview( - isJoined = false, - isInvited = false, + FakeRustRoomPreview( + info = aRustRoomPreviewInfo( + membership = null, + ) ) ) ).isEqualTo( @@ -38,7 +42,7 @@ class RoomPreviewMapperTest { isJoined = false, isInvited = false, isPublic = true, - canKnock = true, + canKnock = false, ) ) } @@ -47,10 +51,12 @@ class RoomPreviewMapperTest { fun `map should map values 2`() { assertThat( RoomPreviewMapper.map( - aRustRoomPreview( - canonicalAlias = null, - isPublic = false, - canKnock = false, + FakeRustRoomPreview( + info = aRustRoomPreviewInfo( + canonicalAlias = null, + membership = Membership.JOINED, + joinRule = JoinRule.Knock, + ) ) ) ).isEqualTo( @@ -64,9 +70,9 @@ class RoomPreviewMapperTest { roomType = RoomType.Room, isHistoryWorldReadable = true, isJoined = true, - isInvited = true, + isInvited = false, isPublic = false, - canKnock = false, + canKnock = true, ) ) } From d1b3ecab361fde456e147d044f5aceaa0383c1c6 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 29 Oct 2024 09:14:40 +0100 Subject: [PATCH 79/93] Incoming session verification request Add more log to the state machines Ensure the block cannot be cancelled, else if the Rust SDK emit a new state during the API execution, the state machine may cancel the api call. Let VerificationFlowState values match the SDK api for code clarity. Rename sub interface for clarity. Migrate tests to the new FakeVerificationService. --- .../android/appnav/LoggedInFlowNode.kt | 27 ++ .../ftue/impl/DefaultFtueServiceTest.kt | 14 +- .../roomlist/impl/RoomListPresenterTest.kt | 4 +- features/verifysession/api/build.gradle.kts | 1 + .../api/IncomingVerificationEntryPoint.kt | 33 ++ features/verifysession/impl/build.gradle.kts | 2 + .../impl/VerifySelfSessionStateProvider.kt | 95 ------ .../DefaultIncomingVerificationEntryPoint.kt | 40 +++ .../incoming/IncomingVerificationNavigator.kt | 12 + .../impl/incoming/IncomingVerificationNode.kt | 47 +++ .../incoming/IncomingVerificationPresenter.kt | 189 ++++++++++++ .../incoming/IncomingVerificationState.kt | 38 +++ .../IncomingVerificationStateMachine.kt | 158 ++++++++++ .../IncomingVerificationStateProvider.kt | 46 +++ .../impl/incoming/IncomingVerificationView.kt | 235 ++++++++++++++ .../IncomingVerificationViewEvents.kt | 16 + .../impl/incoming/ui/SessionDetailsView.kt | 111 +++++++ .../DefaultVerifySessionEntryPoint.kt | 2 +- .../{ => outgoing}/VerifySelfSessionNode.kt | 2 +- .../VerifySelfSessionPresenter.kt | 81 ++--- .../{ => outgoing}/VerifySelfSessionState.kt | 22 +- .../VerifySelfSessionStateMachine.kt | 35 ++- .../VerifySelfSessionStateProvider.kt | 73 +++++ .../{ => outgoing}/VerifySelfSessionView.kt | 204 ++++-------- .../VerifySelfSessionViewEvents.kt | 2 +- .../features/verifysession/impl/ui/Common.kt | 33 ++ .../impl/ui/VerificationBottomMenu.kt | 27 ++ .../impl/ui/VerificationContentVerifying.kt | 94 ++++++ .../impl/util/StateMachineUtil.kt | 25 ++ .../IncomingVerificationPresenterTest.kt | 292 ++++++++++++++++++ .../incoming/IncomingVerificationViewTest.kt | 217 +++++++++++++ .../VerifySelfSessionPresenterTest.kt | 227 +++++++++----- .../VerifySelfSessionViewTest.kt | 30 +- .../test/FakeLastMessageTimestampFormatter.kt | 5 +- .../libraries/matrix/api/core/FlowId.kt | 15 + .../SessionVerificationRequestDetails.kt | 23 ++ .../SessionVerificationService.kt | 34 +- .../RustSessionVerificationService.kt | 55 +++- .../SessionVerificationRequestDetails.kt | 23 ++ .../FakeSessionVerificationService.kt | 75 ++--- 40 files changed, 2203 insertions(+), 461 deletions(-) create mode 100644 features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/IncomingVerificationEntryPoint.kt delete mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionStateProvider.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPoint.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationNavigator.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationNode.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationPresenter.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationState.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStateMachine.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStateProvider.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationViewEvents.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/ui/SessionDetailsView.kt rename features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/{ => outgoing}/DefaultVerifySessionEntryPoint.kt (95%) rename features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/{ => outgoing}/VerifySelfSessionNode.kt (97%) rename features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/{ => outgoing}/VerifySelfSessionPresenter.kt (72%) rename features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/{ => outgoing}/VerifySelfSessionState.kt (60%) rename features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/{ => outgoing}/VerifySelfSessionStateMachine.kt (89%) create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionStateProvider.kt rename features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/{ => outgoing}/VerifySelfSessionView.kt (62%) rename features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/{ => outgoing}/VerifySelfSessionViewEvents.kt (91%) create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/Common.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/VerificationBottomMenu.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/VerificationContentVerifying.kt create mode 100644 features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/util/StateMachineUtil.kt create mode 100644 features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationPresenterTest.kt create mode 100644 features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationViewTest.kt rename features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/{ => outgoing}/VerifySelfSessionPresenterTest.kt (58%) rename features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/{ => outgoing}/VerifySelfSessionViewTest.kt (87%) create mode 100644 libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/FlowId.kt create mode 100644 libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/verification/SessionVerificationRequestDetails.kt create mode 100644 libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/SessionVerificationRequestDetails.kt diff --git a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt index 5a8db185ef..09ac82c441 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt @@ -25,8 +25,10 @@ import com.bumble.appyx.core.node.Node import com.bumble.appyx.core.plugin.Plugin import com.bumble.appyx.core.plugin.plugins import com.bumble.appyx.navmodel.backstack.BackStack +import com.bumble.appyx.navmodel.backstack.operation.pop import com.bumble.appyx.navmodel.backstack.operation.push import com.bumble.appyx.navmodel.backstack.operation.replace +import com.bumble.appyx.navmodel.backstack.operation.singleTop import dagger.assisted.Assisted import dagger.assisted.AssistedInject import im.vector.app.features.analytics.plan.JoinedRoom @@ -50,6 +52,7 @@ import io.element.android.features.roomlist.api.RoomListEntryPoint import io.element.android.features.securebackup.api.SecureBackupEntryPoint import io.element.android.features.share.api.ShareEntryPoint import io.element.android.features.userprofile.api.UserProfileEntryPoint +import io.element.android.features.verifysession.api.IncomingVerificationEntryPoint import io.element.android.libraries.architecture.BackstackView import io.element.android.libraries.architecture.BaseFlowNode import io.element.android.libraries.architecture.createNode @@ -66,6 +69,8 @@ import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.api.core.toRoomIdOrAlias import io.element.android.libraries.matrix.api.permalink.PermalinkData import io.element.android.libraries.matrix.api.sync.SyncState +import io.element.android.libraries.matrix.api.verification.SessionVerificationRequestDetails +import io.element.android.libraries.matrix.api.verification.SessionVerificationServiceListener import io.element.android.libraries.preferences.api.store.EnableNativeSlidingSyncUseCase import io.element.android.services.appnavstate.api.AppNavigationStateService import kotlinx.coroutines.CoroutineScope @@ -99,6 +104,7 @@ class LoggedInFlowNode @AssistedInject constructor( private val matrixClient: MatrixClient, private val sendingQueue: SendQueues, private val logoutEntryPoint: LogoutEntryPoint, + private val incomingVerificationEntryPoint: IncomingVerificationEntryPoint, private val enableNativeSlidingSyncUseCase: EnableNativeSlidingSyncUseCase, snackbarDispatcher: SnackbarDispatcher, ) : BaseFlowNode( @@ -123,6 +129,12 @@ class LoggedInFlowNode @AssistedInject constructor( matrixClient.roomMembershipObserver(), ) + private val verificationListener = object : SessionVerificationServiceListener { + override fun onIncomingSessionRequest(sessionVerificationRequestDetails: SessionVerificationRequestDetails) { + backstack.singleTop(NavTarget.IncomingVerificationRequest(sessionVerificationRequestDetails)) + } + } + override fun onBuilt() { super.onBuilt() lifecycle.subscribe( @@ -131,6 +143,7 @@ class LoggedInFlowNode @AssistedInject constructor( // TODO We do not support Space yet, so directly navigate to main space appNavigationStateService.onNavigateToSpace(id, MAIN_SPACE) loggedInFlowProcessor.observeEvents(coroutineScope) + matrixClient.sessionVerificationService().setListener(verificationListener) ftueService.state .onEach { ftueState -> @@ -152,6 +165,7 @@ class LoggedInFlowNode @AssistedInject constructor( appNavigationStateService.onLeavingSpace(id) appNavigationStateService.onLeavingSession(id) loggedInFlowProcessor.stopObserving() + matrixClient.sessionVerificationService().setListener(null) } ) observeSyncStateAndNetworkStatus() @@ -232,6 +246,9 @@ class LoggedInFlowNode @AssistedInject constructor( @Parcelize data object LogoutForNativeSlidingSyncMigrationNeeded : NavTarget + + @Parcelize + data class IncomingVerificationRequest(val data: SessionVerificationRequestDetails) : NavTarget } override fun resolve(navTarget: NavTarget, buildContext: BuildContext): Node { @@ -432,6 +449,16 @@ class LoggedInFlowNode @AssistedInject constructor( .callback(callback) .build() } + is NavTarget.IncomingVerificationRequest -> { + incomingVerificationEntryPoint.nodeBuilder(this, buildContext) + .params(IncomingVerificationEntryPoint.Params(navTarget.data)) + .callback(object : IncomingVerificationEntryPoint.Callback { + override fun onDone() { + backstack.pop() + } + }) + .build() + } } } 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 10189c3c67..4788857e21 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 @@ -35,7 +35,7 @@ class DefaultFtueServiceTest { @Test fun `given any check being false and session verification state being loaded, FtueState is Incomplete`() = runTest { val sessionVerificationService = FakeSessionVerificationService().apply { - givenVerifiedStatus(SessionVerifiedStatus.Unknown) + emitVerifiedStatus(SessionVerifiedStatus.Unknown) } val service = createDefaultFtueService( sessionVerificationService = sessionVerificationService, @@ -46,7 +46,7 @@ class DefaultFtueServiceTest { assertThat(awaitItem()).isEqualTo(FtueState.Unknown) // Verification state is known, we should display the flow if any check is false - sessionVerificationService.givenVerifiedStatus(SessionVerifiedStatus.NotVerified) + sessionVerificationService.emitVerifiedStatus(SessionVerifiedStatus.NotVerified) assertThat(awaitItem()).isEqualTo(FtueState.Incomplete) } } @@ -64,7 +64,7 @@ class DefaultFtueServiceTest { lockScreenService = lockScreenService, ) - sessionVerificationService.givenVerifiedStatus(SessionVerifiedStatus.Verified) + sessionVerificationService.emitVerifiedStatus(SessionVerifiedStatus.Verified) analyticsService.setDidAskUserConsent() permissionStateProvider.setPermissionGranted() lockScreenService.setIsPinSetup(true) @@ -76,7 +76,7 @@ class DefaultFtueServiceTest { @Test fun `traverse flow`() = runTest { val sessionVerificationService = FakeSessionVerificationService().apply { - givenVerifiedStatus(SessionVerifiedStatus.NotVerified) + emitVerifiedStatus(SessionVerifiedStatus.NotVerified) } val analyticsService = FakeAnalyticsService() val permissionStateProvider = FakePermissionStateProvider(permissionGranted = false) @@ -91,7 +91,7 @@ class DefaultFtueServiceTest { // Session verification steps.add(service.getNextStep(steps.lastOrNull())) - sessionVerificationService.givenVerifiedStatus(SessionVerifiedStatus.NotVerified) + sessionVerificationService.emitVerifiedStatus(SessionVerifiedStatus.NotVerified) // Notifications opt in steps.add(service.getNextStep(steps.lastOrNull())) @@ -132,7 +132,7 @@ class DefaultFtueServiceTest { ) // Skip first 3 steps - sessionVerificationService.givenVerifiedStatus(SessionVerifiedStatus.Verified) + sessionVerificationService.emitVerifiedStatus(SessionVerifiedStatus.Verified) permissionStateProvider.setPermissionGranted() lockScreenService.setIsPinSetup(true) @@ -155,7 +155,7 @@ class DefaultFtueServiceTest { lockScreenService = lockScreenService, ) - sessionVerificationService.givenVerifiedStatus(SessionVerifiedStatus.Verified) + sessionVerificationService.emitVerifiedStatus(SessionVerifiedStatus.Verified) lockScreenService.setIsPinSetup(true) assertThat(service.getNextStep()).isEqualTo(FtueStep.AnalyticsOptIn) 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 cb7ef2852a..69e9a7d401 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 @@ -136,7 +136,7 @@ class RoomListPresenterTest { }.test { val initialState = awaitItem() assertThat(initialState.showAvatarIndicator).isTrue() - sessionVerificationService.givenNeedsSessionVerification(false) + sessionVerificationService.emitNeedsSessionVerification(false) encryptionService.emitBackupState(BackupState.ENABLED) val finalState = awaitItem() assertThat(finalState.showAvatarIndicator).isFalse() @@ -231,7 +231,7 @@ class RoomListPresenterTest { roomListService = roomListService, encryptionService = encryptionService, sessionVerificationService = FakeSessionVerificationService().apply { - givenNeedsSessionVerification(false) + emitNeedsSessionVerification(false) }, syncService = FakeSyncService(MutableStateFlow(SyncState.Running)), ) diff --git a/features/verifysession/api/build.gradle.kts b/features/verifysession/api/build.gradle.kts index 37914dc0ba..748051b623 100644 --- a/features/verifysession/api/build.gradle.kts +++ b/features/verifysession/api/build.gradle.kts @@ -15,4 +15,5 @@ android { dependencies { implementation(projects.libraries.architecture) + implementation(projects.libraries.matrix.api) } diff --git a/features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/IncomingVerificationEntryPoint.kt b/features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/IncomingVerificationEntryPoint.kt new file mode 100644 index 0000000000..908816ac00 --- /dev/null +++ b/features/verifysession/api/src/main/kotlin/io/element/android/features/verifysession/api/IncomingVerificationEntryPoint.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.verifysession.api + +import com.bumble.appyx.core.modality.BuildContext +import com.bumble.appyx.core.node.Node +import com.bumble.appyx.core.plugin.Plugin +import io.element.android.libraries.architecture.FeatureEntryPoint +import io.element.android.libraries.architecture.NodeInputs +import io.element.android.libraries.matrix.api.verification.SessionVerificationRequestDetails + +interface IncomingVerificationEntryPoint : FeatureEntryPoint { + data class Params( + val sessionVerificationRequestDetails: SessionVerificationRequestDetails, + ) : NodeInputs + + fun nodeBuilder(parentNode: Node, buildContext: BuildContext): NodeBuilder + + interface NodeBuilder { + fun callback(callback: Callback): NodeBuilder + fun params(params: Params): NodeBuilder + fun build(): Node + } + + interface Callback : Plugin { + fun onDone() + } +} diff --git a/features/verifysession/impl/build.gradle.kts b/features/verifysession/impl/build.gradle.kts index 8f5f6cae24..85d3b463ce 100644 --- a/features/verifysession/impl/build.gradle.kts +++ b/features/verifysession/impl/build.gradle.kts @@ -27,6 +27,7 @@ dependencies { implementation(projects.libraries.androidutils) implementation(projects.libraries.core) implementation(projects.libraries.architecture) + implementation(projects.libraries.dateformatter.api) implementation(projects.libraries.matrix.api) implementation(projects.libraries.matrixui) implementation(projects.libraries.designsystem) @@ -43,6 +44,7 @@ dependencies { testImplementation(libs.test.truth) testImplementation(libs.test.turbine) testImplementation(projects.features.logout.test) + testImplementation(projects.libraries.dateformatter.test) testImplementation(projects.libraries.matrix.test) testImplementation(projects.libraries.preferences.test) testImplementation(projects.tests.testutils) diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionStateProvider.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionStateProvider.kt deleted file mode 100644 index b5762b6d5f..0000000000 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionStateProvider.kt +++ /dev/null @@ -1,95 +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.verifysession.impl - -import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import io.element.android.features.verifysession.impl.VerifySelfSessionState.VerificationStep -import io.element.android.libraries.architecture.AsyncAction -import io.element.android.libraries.architecture.AsyncData -import io.element.android.libraries.matrix.api.verification.SessionVerificationData -import io.element.android.libraries.matrix.api.verification.VerificationEmoji - -open class VerifySelfSessionStateProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - aVerifySelfSessionState(displaySkipButton = true), - aVerifySelfSessionState( - verificationFlowStep = VerificationStep.AwaitingOtherDeviceResponse - ), - aVerifySelfSessionState( - verificationFlowStep = VerificationStep.Verifying(aEmojisSessionVerificationData(), AsyncData.Uninitialized) - ), - aVerifySelfSessionState( - verificationFlowStep = VerificationStep.Verifying(aEmojisSessionVerificationData(), AsyncData.Loading()) - ), - aVerifySelfSessionState( - verificationFlowStep = VerificationStep.Canceled - ), - aVerifySelfSessionState( - verificationFlowStep = VerificationStep.Ready - ), - aVerifySelfSessionState( - verificationFlowStep = VerificationStep.Verifying(aDecimalsSessionVerificationData(), AsyncData.Uninitialized) - ), - aVerifySelfSessionState( - verificationFlowStep = VerificationStep.Initial(canEnterRecoveryKey = true) - ), - aVerifySelfSessionState( - verificationFlowStep = VerificationStep.Initial(canEnterRecoveryKey = true, isLastDevice = true) - ), - aVerifySelfSessionState( - verificationFlowStep = VerificationStep.Completed, - displaySkipButton = true, - ), - aVerifySelfSessionState( - signOutAction = AsyncAction.Loading, - displaySkipButton = true, - ), - aVerifySelfSessionState( - verificationFlowStep = VerificationStep.Loading - ), - aVerifySelfSessionState( - verificationFlowStep = VerificationStep.Skipped - ), - // Add other state here - ) -} - -internal fun aEmojisSessionVerificationData( - emojiList: List = aVerificationEmojiList(), -): SessionVerificationData { - return SessionVerificationData.Emojis(emojiList) -} - -private fun aDecimalsSessionVerificationData( - decimals: List = listOf(123, 456, 789), -): SessionVerificationData { - return SessionVerificationData.Decimals(decimals) -} - -internal fun aVerifySelfSessionState( - verificationFlowStep: VerificationStep = VerificationStep.Initial(canEnterRecoveryKey = false), - signOutAction: AsyncAction = AsyncAction.Uninitialized, - displaySkipButton: Boolean = false, - eventSink: (VerifySelfSessionViewEvents) -> Unit = {}, -) = VerifySelfSessionState( - verificationFlowStep = verificationFlowStep, - displaySkipButton = displaySkipButton, - eventSink = eventSink, - signOutAction = signOutAction, -) - -private fun aVerificationEmojiList() = listOf( - VerificationEmoji(number = 27, emoji = "🍕", description = "Pizza"), - VerificationEmoji(number = 54, emoji = "🚀", description = "Rocket"), - VerificationEmoji(number = 54, emoji = "🚀", description = "Rocket"), - VerificationEmoji(number = 42, emoji = "📕", description = "Book"), - VerificationEmoji(number = 48, emoji = "🔨", description = "Hammer"), - VerificationEmoji(number = 48, emoji = "🔨", description = "Hammer"), - VerificationEmoji(number = 63, emoji = "📌", description = "Pin"), -) diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPoint.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPoint.kt new file mode 100644 index 0000000000..24ea086720 --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/DefaultIncomingVerificationEntryPoint.kt @@ -0,0 +1,40 @@ +/* + * 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.verifysession.impl.incoming + +import com.bumble.appyx.core.modality.BuildContext +import com.bumble.appyx.core.node.Node +import com.bumble.appyx.core.plugin.Plugin +import com.squareup.anvil.annotations.ContributesBinding +import io.element.android.features.verifysession.api.IncomingVerificationEntryPoint +import io.element.android.libraries.architecture.createNode +import io.element.android.libraries.di.AppScope +import javax.inject.Inject + +@ContributesBinding(AppScope::class) +class DefaultIncomingVerificationEntryPoint @Inject constructor() : IncomingVerificationEntryPoint { + override fun nodeBuilder(parentNode: Node, buildContext: BuildContext): IncomingVerificationEntryPoint.NodeBuilder { + val plugins = ArrayList() + + return object : IncomingVerificationEntryPoint.NodeBuilder { + override fun callback(callback: IncomingVerificationEntryPoint.Callback): IncomingVerificationEntryPoint.NodeBuilder { + plugins += callback + return this + } + + override fun params(params: IncomingVerificationEntryPoint.Params): IncomingVerificationEntryPoint.NodeBuilder { + plugins += params + return this + } + + override fun build(): Node { + return parentNode.createNode(buildContext, plugins) + } + } + } +} diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationNavigator.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationNavigator.kt new file mode 100644 index 0000000000..9ae5a09dd8 --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationNavigator.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.verifysession.impl.incoming + +fun interface IncomingVerificationNavigator { + fun onFinish() +} diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationNode.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationNode.kt new file mode 100644 index 0000000000..14df3ef8d9 --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationNode.kt @@ -0,0 +1,47 @@ +/* + * 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.verifysession.impl.incoming + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import com.bumble.appyx.core.modality.BuildContext +import com.bumble.appyx.core.node.Node +import com.bumble.appyx.core.plugin.Plugin +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.features.verifysession.api.IncomingVerificationEntryPoint +import io.element.android.libraries.architecture.inputs +import io.element.android.libraries.di.SessionScope + +@ContributesNode(SessionScope::class) +class IncomingVerificationNode @AssistedInject constructor( + @Assisted buildContext: BuildContext, + @Assisted plugins: List, + presenterFactory: IncomingVerificationPresenter.Factory, +) : Node(buildContext, plugins = plugins), + IncomingVerificationNavigator { + private val presenter = presenterFactory.create( + sessionVerificationRequestDetails = inputs().sessionVerificationRequestDetails, + navigator = this, + ) + + override fun onFinish() { + plugins().forEach { it.onDone() } + } + + @Composable + override fun View(modifier: Modifier) { + val state = presenter.present() + IncomingVerificationView( + state = state, + modifier = modifier, + ) + } +} diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationPresenter.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationPresenter.kt new file mode 100644 index 0000000000..ebd897d84c --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationPresenter.kt @@ -0,0 +1,189 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +@file:OptIn(ExperimentalCoroutinesApi::class) + +package io.element.android.features.verifysession.impl.incoming + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.derivedStateOf +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import com.freeletics.flowredux.compose.rememberStateAndDispatch +import dagger.assisted.Assisted +import dagger.assisted.AssistedFactory +import dagger.assisted.AssistedInject +import io.element.android.features.verifysession.impl.incoming.IncomingVerificationState.Step +import io.element.android.libraries.architecture.Presenter +import io.element.android.libraries.dateformatter.api.LastMessageTimestampFormatter +import io.element.android.libraries.matrix.api.verification.SessionVerificationRequestDetails +import io.element.android.libraries.matrix.api.verification.SessionVerificationService +import io.element.android.libraries.matrix.api.verification.VerificationFlowState +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.launchIn +import kotlinx.coroutines.flow.onEach +import timber.log.Timber +import io.element.android.features.verifysession.impl.incoming.IncomingVerificationStateMachine.Event as StateMachineEvent +import io.element.android.features.verifysession.impl.incoming.IncomingVerificationStateMachine.State as StateMachineState + +class IncomingVerificationPresenter @AssistedInject constructor( + @Assisted private val sessionVerificationRequestDetails: SessionVerificationRequestDetails, + @Assisted private val navigator: IncomingVerificationNavigator, + private val sessionVerificationService: SessionVerificationService, + private val stateMachine: IncomingVerificationStateMachine, + private val dateFormatter: LastMessageTimestampFormatter, +) : Presenter { + @AssistedFactory + interface Factory { + fun create( + sessionVerificationRequestDetails: SessionVerificationRequestDetails, + navigator: IncomingVerificationNavigator, + ): IncomingVerificationPresenter + } + + @Composable + override fun present(): IncomingVerificationState { + LaunchedEffect(Unit) { + // Force reset, just in case the service was left in a broken state + sessionVerificationService.reset( + cancelAnyPendingVerificationAttempt = false + ) + // Acknowledge the request right now + sessionVerificationService.acknowledgeVerificationRequest(sessionVerificationRequestDetails) + } + val stateAndDispatch = stateMachine.rememberStateAndDispatch() + val formattedSignInTime = remember { + dateFormatter.format(sessionVerificationRequestDetails.firstSeenTimestamp) + } + val step by remember { + derivedStateOf { + stateAndDispatch.state.value.toVerificationStep( + sessionVerificationRequestDetails = sessionVerificationRequestDetails, + formattedSignInTime = formattedSignInTime, + ) + } + } + + LaunchedEffect(stateAndDispatch.state.value) { + if ((stateAndDispatch.state.value as? IncomingVerificationStateMachine.State.Initial)?.isCancelled == true) { + // The verification was canceled before it was started, maybe because another session accepted it + navigator.onFinish() + } + } + + // Start this after observing state machine + LaunchedEffect(Unit) { + observeVerificationService() + } + + fun handleEvents(event: IncomingVerificationViewEvents) { + Timber.d("Verification user action: ${event::class.simpleName}") + when (event) { + IncomingVerificationViewEvents.StartVerification -> + stateAndDispatch.dispatchAction(StateMachineEvent.AcceptIncomingRequest) + IncomingVerificationViewEvents.IgnoreVerification -> + navigator.onFinish() + IncomingVerificationViewEvents.ConfirmVerification -> + stateAndDispatch.dispatchAction(StateMachineEvent.AcceptChallenge) + IncomingVerificationViewEvents.DeclineVerification -> + stateAndDispatch.dispatchAction(StateMachineEvent.DeclineChallenge) + IncomingVerificationViewEvents.GoBack -> { + when (val verificationStep = step) { + is Step.Initial -> if (verificationStep.isWaiting) { + stateAndDispatch.dispatchAction(StateMachineEvent.Cancel) + } else { + navigator.onFinish() + } + is Step.Verifying -> if (verificationStep.isWaiting) { + // What do we do in this case? + } else { + stateAndDispatch.dispatchAction(StateMachineEvent.DeclineChallenge) + } + Step.Canceled, + Step.Completed, + Step.Failure -> navigator.onFinish() + } + } + } + } + + return IncomingVerificationState( + step = step, + eventSink = ::handleEvents, + ) + } + + private fun StateMachineState?.toVerificationStep( + sessionVerificationRequestDetails: SessionVerificationRequestDetails, + formattedSignInTime: String, + ): Step = + when (val machineState = this) { + is StateMachineState.Initial, + IncomingVerificationStateMachine.State.AcceptingIncomingVerification, + IncomingVerificationStateMachine.State.RejectingIncomingVerification, + null -> { + Step.Initial( + deviceDisplayName = sessionVerificationRequestDetails.displayName ?: sessionVerificationRequestDetails.deviceId.value, + deviceId = sessionVerificationRequestDetails.deviceId, + formattedSignInTime = formattedSignInTime, + isWaiting = machineState == IncomingVerificationStateMachine.State.AcceptingIncomingVerification || + machineState == IncomingVerificationStateMachine.State.RejectingIncomingVerification, + ) + } + is IncomingVerificationStateMachine.State.ChallengeReceived -> + Step.Verifying( + data = machineState.data, + isWaiting = false, + ) + IncomingVerificationStateMachine.State.Completed -> Step.Completed + IncomingVerificationStateMachine.State.Canceling, + IncomingVerificationStateMachine.State.Failure -> Step.Failure + is IncomingVerificationStateMachine.State.AcceptingChallenge -> + Step.Verifying( + data = machineState.data, + isWaiting = true, + ) + is IncomingVerificationStateMachine.State.RejectingChallenge -> + Step.Verifying( + data = machineState.data, + isWaiting = true, + ) + IncomingVerificationStateMachine.State.Canceled -> Step.Canceled + } + + private fun CoroutineScope.observeVerificationService() { + sessionVerificationService.verificationFlowState + .onEach { Timber.d("Verification flow state: ${it::class.simpleName}") } + .onEach { verificationAttemptState -> + when (verificationAttemptState) { + VerificationFlowState.Initial, + VerificationFlowState.DidAcceptVerificationRequest, + VerificationFlowState.DidStartSasVerification -> Unit + is VerificationFlowState.DidReceiveVerificationData -> { + stateMachine.dispatch(IncomingVerificationStateMachine.Event.DidReceiveChallenge(verificationAttemptState.data)) + } + VerificationFlowState.DidFinish -> { + stateMachine.dispatch(IncomingVerificationStateMachine.Event.DidAcceptChallenge) + } + VerificationFlowState.DidCancel -> { + // Can happen when: + // - the remote party cancel the verification (before it is started) + // - another session has accepted the incoming verification request + // - the user reject the challenge from this application (I think this is an error). In this case, the state + // machine will ignore this event and change state to Failure. + stateMachine.dispatch(IncomingVerificationStateMachine.Event.DidCancel) + } + VerificationFlowState.DidFail -> { + stateMachine.dispatch(IncomingVerificationStateMachine.Event.DidFail) + } + } + } + .launchIn(this) + } +} diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationState.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationState.kt new file mode 100644 index 0000000000..4fcb86dfb8 --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationState.kt @@ -0,0 +1,38 @@ +/* + * 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.verifysession.impl.incoming + +import androidx.compose.runtime.Immutable +import androidx.compose.runtime.Stable +import io.element.android.libraries.matrix.api.core.DeviceId +import io.element.android.libraries.matrix.api.verification.SessionVerificationData + +@Immutable +data class IncomingVerificationState( + val step: Step, + val eventSink: (IncomingVerificationViewEvents) -> Unit, +) { + @Stable + sealed interface Step { + data class Initial( + val deviceDisplayName: String, + val deviceId: DeviceId, + val formattedSignInTime: String, + val isWaiting: Boolean, + ) : Step + + data class Verifying( + val data: SessionVerificationData, + val isWaiting: Boolean, + ) : Step + + data object Canceled : Step + data object Completed : Step + data object Failure : Step + } +} diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStateMachine.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStateMachine.kt new file mode 100644 index 0000000000..b8c3276af4 --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStateMachine.kt @@ -0,0 +1,158 @@ +/* + * Copyright 2024 New Vector Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only + * Please see LICENSE in the repository root for full details. + */ + +@file:OptIn(ExperimentalCoroutinesApi::class) + +package io.element.android.features.verifysession.impl.incoming + +import com.freeletics.flowredux.dsl.FlowReduxStateMachine +import io.element.android.features.verifysession.impl.util.andLogStateChange +import io.element.android.features.verifysession.impl.util.logReceivedEvents +import io.element.android.libraries.matrix.api.verification.SessionVerificationData +import io.element.android.libraries.matrix.api.verification.SessionVerificationService +import kotlinx.coroutines.ExperimentalCoroutinesApi +import javax.inject.Inject +import com.freeletics.flowredux.dsl.State as MachineState + +class IncomingVerificationStateMachine @Inject constructor( + private val sessionVerificationService: SessionVerificationService, +) : FlowReduxStateMachine( + initialState = State.Initial(isCancelled = false) +) { + init { + spec { + inState { + on { _: Event.AcceptIncomingRequest, state -> + state.override { State.AcceptingIncomingVerification.andLogStateChange() } + } + } + inState { + onEnterEffect { + sessionVerificationService.acceptVerificationRequest() + } + on { event: Event.DidReceiveChallenge, state -> + state.override { State.ChallengeReceived(event.data).andLogStateChange() } + } + } + inState { + on { _: Event.AcceptChallenge, state -> + state.override { State.AcceptingChallenge(state.snapshot.data).andLogStateChange() } + } + on { _: Event.DeclineChallenge, state -> + state.override { State.RejectingChallenge(state.snapshot.data).andLogStateChange() } + } + } + inState { + onEnterEffect { _ -> + sessionVerificationService.approveVerification() + } + on { _: Event.DidAcceptChallenge, state -> + state.override { State.Completed.andLogStateChange() } + } + } + inState { + onEnterEffect { _ -> + sessionVerificationService.declineVerification() + } + } + inState { + onEnterEffect { + sessionVerificationService.cancelVerification() + } + } + inState { + logReceivedEvents() + on { _: Event.Cancel, state: MachineState -> + when (state.snapshot) { + State.Completed, State.Canceled -> state.noChange() + else -> { + sessionVerificationService.cancelVerification() + state.override { State.Canceled.andLogStateChange() } + } + } + } + on { _: Event.DidCancel, state: MachineState -> + when (state.snapshot) { + is State.RejectingChallenge -> { + state.override { State.Failure.andLogStateChange() } + } + is State.Initial -> state.mutate { State.Initial(isCancelled = true).andLogStateChange() } + State.AcceptingIncomingVerification, + State.RejectingIncomingVerification, + is State.ChallengeReceived, + is State.AcceptingChallenge, + State.Canceling -> state.override { State.Canceled.andLogStateChange() } + State.Canceled, + State.Completed, + State.Failure -> state.noChange() + } + } + on { _: Event.DidFail, state: MachineState -> + state.override { State.Failure.andLogStateChange() } + } + } + } + } + + sealed interface State { + /** The initial state, before verification started. */ + data class Initial(val isCancelled: Boolean) : State + + /** User is accepting the incoming verification. */ + data object AcceptingIncomingVerification : State + + /** User is rejecting the incoming verification. */ + data object RejectingIncomingVerification : State + + /** Verification accepted and emojis received. */ + data class ChallengeReceived(val data: SessionVerificationData) : State + + /** Accepting the verification challenge. */ + data class AcceptingChallenge(val data: SessionVerificationData) : State + + /** Rejecting the verification challenge. */ + data class RejectingChallenge(val data: SessionVerificationData) : State + + /** The verification is being canceled. */ + data object Canceling : State + + /** The verification has been canceled, remotely or locally. */ + data object Canceled : State + + /** Verification successful. */ + data object Completed : State + + /** Verification failure. */ + data object Failure : State + } + + sealed interface Event { + /** User accepts the incoming request. */ + data object AcceptIncomingRequest : Event + + /** Has received data. */ + data class DidReceiveChallenge(val data: SessionVerificationData) : Event + + /** Emojis match. */ + data object AcceptChallenge : Event + + /** Emojis do not match. */ + data object DeclineChallenge : Event + + /** Remote accepted challenge. */ + data object DidAcceptChallenge : Event + + /** Request cancellation. */ + data object Cancel : Event + + /** Verification cancelled. */ + data object DidCancel : Event + + /** Request failed. */ + data object DidFail : Event + } +} diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStateProvider.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStateProvider.kt new file mode 100644 index 0000000000..0b43dcdd3c --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationStateProvider.kt @@ -0,0 +1,46 @@ +/* + * 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.verifysession.impl.incoming + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.features.verifysession.impl.incoming.IncomingVerificationState.Step +import io.element.android.features.verifysession.impl.ui.aDecimalsSessionVerificationData +import io.element.android.features.verifysession.impl.ui.aEmojisSessionVerificationData +import io.element.android.libraries.matrix.api.core.DeviceId + +open class IncomingVerificationStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + anIncomingVerificationState(), + anIncomingVerificationState(step = aStepInitial(isWaiting = true)), + anIncomingVerificationState(step = Step.Verifying(data = aEmojisSessionVerificationData(), isWaiting = false)), + anIncomingVerificationState(step = Step.Verifying(data = aEmojisSessionVerificationData(), isWaiting = true)), + anIncomingVerificationState(step = Step.Verifying(data = aDecimalsSessionVerificationData(), isWaiting = false)), + anIncomingVerificationState(step = Step.Completed), + anIncomingVerificationState(step = Step.Failure), + anIncomingVerificationState(step = Step.Canceled), + // Add other state here + ) +} + +internal fun aStepInitial( + isWaiting: Boolean = false, +) = Step.Initial( + deviceDisplayName = "Element X Android", + deviceId = DeviceId("ILAKNDNASDLK"), + formattedSignInTime = "12:34", + isWaiting = isWaiting, +) + +internal fun anIncomingVerificationState( + step: Step = aStepInitial(), + eventSink: (IncomingVerificationViewEvents) -> Unit = {}, +) = IncomingVerificationState( + step = step, + eventSink = eventSink, +) diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt new file mode 100644 index 0000000000..052b88f0dc --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt @@ -0,0 +1,235 @@ +/* + * 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.verifysession.impl.incoming + +import androidx.activity.compose.BackHandler +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +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.compound.tokens.generated.CompoundIcons +import io.element.android.features.verifysession.impl.R +import io.element.android.features.verifysession.impl.incoming.IncomingVerificationState.Step +import io.element.android.features.verifysession.impl.incoming.ui.SessionDetailsView +import io.element.android.features.verifysession.impl.ui.VerificationBottomMenu +import io.element.android.features.verifysession.impl.ui.VerificationContentVerifying +import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage +import io.element.android.libraries.designsystem.components.BigIcon +import io.element.android.libraries.designsystem.components.PageTitle +import io.element.android.libraries.designsystem.preview.ElementPreview +import io.element.android.libraries.designsystem.preview.PreviewsDayNight +import io.element.android.libraries.designsystem.theme.components.Button +import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.designsystem.theme.components.TextButton +import io.element.android.libraries.designsystem.theme.components.TopAppBar +import io.element.android.libraries.matrix.api.verification.SessionVerificationData +import io.element.android.libraries.ui.strings.CommonStrings + +/** + * [Figma](https://www.figma.com/design/pDlJZGBsri47FNTXMnEdXB/Compound-Android-Templates?node-id=819-7324). + */ +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun IncomingVerificationView( + state: IncomingVerificationState, + modifier: Modifier = Modifier, +) { + val step = state.step + + BackHandler { + state.eventSink(IncomingVerificationViewEvents.GoBack) + } + HeaderFooterPage( + modifier = modifier, + topBar = { + TopAppBar( + title = {}, + ) + }, + header = { + HeaderContent(step = step) + }, + footer = { + IncomingVerificationBottomMenu( + state = state, + ) + } + ) { + Content( + step = step, + ) + } +} + +@Composable +private fun HeaderContent(step: Step) { + val iconStyle = when (step) { + Step.Canceled, + is Step.Initial -> BigIcon.Style.Default(CompoundIcons.LockSolid()) + is Step.Verifying -> BigIcon.Style.Default(CompoundIcons.Reaction()) + Step.Completed -> BigIcon.Style.SuccessSolid + Step.Failure -> BigIcon.Style.AlertSolid + } + val titleTextId = when (step) { + Step.Canceled -> CommonStrings.common_verification_cancelled + is Step.Initial -> R.string.screen_session_verification_request_title + is Step.Verifying -> when (step.data) { + is SessionVerificationData.Decimals -> R.string.screen_session_verification_compare_numbers_title + is SessionVerificationData.Emojis -> R.string.screen_session_verification_compare_emojis_title + } + Step.Completed -> R.string.screen_session_verification_request_success_title + Step.Failure -> R.string.screen_session_verification_request_failure_title + } + val subtitleTextId = when (step) { + Step.Canceled -> R.string.screen_session_verification_cancelled_subtitle + is Step.Initial -> R.string.screen_session_verification_request_subtitle + is Step.Verifying -> when (step.data) { + is SessionVerificationData.Decimals -> R.string.screen_session_verification_compare_numbers_subtitle + is SessionVerificationData.Emojis -> R.string.screen_session_verification_compare_emojis_subtitle + } + Step.Completed -> R.string.screen_session_verification_request_success_subtitle + Step.Failure -> R.string.screen_session_verification_request_failure_subtitle + } + PageTitle( + iconStyle = iconStyle, + title = stringResource(id = titleTextId), + subtitle = stringResource(id = subtitleTextId) + ) +} + +@Composable +private fun Content( + step: Step, +) { + when (step) { + is Step.Initial -> ContentInitial(step) + is Step.Verifying -> VerificationContentVerifying(step.data) + else -> Unit + } +} + +@Composable +private fun ContentInitial( + initialIncoming: Step.Initial, +) { + Column( + modifier = Modifier.fillMaxWidth(), + verticalArrangement = Arrangement.spacedBy(24.dp), + ) { + SessionDetailsView( + deviceName = initialIncoming.deviceDisplayName, + deviceId = initialIncoming.deviceId, + signInFormattedTimestamp = initialIncoming.formattedSignInTime, + ) + Text( + modifier = Modifier + .align(Alignment.CenterHorizontally) + .padding(bottom = 16.dp), + text = stringResource(R.string.screen_session_verification_request_footer), + style = ElementTheme.typography.fontBodyMdMedium, + textAlign = TextAlign.Center, + ) + } +} + +@Composable +private fun IncomingVerificationBottomMenu( + state: IncomingVerificationState, +) { + val step = state.step + val eventSink = state.eventSink + + when (step) { + is Step.Initial -> { + if (step.isWaiting) { + VerificationBottomMenu { + Button( + modifier = Modifier.fillMaxWidth(), + text = stringResource(R.string.screen_identity_waiting_on_other_device), + onClick = {}, + enabled = false, + showProgress = true, + ) + // Placeholder so the 1st button keeps its vertical position + Spacer(modifier = Modifier.height(40.dp)) + } + } else { + VerificationBottomMenu { + Button( + modifier = Modifier.fillMaxWidth(), + text = stringResource(CommonStrings.action_start), + onClick = { eventSink(IncomingVerificationViewEvents.StartVerification) }, + ) + TextButton( + modifier = Modifier.fillMaxWidth(), + text = stringResource(CommonStrings.action_ignore), + onClick = { eventSink(IncomingVerificationViewEvents.IgnoreVerification) }, + ) + } + } + } + is Step.Verifying -> { + if (step.isWaiting) { + VerificationBottomMenu { + Button( + modifier = Modifier.fillMaxWidth(), + text = stringResource(R.string.screen_session_verification_positive_button_verifying_ongoing), + onClick = {}, + enabled = false, + showProgress = true, + ) + // Placeholder so the 1st button keeps its vertical position + Spacer(modifier = Modifier.height(40.dp)) + } + } else { + VerificationBottomMenu { + Button( + modifier = Modifier.fillMaxWidth(), + text = stringResource(R.string.screen_session_verification_they_match), + onClick = { eventSink(IncomingVerificationViewEvents.ConfirmVerification) }, + ) + TextButton( + modifier = Modifier.fillMaxWidth(), + text = stringResource(R.string.screen_session_verification_they_dont_match), + onClick = { eventSink(IncomingVerificationViewEvents.DeclineVerification) }, + ) + } + } + } + Step.Canceled, + is Step.Completed, + is Step.Failure -> { + VerificationBottomMenu { + Button( + modifier = Modifier.fillMaxWidth(), + text = stringResource(CommonStrings.action_done), + onClick = { eventSink(IncomingVerificationViewEvents.GoBack) }, + ) + } + } + } +} + +@PreviewsDayNight +@Composable +internal fun IncomingVerificationViewPreview(@PreviewParameter(IncomingVerificationStateProvider::class) state: IncomingVerificationState) = ElementPreview { + IncomingVerificationView( + state = state, + ) +} diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationViewEvents.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationViewEvents.kt new file mode 100644 index 0000000000..c1fef2ff88 --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationViewEvents.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.verifysession.impl.incoming + +sealed interface IncomingVerificationViewEvents { + data object GoBack : IncomingVerificationViewEvents + data object StartVerification : IncomingVerificationViewEvents + data object IgnoreVerification : IncomingVerificationViewEvents + data object ConfirmVerification : IncomingVerificationViewEvents + data object DeclineVerification : IncomingVerificationViewEvents +} diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/ui/SessionDetailsView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/ui/SessionDetailsView.kt new file mode 100644 index 0000000000..c1eecbdf39 --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/ui/SessionDetailsView.kt @@ -0,0 +1,111 @@ +/* + * 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.verifysession.impl.incoming.ui + +import androidx.compose.foundation.border +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp +import io.element.android.compound.theme.ElementTheme +import io.element.android.features.verifysession.impl.R +import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtom +import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtomSize +import io.element.android.libraries.designsystem.icons.CompoundDrawables +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.core.DeviceId +import io.element.android.libraries.ui.strings.CommonStrings + +@Composable +fun SessionDetailsView( + deviceName: String, + deviceId: DeviceId, + signInFormattedTimestamp: String, + modifier: Modifier = Modifier, +) { + Column( + modifier = modifier + .fillMaxWidth() + .border( + width = 1.dp, + color = ElementTheme.colors.borderDisabled, + shape = RoundedCornerShape(8.dp) + ) + .padding(24.dp), + verticalArrangement = Arrangement.spacedBy(12.dp), + ) { + Row( + horizontalArrangement = Arrangement.spacedBy(16.dp), + verticalAlignment = Alignment.CenterVertically, + ) { + RoundedIconAtom( + modifier = Modifier, + size = RoundedIconAtomSize.Big, + resourceId = CompoundDrawables.ic_compound_devices + ) + Text( + text = deviceName, + style = ElementTheme.typography.fontBodyMdMedium, + color = ElementTheme.colors.textPrimary, + ) + } + Row( + horizontalArrangement = Arrangement.spacedBy(8.dp), + ) { + TextWithLabelMolecule( + label = stringResource(R.string.screen_session_verification_request_details_timestamp), + text = signInFormattedTimestamp, + modifier = Modifier.weight(2f), + ) + TextWithLabelMolecule( + label = stringResource(CommonStrings.common_device_id), + text = deviceId.value, + modifier = Modifier.weight(5f), + ) + } + } +} + +@Composable +private fun TextWithLabelMolecule( + label: String, + text: String, + modifier: Modifier = Modifier, +) { + Column(modifier = modifier) { + Text( + text = label, + style = ElementTheme.typography.fontBodySmRegular, + color = ElementTheme.colors.textSecondary, + ) + Text( + text = text, + style = ElementTheme.typography.fontBodyMdRegular, + color = ElementTheme.colors.textPrimary, + ) + } +} + +@PreviewsDayNight +@Composable +internal fun SessionDetailsViewPreview() = ElementPreview { + SessionDetailsView( + deviceName = "Element X Android", + deviceId = DeviceId("ILAKNDNASDLK"), + signInFormattedTimestamp = "12:34", + ) +} diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/DefaultVerifySessionEntryPoint.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/DefaultVerifySessionEntryPoint.kt similarity index 95% rename from features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/DefaultVerifySessionEntryPoint.kt rename to features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/DefaultVerifySessionEntryPoint.kt index def5c4c84c..4563c8db56 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/DefaultVerifySessionEntryPoint.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/DefaultVerifySessionEntryPoint.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.features.verifysession.impl +package io.element.android.features.verifysession.impl.outgoing import com.bumble.appyx.core.modality.BuildContext import com.bumble.appyx.core.node.Node diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionNode.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionNode.kt similarity index 97% rename from features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionNode.kt rename to features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionNode.kt index 3eb33b0c8d..cf4c7ae084 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionNode.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionNode.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.features.verifysession.impl +package io.element.android.features.verifysession.impl.outgoing import android.app.Activity import androidx.compose.runtime.Composable diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionPresenter.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionPresenter.kt similarity index 72% rename from features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionPresenter.kt rename to features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionPresenter.kt index a8667217fe..360bf64875 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionPresenter.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionPresenter.kt @@ -7,7 +7,7 @@ @file:OptIn(ExperimentalCoroutinesApi::class) -package io.element.android.features.verifysession.impl +package io.element.android.features.verifysession.impl.outgoing import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect @@ -39,8 +39,9 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch -import io.element.android.features.verifysession.impl.VerifySelfSessionStateMachine.Event as StateMachineEvent -import io.element.android.features.verifysession.impl.VerifySelfSessionStateMachine.State as StateMachineState +import timber.log.Timber +import io.element.android.features.verifysession.impl.outgoing.VerifySelfSessionStateMachine.Event as StateMachineEvent +import io.element.android.features.verifysession.impl.outgoing.VerifySelfSessionStateMachine.State as StateMachineState class VerifySelfSessionPresenter @AssistedInject constructor( @Assisted private val showDeviceVerifiedScreen: Boolean, @@ -61,7 +62,7 @@ class VerifySelfSessionPresenter @AssistedInject constructor( val coroutineScope = rememberCoroutineScope() LaunchedEffect(Unit) { // Force reset, just in case the service was left in a broken state - sessionVerificationService.reset() + sessionVerificationService.reset(true) } val recoveryState by encryptionService.recoveryStateStateFlow.collectAsState() val stateAndDispatch = stateMachine.rememberStateAndDispatch() @@ -70,13 +71,13 @@ class VerifySelfSessionPresenter @AssistedInject constructor( val signOutAction = remember { mutableStateOf>(AsyncAction.Uninitialized) } - val verificationFlowStep by remember { + val step by remember { derivedStateOf { if (skipVerification) { - VerifySelfSessionState.VerificationStep.Skipped + VerifySelfSessionState.Step.Skipped } else { when (sessionVerifiedStatus) { - SessionVerifiedStatus.Unknown -> VerifySelfSessionState.VerificationStep.Loading + SessionVerifiedStatus.Unknown -> VerifySelfSessionState.Step.Loading SessionVerifiedStatus.NotVerified -> { stateAndDispatch.state.value.toVerificationStep( canEnterRecoveryKey = recoveryState == RecoveryState.INCOMPLETE @@ -85,10 +86,10 @@ class VerifySelfSessionPresenter @AssistedInject constructor( SessionVerifiedStatus.Verified -> { if (stateAndDispatch.state.value != StateMachineState.Initial || showDeviceVerifiedScreen) { // The user has verified the session, we need to show the success screen - VerifySelfSessionState.VerificationStep.Completed + VerifySelfSessionState.Step.Completed } else { // Automatic verification, which can happen on freshly created account, in this case, skip the screen - VerifySelfSessionState.VerificationStep.Skipped + VerifySelfSessionState.Step.Skipped } } } @@ -101,6 +102,7 @@ class VerifySelfSessionPresenter @AssistedInject constructor( } fun handleEvents(event: VerifySelfSessionViewEvents) { + Timber.d("Verification user action: ${event::class.simpleName}") when (event) { VerifySelfSessionViewEvents.RequestVerification -> stateAndDispatch.dispatchAction(StateMachineEvent.RequestVerification) VerifySelfSessionViewEvents.StartSasVerification -> stateAndDispatch.dispatchAction(StateMachineEvent.StartSasVerification) @@ -115,7 +117,7 @@ class VerifySelfSessionPresenter @AssistedInject constructor( } } return VerifySelfSessionState( - verificationFlowStep = verificationFlowStep, + step = step, signOutAction = signOutAction.value, displaySkipButton = buildMeta.isDebuggable, eventSink = ::handleEvents, @@ -124,10 +126,10 @@ class VerifySelfSessionPresenter @AssistedInject constructor( private fun StateMachineState?.toVerificationStep( canEnterRecoveryKey: Boolean - ): VerifySelfSessionState.VerificationStep = + ): VerifySelfSessionState.Step = when (val machineState = this) { StateMachineState.Initial, null -> { - VerifySelfSessionState.VerificationStep.Initial( + VerifySelfSessionState.Step.Initial( canEnterRecoveryKey = canEnterRecoveryKey, isLastDevice = encryptionService.isLastDevice.value ) @@ -136,15 +138,15 @@ class VerifySelfSessionPresenter @AssistedInject constructor( StateMachineState.StartingSasVerification, StateMachineState.SasVerificationStarted, StateMachineState.Canceling -> { - VerifySelfSessionState.VerificationStep.AwaitingOtherDeviceResponse + VerifySelfSessionState.Step.AwaitingOtherDeviceResponse } StateMachineState.VerificationRequestAccepted -> { - VerifySelfSessionState.VerificationStep.Ready + VerifySelfSessionState.Step.Ready } StateMachineState.Canceled -> { - VerifySelfSessionState.VerificationStep.Canceled + VerifySelfSessionState.Step.Canceled } is StateMachineState.Verifying -> { @@ -152,38 +154,41 @@ class VerifySelfSessionPresenter @AssistedInject constructor( is StateMachineState.Verifying.Replying -> AsyncData.Loading() else -> AsyncData.Uninitialized } - VerifySelfSessionState.VerificationStep.Verifying(machineState.data, async) + VerifySelfSessionState.Step.Verifying(machineState.data, async) } StateMachineState.Completed -> { - VerifySelfSessionState.VerificationStep.Completed + VerifySelfSessionState.Step.Completed } } private fun CoroutineScope.observeVerificationService() { - sessionVerificationService.verificationFlowState.onEach { verificationAttemptState -> - when (verificationAttemptState) { - VerificationFlowState.Initial -> stateMachine.dispatch(VerifySelfSessionStateMachine.Event.Reset) - VerificationFlowState.AcceptedVerificationRequest -> { - stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidAcceptVerificationRequest) - } - VerificationFlowState.StartedSasVerification -> { - stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidStartSasVerification) - } - is VerificationFlowState.ReceivedVerificationData -> { - stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidReceiveChallenge(verificationAttemptState.data)) - } - VerificationFlowState.Finished -> { - stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidAcceptChallenge) - } - VerificationFlowState.Canceled -> { - stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidCancel) - } - VerificationFlowState.Failed -> { - stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidFail) + sessionVerificationService.verificationFlowState + .onEach { Timber.d("Verification flow state: ${it::class.simpleName}") } + .onEach { verificationAttemptState -> + when (verificationAttemptState) { + VerificationFlowState.Initial -> stateMachine.dispatch(VerifySelfSessionStateMachine.Event.Reset) + VerificationFlowState.DidAcceptVerificationRequest -> { + stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidAcceptVerificationRequest) + } + VerificationFlowState.DidStartSasVerification -> { + stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidStartSasVerification) + } + is VerificationFlowState.DidReceiveVerificationData -> { + stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidReceiveChallenge(verificationAttemptState.data)) + } + VerificationFlowState.DidFinish -> { + stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidAcceptChallenge) + } + VerificationFlowState.DidCancel -> { + stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidCancel) + } + VerificationFlowState.DidFail -> { + stateMachine.dispatch(VerifySelfSessionStateMachine.Event.DidFail) + } } } - }.launchIn(this) + .launchIn(this) } private fun CoroutineScope.signOut(signOutAction: MutableState>) = launch { diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionState.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionState.kt similarity index 60% rename from features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionState.kt rename to features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionState.kt index 81062d57c7..e763305caa 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionState.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionState.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.features.verifysession.impl +package io.element.android.features.verifysession.impl.outgoing import androidx.compose.runtime.Immutable import androidx.compose.runtime.Stable @@ -15,22 +15,22 @@ import io.element.android.libraries.matrix.api.verification.SessionVerificationD @Immutable data class VerifySelfSessionState( - val verificationFlowStep: VerificationStep, + val step: Step, val signOutAction: AsyncAction, val displaySkipButton: Boolean, val eventSink: (VerifySelfSessionViewEvents) -> Unit, ) { @Stable - sealed interface VerificationStep { - data object Loading : VerificationStep + sealed interface Step { + data object Loading : Step // FIXME canEnterRecoveryKey value is never read. - data class Initial(val canEnterRecoveryKey: Boolean, val isLastDevice: Boolean = false) : VerificationStep - data object Canceled : VerificationStep - data object AwaitingOtherDeviceResponse : VerificationStep - data object Ready : VerificationStep - data class Verifying(val data: SessionVerificationData, val state: AsyncData) : VerificationStep - data object Completed : VerificationStep - data object Skipped : VerificationStep + data class Initial(val canEnterRecoveryKey: Boolean, val isLastDevice: Boolean = false) : Step + data object Canceled : Step + data object AwaitingOtherDeviceResponse : Step + data object Ready : Step + data class Verifying(val data: SessionVerificationData, val state: AsyncData) : Step + data object Completed : Step + data object Skipped : Step } } diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionStateMachine.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionStateMachine.kt similarity index 89% rename from features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionStateMachine.kt rename to features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionStateMachine.kt index 55c3d7e94f..f423b14aae 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionStateMachine.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionStateMachine.kt @@ -8,9 +8,11 @@ @file:Suppress("WildcardImport") @file:OptIn(ExperimentalCoroutinesApi::class) -package io.element.android.features.verifysession.impl +package io.element.android.features.verifysession.impl.outgoing import com.freeletics.flowredux.dsl.FlowReduxStateMachine +import io.element.android.features.verifysession.impl.util.andLogStateChange +import io.element.android.features.verifysession.impl.util.logReceivedEvents import io.element.android.libraries.core.bool.orFalse import io.element.android.libraries.core.data.tryOrNull import io.element.android.libraries.matrix.api.encryption.EncryptionService @@ -37,10 +39,10 @@ class VerifySelfSessionStateMachine @Inject constructor( spec { inState { on { _: Event.RequestVerification, state -> - state.override { State.RequestingVerification } + state.override { State.RequestingVerification.andLogStateChange() } } on { _: Event.StartSasVerification, state -> - state.override { State.StartingSasVerification } + state.override { State.StartingSasVerification.andLogStateChange() } } } inState { @@ -48,7 +50,7 @@ class VerifySelfSessionStateMachine @Inject constructor( sessionVerificationService.requestVerification() } on { _: Event.DidAcceptVerificationRequest, state -> - state.override { State.VerificationRequestAccepted } + state.override { State.VerificationRequestAccepted.andLogStateChange() } } } inState { @@ -58,28 +60,28 @@ class VerifySelfSessionStateMachine @Inject constructor( } inState { on { _: Event.StartSasVerification, state -> - state.override { State.StartingSasVerification } + state.override { State.StartingSasVerification.andLogStateChange() } } } inState { on { _: Event.RequestVerification, state -> - state.override { State.RequestingVerification } + state.override { State.RequestingVerification.andLogStateChange() } } on { _: Event.Reset, state -> - state.override { State.Initial } + state.override { State.Initial.andLogStateChange() } } } inState { on { event: Event.DidReceiveChallenge, state -> - state.override { State.Verifying.ChallengeReceived(event.data) } + state.override { State.Verifying.ChallengeReceived(event.data).andLogStateChange() } } } inState { on { _: Event.AcceptChallenge, state -> - state.override { State.Verifying.Replying(state.snapshot.data, accept = true) } + state.override { State.Verifying.Replying(state.snapshot.data, accept = true).andLogStateChange() } } on { _: Event.DeclineChallenge, state -> - state.override { State.Verifying.Replying(state.snapshot.data, accept = false) } + state.override { State.Verifying.Replying(state.snapshot.data, accept = false).andLogStateChange() } } } inState { @@ -100,7 +102,7 @@ class VerifySelfSessionStateMachine @Inject constructor( .first() } } - state.override { State.Completed } + state.override { State.Completed.andLogStateChange() } } } inState { @@ -110,8 +112,9 @@ class VerifySelfSessionStateMachine @Inject constructor( } } inState { + logReceivedEvents() on { _: Event.DidStartSasVerification, state: MachineState -> - state.override { State.SasVerificationStarted } + state.override { State.SasVerificationStarted.andLogStateChange() } } on { _: Event.Cancel, state: MachineState -> when (state.snapshot) { @@ -120,17 +123,17 @@ class VerifySelfSessionStateMachine @Inject constructor( // `Canceling` state to `Canceled` automatically anymore else -> { sessionVerificationService.cancelVerification() - state.override { State.Canceled } + state.override { State.Canceled.andLogStateChange() } } } } on { _: Event.DidCancel, state: MachineState -> - state.override { State.Canceled } + state.override { State.Canceled.andLogStateChange() } } on { _: Event.DidFail, state: MachineState -> when (state.snapshot) { - is State.RequestingVerification -> state.override { State.Initial } - else -> state.override { State.Canceled } + is State.RequestingVerification -> state.override { State.Initial.andLogStateChange() } + else -> state.override { State.Canceled.andLogStateChange() } } } } diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionStateProvider.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionStateProvider.kt new file mode 100644 index 0000000000..8cb60a822f --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionStateProvider.kt @@ -0,0 +1,73 @@ +/* + * 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.verifysession.impl.outgoing + +import androidx.compose.ui.tooling.preview.PreviewParameterProvider +import io.element.android.features.verifysession.impl.outgoing.VerifySelfSessionState.Step +import io.element.android.features.verifysession.impl.ui.aDecimalsSessionVerificationData +import io.element.android.features.verifysession.impl.ui.aEmojisSessionVerificationData +import io.element.android.libraries.architecture.AsyncAction +import io.element.android.libraries.architecture.AsyncData + +open class VerifySelfSessionStateProvider : PreviewParameterProvider { + override val values: Sequence + get() = sequenceOf( + aVerifySelfSessionState(displaySkipButton = true), + aVerifySelfSessionState( + step = Step.AwaitingOtherDeviceResponse + ), + aVerifySelfSessionState( + step = Step.Verifying(aEmojisSessionVerificationData(), AsyncData.Uninitialized) + ), + aVerifySelfSessionState( + step = Step.Verifying(aEmojisSessionVerificationData(), AsyncData.Loading()) + ), + aVerifySelfSessionState( + step = Step.Canceled + ), + aVerifySelfSessionState( + step = Step.Ready + ), + aVerifySelfSessionState( + step = Step.Verifying(aDecimalsSessionVerificationData(), AsyncData.Uninitialized) + ), + aVerifySelfSessionState( + step = Step.Initial(canEnterRecoveryKey = true) + ), + aVerifySelfSessionState( + step = Step.Initial(canEnterRecoveryKey = true, isLastDevice = true) + ), + aVerifySelfSessionState( + step = Step.Completed, + displaySkipButton = true, + ), + aVerifySelfSessionState( + signOutAction = AsyncAction.Loading, + displaySkipButton = true, + ), + aVerifySelfSessionState( + step = Step.Loading + ), + aVerifySelfSessionState( + step = Step.Skipped + ), + // Add other state here + ) +} + +internal fun aVerifySelfSessionState( + step: Step = Step.Initial(canEnterRecoveryKey = false), + signOutAction: AsyncAction = AsyncAction.Uninitialized, + displaySkipButton: Boolean = false, + eventSink: (VerifySelfSessionViewEvents) -> Unit = {}, +) = VerifySelfSessionState( + step = step, + displaySkipButton = displaySkipButton, + eventSink = eventSink, + signOutAction = signOutAction, +) diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionView.kt similarity index 62% rename from features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt rename to features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionView.kt index 5b0c9105ad..75b189424e 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionView.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionView.kt @@ -5,25 +5,19 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.features.verifysession.impl +package io.element.android.features.verifysession.impl.outgoing import androidx.activity.compose.BackHandler -import androidx.compose.foundation.Image import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size -import androidx.compose.foundation.layout.widthIn import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -31,18 +25,17 @@ import androidx.compose.runtime.rememberUpdatedState import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalInspectionMode -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.compound.tokens.generated.CompoundIcons -import io.element.android.features.verifysession.impl.emoji.toEmojiResource +import io.element.android.features.verifysession.impl.R +import io.element.android.features.verifysession.impl.outgoing.VerifySelfSessionState.Step +import io.element.android.features.verifysession.impl.ui.VerificationBottomMenu +import io.element.android.features.verifysession.impl.ui.VerificationContentVerifying import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncData -import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule import io.element.android.libraries.designsystem.atomic.pages.HeaderFooterPage import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.components.PageTitle @@ -56,9 +49,7 @@ import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TextButton import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.matrix.api.verification.SessionVerificationData -import io.element.android.libraries.matrix.api.verification.VerificationEmoji import io.element.android.libraries.ui.strings.CommonStrings -import io.element.android.features.verifysession.impl.VerifySelfSessionState.VerificationStep as FlowStep @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -71,12 +62,13 @@ fun VerifySelfSessionView( onSuccessLogout: (String?) -> Unit, modifier: Modifier = Modifier, ) { + val step = state.step fun cancelOrResetFlow() { - when (state.verificationFlowStep) { - is FlowStep.Canceled -> state.eventSink(VerifySelfSessionViewEvents.Reset) - is FlowStep.AwaitingOtherDeviceResponse, FlowStep.Ready -> state.eventSink(VerifySelfSessionViewEvents.Cancel) - is FlowStep.Verifying -> { - if (!state.verificationFlowStep.state.isLoading()) { + when (step) { + is Step.Canceled -> state.eventSink(VerifySelfSessionViewEvents.Reset) + is Step.AwaitingOtherDeviceResponse, Step.Ready -> state.eventSink(VerifySelfSessionViewEvents.Cancel) + is Step.Verifying -> { + if (!step.state.isLoading()) { state.eventSink(VerifySelfSessionViewEvents.DeclineVerification) } } @@ -85,18 +77,17 @@ fun VerifySelfSessionView( } val latestOnFinish by rememberUpdatedState(newValue = onFinish) - LaunchedEffect(state.verificationFlowStep, latestOnFinish) { - if (state.verificationFlowStep is FlowStep.Skipped) { + LaunchedEffect(step, latestOnFinish) { + if (step is Step.Skipped) { latestOnFinish() } } BackHandler { cancelOrResetFlow() } - val verificationFlowStep = state.verificationFlowStep - if (state.verificationFlowStep is FlowStep.Loading || - state.verificationFlowStep is FlowStep.Skipped) { + if (step is Step.Loading || + step is Step.Skipped) { // Just display a loader in this case, to avoid UI glitch. Box( modifier = Modifier.fillMaxSize(), @@ -111,7 +102,7 @@ fun VerifySelfSessionView( TopAppBar( title = {}, actions = { - if (state.verificationFlowStep !is FlowStep.Completed && + if (step !is Step.Completed && state.displaySkipButton && LocalInspectionMode.current.not()) { TextButton( @@ -119,7 +110,7 @@ fun VerifySelfSessionView( onClick = { state.eventSink(VerifySelfSessionViewEvents.SkipVerification) } ) } - if (state.verificationFlowStep is FlowStep.Initial) { + if (step is Step.Initial) { TextButton( text = stringResource(CommonStrings.action_signout), onClick = { state.eventSink(VerifySelfSessionViewEvents.SignOut) } @@ -129,7 +120,7 @@ fun VerifySelfSessionView( ) }, header = { - HeaderContent(verificationFlowStep = verificationFlowStep) + HeaderContent(step = step) }, footer = { BottomMenu( @@ -142,7 +133,7 @@ fun VerifySelfSessionView( } ) { Content( - flowState = verificationFlowStep, + flowState = step, onLearnMoreClick = onLearnMoreClick, ) } @@ -165,38 +156,38 @@ fun VerifySelfSessionView( } @Composable -private fun HeaderContent(verificationFlowStep: FlowStep) { - val iconStyle = when (verificationFlowStep) { - VerifySelfSessionState.VerificationStep.Loading -> error("Should not happen") - is FlowStep.Initial, FlowStep.AwaitingOtherDeviceResponse -> BigIcon.Style.Default(CompoundIcons.LockSolid()) - FlowStep.Canceled -> BigIcon.Style.AlertSolid - FlowStep.Ready, is FlowStep.Verifying -> BigIcon.Style.Default(CompoundIcons.Reaction()) - FlowStep.Completed -> BigIcon.Style.SuccessSolid - is FlowStep.Skipped -> return +private fun HeaderContent(step: Step) { + val iconStyle = when (step) { + VerifySelfSessionState.Step.Loading -> error("Should not happen") + is Step.Initial, Step.AwaitingOtherDeviceResponse -> BigIcon.Style.Default(CompoundIcons.LockSolid()) + Step.Canceled -> BigIcon.Style.AlertSolid + Step.Ready, is Step.Verifying -> BigIcon.Style.Default(CompoundIcons.Reaction()) + Step.Completed -> BigIcon.Style.SuccessSolid + is Step.Skipped -> return } - val titleTextId = when (verificationFlowStep) { - VerifySelfSessionState.VerificationStep.Loading -> error("Should not happen") - is FlowStep.Initial, FlowStep.AwaitingOtherDeviceResponse -> R.string.screen_identity_confirmation_title - FlowStep.Canceled -> CommonStrings.common_verification_cancelled - FlowStep.Ready -> R.string.screen_session_verification_compare_emojis_title - FlowStep.Completed -> R.string.screen_identity_confirmed_title - is FlowStep.Verifying -> when (verificationFlowStep.data) { + val titleTextId = when (step) { + VerifySelfSessionState.Step.Loading -> error("Should not happen") + is Step.Initial, Step.AwaitingOtherDeviceResponse -> R.string.screen_identity_confirmation_title + Step.Canceled -> CommonStrings.common_verification_cancelled + Step.Ready -> R.string.screen_session_verification_compare_emojis_title + Step.Completed -> R.string.screen_identity_confirmed_title + is Step.Verifying -> when (step.data) { is SessionVerificationData.Decimals -> R.string.screen_session_verification_compare_numbers_title is SessionVerificationData.Emojis -> R.string.screen_session_verification_compare_emojis_title } - is FlowStep.Skipped -> return + is Step.Skipped -> return } - val subtitleTextId = when (verificationFlowStep) { - VerifySelfSessionState.VerificationStep.Loading -> error("Should not happen") - is FlowStep.Initial, FlowStep.AwaitingOtherDeviceResponse -> R.string.screen_identity_confirmation_subtitle - FlowStep.Canceled -> R.string.screen_session_verification_cancelled_subtitle - FlowStep.Ready -> R.string.screen_session_verification_ready_subtitle - FlowStep.Completed -> R.string.screen_identity_confirmed_subtitle - is FlowStep.Verifying -> when (verificationFlowStep.data) { + val subtitleTextId = when (step) { + VerifySelfSessionState.Step.Loading -> error("Should not happen") + is Step.Initial, Step.AwaitingOtherDeviceResponse -> R.string.screen_identity_confirmation_subtitle + Step.Canceled -> R.string.screen_session_verification_cancelled_subtitle + Step.Ready -> R.string.screen_session_verification_ready_subtitle + Step.Completed -> R.string.screen_identity_confirmed_subtitle + is Step.Verifying -> when (step.data) { is SessionVerificationData.Decimals -> R.string.screen_session_verification_compare_numbers_subtitle is SessionVerificationData.Emojis -> R.string.screen_session_verification_compare_emojis_subtitle } - is FlowStep.Skipped -> return + is Step.Skipped -> return } PageTitle( @@ -208,15 +199,15 @@ private fun HeaderContent(verificationFlowStep: FlowStep) { @Composable private fun Content( - flowState: FlowStep, + flowState: Step, onLearnMoreClick: () -> Unit, ) { when (flowState) { - is VerifySelfSessionState.VerificationStep.Initial -> { + is VerifySelfSessionState.Step.Initial -> { ContentInitial(onLearnMoreClick) } - is FlowStep.Verifying -> { - ContentVerifying(flowState) + is Step.Verifying -> { + VerificationContentVerifying(flowState.data) } else -> Unit } @@ -240,63 +231,6 @@ private fun ContentInitial( } } -@Composable -private fun ContentVerifying(verificationFlowStep: FlowStep.Verifying) { - Box( - modifier = Modifier.fillMaxSize(), - contentAlignment = Alignment.Center - ) { - when (verificationFlowStep.data) { - is SessionVerificationData.Decimals -> { - val text = verificationFlowStep.data.decimals.joinToString(separator = " - ") { it.toString() } - Text( - modifier = Modifier.fillMaxWidth(), - text = text, - style = ElementTheme.typography.fontHeadingLgBold, - color = MaterialTheme.colorScheme.primary, - textAlign = TextAlign.Center, - ) - } - is SessionVerificationData.Emojis -> { - // We want each row to have up to 4 emojis - val rows = verificationFlowStep.data.emojis.chunked(4) - Column( - modifier = Modifier.fillMaxWidth(), - verticalArrangement = Arrangement.spacedBy(40.dp), - ) { - rows.forEach { emojis -> - Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceEvenly) { - for (emoji in emojis) { - EmojiItemView(emoji = emoji, modifier = Modifier.widthIn(max = 60.dp)) - } - } - } - } - } - } - } -} - -@Composable -private fun EmojiItemView(emoji: VerificationEmoji, modifier: Modifier = Modifier) { - val emojiResource = emoji.number.toEmojiResource() - Column(horizontalAlignment = Alignment.CenterHorizontally, modifier = modifier) { - Image( - modifier = Modifier.size(48.dp), - painter = painterResource(id = emojiResource.drawableRes), - contentDescription = null, - ) - Spacer(modifier = Modifier.height(16.dp)) - Text( - text = stringResource(id = emojiResource.nameRes), - style = ElementTheme.typography.fontBodyMdRegular, - color = MaterialTheme.colorScheme.secondary, - maxLines = 1, - overflow = TextOverflow.Ellipsis, - ) - } -} - @Composable private fun BottomMenu( screenState: VerifySelfSessionState, @@ -305,15 +239,15 @@ private fun BottomMenu( onCancelClick: () -> Unit, onContinueClick: () -> Unit, ) { - val verificationViewState = screenState.verificationFlowStep + val verificationViewState = screenState.step val eventSink = screenState.eventSink - val isVerifying = (verificationViewState as? FlowStep.Verifying)?.state is AsyncData.Loading + val isVerifying = (verificationViewState as? Step.Verifying)?.state is AsyncData.Loading when (verificationViewState) { - VerifySelfSessionState.VerificationStep.Loading -> error("Should not happen") - is FlowStep.Initial -> { - BottomMenu { + VerifySelfSessionState.Step.Loading -> error("Should not happen") + is Step.Initial -> { + VerificationBottomMenu { if (verificationViewState.isLastDevice) { Button( modifier = Modifier.fillMaxWidth(), @@ -340,8 +274,8 @@ private fun BottomMenu( ) } } - is FlowStep.Canceled -> { - BottomMenu { + is Step.Canceled -> { + VerificationBottomMenu { Button( modifier = Modifier.fillMaxWidth(), text = stringResource(R.string.screen_session_verification_positive_button_canceled), @@ -354,8 +288,8 @@ private fun BottomMenu( ) } } - is FlowStep.Ready -> { - BottomMenu { + is Step.Ready -> { + VerificationBottomMenu { Button( modifier = Modifier.fillMaxWidth(), text = stringResource(CommonStrings.action_start), @@ -368,8 +302,8 @@ private fun BottomMenu( ) } } - is FlowStep.AwaitingOtherDeviceResponse -> { - BottomMenu { + is Step.AwaitingOtherDeviceResponse -> { + VerificationBottomMenu { Button( modifier = Modifier.fillMaxWidth(), text = stringResource(R.string.screen_identity_waiting_on_other_device), @@ -380,13 +314,13 @@ private fun BottomMenu( Spacer(modifier = Modifier.height(40.dp)) } } - is FlowStep.Verifying -> { + is Step.Verifying -> { val positiveButtonTitle = if (isVerifying) { stringResource(R.string.screen_session_verification_positive_button_verifying_ongoing) } else { stringResource(R.string.screen_session_verification_they_match) } - BottomMenu { + VerificationBottomMenu { Button( modifier = Modifier.fillMaxWidth(), text = positiveButtonTitle, @@ -404,8 +338,8 @@ private fun BottomMenu( ) } } - is FlowStep.Completed -> { - BottomMenu { + is Step.Completed -> { + VerificationBottomMenu { Button( modifier = Modifier.fillMaxWidth(), text = stringResource(CommonStrings.action_continue), @@ -415,19 +349,7 @@ private fun BottomMenu( Spacer(modifier = Modifier.height(48.dp)) } } - is FlowStep.Skipped -> return - } -} - -@Composable -private fun BottomMenu( - modifier: Modifier = Modifier, - buttons: @Composable ColumnScope.() -> Unit, -) { - ButtonColumnMolecule( - modifier = modifier.padding(bottom = 16.dp) - ) { - buttons() + is Step.Skipped -> return } } diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionViewEvents.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionViewEvents.kt similarity index 91% rename from features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionViewEvents.kt rename to features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionViewEvents.kt index 1f0c235842..869bdc7051 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionViewEvents.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionViewEvents.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.features.verifysession.impl +package io.element.android.features.verifysession.impl.outgoing sealed interface VerifySelfSessionViewEvents { data object RequestVerification : VerifySelfSessionViewEvents diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/Common.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/Common.kt new file mode 100644 index 0000000000..345663fa11 --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/Common.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.verifysession.impl.ui + +import io.element.android.libraries.matrix.api.verification.SessionVerificationData +import io.element.android.libraries.matrix.api.verification.VerificationEmoji + +internal fun aEmojisSessionVerificationData( + emojiList: List = aVerificationEmojiList(), +): SessionVerificationData { + return SessionVerificationData.Emojis(emojiList) +} + +internal fun aDecimalsSessionVerificationData( + decimals: List = listOf(123, 456, 789), +): SessionVerificationData { + return SessionVerificationData.Decimals(decimals) +} + +private fun aVerificationEmojiList() = listOf( + VerificationEmoji(number = 27, emoji = "🍕", description = "Pizza"), + VerificationEmoji(number = 54, emoji = "🚀", description = "Rocket"), + VerificationEmoji(number = 54, emoji = "🚀", description = "Rocket"), + VerificationEmoji(number = 42, emoji = "📕", description = "Book"), + VerificationEmoji(number = 48, emoji = "🔨", description = "Hammer"), + VerificationEmoji(number = 48, emoji = "🔨", description = "Hammer"), + VerificationEmoji(number = 63, emoji = "📌", description = "Pin"), +) diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/VerificationBottomMenu.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/VerificationBottomMenu.kt new file mode 100644 index 0000000000..33ab0fa378 --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/VerificationBottomMenu.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.features.verifysession.impl.ui + +import androidx.compose.foundation.layout.ColumnScope +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import io.element.android.libraries.designsystem.atomic.molecules.ButtonColumnMolecule + +@Composable +internal fun VerificationBottomMenu( + modifier: Modifier = Modifier, + buttons: @Composable ColumnScope.() -> Unit, +) { + ButtonColumnMolecule( + modifier = modifier.padding(bottom = 16.dp) + ) { + buttons() + } +} diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/VerificationContentVerifying.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/VerificationContentVerifying.kt new file mode 100644 index 0000000000..7f988a0d3d --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/ui/VerificationContentVerifying.kt @@ -0,0 +1,94 @@ +/* + * 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.verifysession.impl.ui + +import androidx.compose.foundation.Image +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.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.widthIn +import androidx.compose.material3.MaterialTheme +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import io.element.android.compound.theme.ElementTheme +import io.element.android.features.verifysession.impl.emoji.toEmojiResource +import io.element.android.libraries.designsystem.theme.components.Text +import io.element.android.libraries.matrix.api.verification.SessionVerificationData +import io.element.android.libraries.matrix.api.verification.VerificationEmoji + +@Composable +internal fun VerificationContentVerifying( + data: SessionVerificationData, + modifier: Modifier = Modifier, +) { + Box( + modifier = modifier.fillMaxSize(), + contentAlignment = Alignment.Center + ) { + when (data) { + is SessionVerificationData.Decimals -> { + val text = data.decimals.joinToString(separator = " - ") { it.toString() } + Text( + modifier = Modifier.fillMaxWidth(), + text = text, + style = ElementTheme.typography.fontHeadingLgBold, + color = MaterialTheme.colorScheme.primary, + textAlign = TextAlign.Center, + ) + } + is SessionVerificationData.Emojis -> { + // We want each row to have up to 4 emojis + val rows = data.emojis.chunked(4) + Column( + modifier = Modifier.fillMaxWidth(), + verticalArrangement = Arrangement.spacedBy(40.dp), + ) { + rows.forEach { emojis -> + Row(modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceEvenly) { + for (emoji in emojis) { + EmojiItemView(emoji = emoji, modifier = Modifier.widthIn(max = 60.dp)) + } + } + } + } + } + } + } +} + +@Composable +private fun EmojiItemView(emoji: VerificationEmoji, modifier: Modifier = Modifier) { + val emojiResource = emoji.number.toEmojiResource() + Column(horizontalAlignment = Alignment.CenterHorizontally, modifier = modifier) { + Image( + modifier = Modifier.size(48.dp), + painter = painterResource(id = emojiResource.drawableRes), + contentDescription = null, + ) + Spacer(modifier = Modifier.height(16.dp)) + Text( + text = stringResource(id = emojiResource.nameRes), + style = ElementTheme.typography.fontBodyMdRegular, + color = MaterialTheme.colorScheme.secondary, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + ) + } +} diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/util/StateMachineUtil.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/util/StateMachineUtil.kt new file mode 100644 index 0000000000..096a0be9ea --- /dev/null +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/util/StateMachineUtil.kt @@ -0,0 +1,25 @@ +/* + * 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.verifysession.impl.util + +import com.freeletics.flowredux.dsl.InStateBuilderBlock +import kotlinx.coroutines.ExperimentalCoroutinesApi +import timber.log.Timber +import com.freeletics.flowredux.dsl.State as MachineState + +internal fun T.andLogStateChange() = also { + Timber.w("Verification: state machine state moved to [${this::class.simpleName}]") +} + +@OptIn(ExperimentalCoroutinesApi::class) +inline fun InStateBuilderBlock.logReceivedEvents() { + on { event: Event, state: MachineState -> + Timber.w("Verification in state [${state.snapshot::class.simpleName}] receiving event [${event::class.simpleName}]") + state.noChange() + } +} diff --git a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationPresenterTest.kt b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationPresenterTest.kt new file mode 100644 index 0000000000..773b7b390b --- /dev/null +++ b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationPresenterTest.kt @@ -0,0 +1,292 @@ +/* + * 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.verifysession.impl.incoming + +import com.google.common.truth.Truth.assertThat +import io.element.android.features.verifysession.impl.ui.aEmojisSessionVerificationData +import io.element.android.libraries.dateformatter.api.LastMessageTimestampFormatter +import io.element.android.libraries.dateformatter.test.A_FORMATTED_DATE +import io.element.android.libraries.dateformatter.test.FakeLastMessageTimestampFormatter +import io.element.android.libraries.matrix.api.core.FlowId +import io.element.android.libraries.matrix.api.verification.SessionVerificationRequestDetails +import io.element.android.libraries.matrix.api.verification.SessionVerificationService +import io.element.android.libraries.matrix.api.verification.VerificationFlowState +import io.element.android.libraries.matrix.test.A_DEVICE_ID +import io.element.android.libraries.matrix.test.A_TIMESTAMP +import io.element.android.libraries.matrix.test.A_USER_ID +import io.element.android.libraries.matrix.test.verification.FakeSessionVerificationService +import io.element.android.tests.testutils.WarmUpRule +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.test +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.test.advanceUntilIdle +import kotlinx.coroutines.test.runTest +import org.junit.Rule +import org.junit.Test + +@ExperimentalCoroutinesApi +class IncomingVerificationPresenterTest { + @get:Rule + val warmUpRule = WarmUpRule() + + @Test + fun `present - nominal case - incoming verification successful`() = runTest { + val acknowledgeVerificationRequestLambda = lambdaRecorder { _ -> } + val acceptVerificationRequestLambda = lambdaRecorder { } + val approveVerificationLambda = lambdaRecorder { } + val resetLambda = lambdaRecorder { } + val fakeSessionVerificationService = FakeSessionVerificationService( + acknowledgeVerificationRequestLambda = acknowledgeVerificationRequestLambda, + acceptVerificationRequestLambda = acceptVerificationRequestLambda, + approveVerificationLambda = approveVerificationLambda, + resetLambda = resetLambda, + ) + createPresenter( + service = fakeSessionVerificationService, + ).test { + val initialState = awaitItem() + assertThat(initialState.step).isEqualTo( + IncomingVerificationState.Step.Initial( + deviceDisplayName = "a device name", + deviceId = A_DEVICE_ID, + formattedSignInTime = A_FORMATTED_DATE, + isWaiting = false, + ) + ) + resetLambda.assertions().isCalledOnce().with(value(false)) + acknowledgeVerificationRequestLambda.assertions().isCalledOnce().with(value(aSessionVerificationRequestDetails)) + acceptVerificationRequestLambda.assertions().isNeverCalled() + // User accept the incoming verification + initialState.eventSink(IncomingVerificationViewEvents.StartVerification) + skipItems(1) + val initialWaitingState = awaitItem() + assertThat((initialWaitingState.step as IncomingVerificationState.Step.Initial).isWaiting).isTrue() + advanceUntilIdle() + acceptVerificationRequestLambda.assertions().isCalledOnce() + // Remote sent the data + fakeSessionVerificationService.emitVerificationFlowState(VerificationFlowState.DidAcceptVerificationRequest) + fakeSessionVerificationService.emitVerificationFlowState(VerificationFlowState.DidStartSasVerification) + fakeSessionVerificationService.emitVerificationFlowState( + VerificationFlowState.DidReceiveVerificationData( + data = aEmojisSessionVerificationData() + ) + ) + val emojiState = awaitItem() + assertThat(emojiState.step).isEqualTo( + IncomingVerificationState.Step.Verifying( + data = aEmojisSessionVerificationData(), + isWaiting = false + ) + ) + // User claims that the emoji matches + emojiState.eventSink(IncomingVerificationViewEvents.ConfirmVerification) + val emojiWaitingItem = awaitItem() + assertThat((emojiWaitingItem.step as IncomingVerificationState.Step.Verifying).isWaiting).isTrue() + approveVerificationLambda.assertions().isCalledOnce() + // Remote confirm that the emojis match + fakeSessionVerificationService.emitVerificationFlowState( + VerificationFlowState.DidFinish + ) + val finalItem = awaitItem() + assertThat(finalItem.step).isEqualTo(IncomingVerificationState.Step.Completed) + } + } + + @Test + fun `present - emoji not matching case - incoming verification failure`() = runTest { + val acknowledgeVerificationRequestLambda = lambdaRecorder { _ -> } + val acceptVerificationRequestLambda = lambdaRecorder { } + val declineVerificationLambda = lambdaRecorder { } + val resetLambda = lambdaRecorder { } + val fakeSessionVerificationService = FakeSessionVerificationService( + acknowledgeVerificationRequestLambda = acknowledgeVerificationRequestLambda, + acceptVerificationRequestLambda = acceptVerificationRequestLambda, + declineVerificationLambda = declineVerificationLambda, + resetLambda = resetLambda, + ) + createPresenter( + service = fakeSessionVerificationService, + ).test { + val initialState = awaitItem() + assertThat(initialState.step).isEqualTo( + IncomingVerificationState.Step.Initial( + deviceDisplayName = "a device name", + deviceId = A_DEVICE_ID, + formattedSignInTime = A_FORMATTED_DATE, + isWaiting = false, + ) + ) + resetLambda.assertions().isCalledOnce().with(value(false)) + acknowledgeVerificationRequestLambda.assertions().isCalledOnce().with(value(aSessionVerificationRequestDetails)) + acceptVerificationRequestLambda.assertions().isNeverCalled() + // User accept the incoming verification + initialState.eventSink(IncomingVerificationViewEvents.StartVerification) + skipItems(1) + val initialWaitingState = awaitItem() + assertThat((initialWaitingState.step as IncomingVerificationState.Step.Initial).isWaiting).isTrue() + advanceUntilIdle() + acceptVerificationRequestLambda.assertions().isCalledOnce() + // Remote sent the data + fakeSessionVerificationService.emitVerificationFlowState(VerificationFlowState.DidAcceptVerificationRequest) + fakeSessionVerificationService.emitVerificationFlowState(VerificationFlowState.DidStartSasVerification) + fakeSessionVerificationService.emitVerificationFlowState( + VerificationFlowState.DidReceiveVerificationData( + data = aEmojisSessionVerificationData() + ) + ) + val emojiState = awaitItem() + // User claims that the emojis do not match + emojiState.eventSink(IncomingVerificationViewEvents.DeclineVerification) + val emojiWaitingItem = awaitItem() + assertThat((emojiWaitingItem.step as IncomingVerificationState.Step.Verifying).isWaiting).isTrue() + declineVerificationLambda.assertions().isCalledOnce() + // Remote confirm that there is a failure + fakeSessionVerificationService.emitVerificationFlowState( + VerificationFlowState.DidFail + ) + val finalItem = awaitItem() + assertThat(finalItem.step).isEqualTo(IncomingVerificationState.Step.Failure) + } + } + + @Test + fun `present - incoming verification is remotely canceled`() = runTest { + val acknowledgeVerificationRequestLambda = lambdaRecorder { _ -> } + val acceptVerificationRequestLambda = lambdaRecorder { } + val declineVerificationLambda = lambdaRecorder { } + val resetLambda = lambdaRecorder { } + val onFinishLambda = lambdaRecorder { } + val fakeSessionVerificationService = FakeSessionVerificationService( + acknowledgeVerificationRequestLambda = acknowledgeVerificationRequestLambda, + acceptVerificationRequestLambda = acceptVerificationRequestLambda, + declineVerificationLambda = declineVerificationLambda, + resetLambda = resetLambda, + ) + createPresenter( + service = fakeSessionVerificationService, + navigator = IncomingVerificationNavigator(onFinishLambda), + ).test { + val initialState = awaitItem() + assertThat(initialState.step).isEqualTo( + IncomingVerificationState.Step.Initial( + deviceDisplayName = "a device name", + deviceId = A_DEVICE_ID, + formattedSignInTime = A_FORMATTED_DATE, + isWaiting = false, + ) + ) + // Remote cancel the verification request + fakeSessionVerificationService.emitVerificationFlowState(VerificationFlowState.DidCancel) + // The screen is dismissed + skipItems(2) + onFinishLambda.assertions().isCalledOnce() + } + } + + @Test + fun `present - user goes back when comparing emoji - incoming verification failure`() = runTest { + val acknowledgeVerificationRequestLambda = lambdaRecorder { _ -> } + val acceptVerificationRequestLambda = lambdaRecorder { } + val declineVerificationLambda = lambdaRecorder { } + val resetLambda = lambdaRecorder { } + val fakeSessionVerificationService = FakeSessionVerificationService( + acknowledgeVerificationRequestLambda = acknowledgeVerificationRequestLambda, + acceptVerificationRequestLambda = acceptVerificationRequestLambda, + declineVerificationLambda = declineVerificationLambda, + resetLambda = resetLambda, + ) + createPresenter( + service = fakeSessionVerificationService, + ).test { + val initialState = awaitItem() + assertThat(initialState.step).isEqualTo( + IncomingVerificationState.Step.Initial( + deviceDisplayName = "a device name", + deviceId = A_DEVICE_ID, + formattedSignInTime = A_FORMATTED_DATE, + isWaiting = false, + ) + ) + resetLambda.assertions().isCalledOnce().with(value(false)) + acknowledgeVerificationRequestLambda.assertions().isCalledOnce().with(value(aSessionVerificationRequestDetails)) + acceptVerificationRequestLambda.assertions().isNeverCalled() + // User accept the incoming verification + initialState.eventSink(IncomingVerificationViewEvents.StartVerification) + skipItems(1) + val initialWaitingState = awaitItem() + assertThat((initialWaitingState.step as IncomingVerificationState.Step.Initial).isWaiting).isTrue() + advanceUntilIdle() + acceptVerificationRequestLambda.assertions().isCalledOnce() + // Remote sent the data + fakeSessionVerificationService.emitVerificationFlowState(VerificationFlowState.DidAcceptVerificationRequest) + fakeSessionVerificationService.emitVerificationFlowState(VerificationFlowState.DidStartSasVerification) + fakeSessionVerificationService.emitVerificationFlowState( + VerificationFlowState.DidReceiveVerificationData( + data = aEmojisSessionVerificationData() + ) + ) + val emojiState = awaitItem() + // User goes back + emojiState.eventSink(IncomingVerificationViewEvents.GoBack) + val emojiWaitingItem = awaitItem() + assertThat((emojiWaitingItem.step as IncomingVerificationState.Step.Verifying).isWaiting).isTrue() + declineVerificationLambda.assertions().isCalledOnce() + // Remote confirm that there is a failure + fakeSessionVerificationService.emitVerificationFlowState( + VerificationFlowState.DidFail + ) + val finalItem = awaitItem() + assertThat(finalItem.step).isEqualTo(IncomingVerificationState.Step.Failure) + } + } + + @Test + fun `present - user ignores incoming request`() = runTest { + val acknowledgeVerificationRequestLambda = lambdaRecorder { _ -> } + val acceptVerificationRequestLambda = lambdaRecorder { } + val resetLambda = lambdaRecorder { } + val fakeSessionVerificationService = FakeSessionVerificationService( + acknowledgeVerificationRequestLambda = acknowledgeVerificationRequestLambda, + acceptVerificationRequestLambda = acceptVerificationRequestLambda, + resetLambda = resetLambda, + ) + val navigatorLambda = lambdaRecorder { } + createPresenter( + service = fakeSessionVerificationService, + navigator = IncomingVerificationNavigator(navigatorLambda), + ).test { + val initialState = awaitItem() + initialState.eventSink(IncomingVerificationViewEvents.IgnoreVerification) + skipItems(1) + navigatorLambda.assertions().isCalledOnce() + } + } + + private val aSessionVerificationRequestDetails = SessionVerificationRequestDetails( + senderId = A_USER_ID, + flowId = FlowId("flowId"), + deviceId = A_DEVICE_ID, + displayName = "a device name", + firstSeenTimestamp = A_TIMESTAMP, + ) + + private fun createPresenter( + sessionVerificationRequestDetails: SessionVerificationRequestDetails = aSessionVerificationRequestDetails, + navigator: IncomingVerificationNavigator = IncomingVerificationNavigator { lambdaError() }, + service: SessionVerificationService = FakeSessionVerificationService(), + dateFormatter: LastMessageTimestampFormatter = FakeLastMessageTimestampFormatter(A_FORMATTED_DATE), + ) = IncomingVerificationPresenter( + sessionVerificationRequestDetails = sessionVerificationRequestDetails, + navigator = navigator, + sessionVerificationService = service, + stateMachine = IncomingVerificationStateMachine(service), + dateFormatter = dateFormatter, + ) +} diff --git a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationViewTest.kt b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationViewTest.kt new file mode 100644 index 0000000000..7517486c00 --- /dev/null +++ b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationViewTest.kt @@ -0,0 +1,217 @@ +/* + * 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.verifysession.impl.incoming + +import androidx.activity.ComponentActivity +import androidx.compose.ui.test.junit4.AndroidComposeTestRule +import androidx.compose.ui.test.junit4.createAndroidComposeRule +import androidx.test.ext.junit.runners.AndroidJUnit4 +import io.element.android.features.verifysession.impl.R +import io.element.android.features.verifysession.impl.ui.aEmojisSessionVerificationData +import io.element.android.libraries.ui.strings.CommonStrings +import io.element.android.tests.testutils.EventsRecorder +import io.element.android.tests.testutils.clickOn +import io.element.android.tests.testutils.pressBackKey +import org.junit.Rule +import org.junit.Test +import org.junit.rules.TestRule +import org.junit.runner.RunWith + +@RunWith(AndroidJUnit4::class) +class IncomingVerificationViewTest { + @get:Rule val rule = createAndroidComposeRule() + + // region step Initial + @Test + fun `back key pressed - ignore the verification`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = aStepInitial(), + eventSink = eventsRecorder + ), + ) + rule.pressBackKey() + eventsRecorder.assertSingle(IncomingVerificationViewEvents.GoBack) + } + + @Test + fun `ignore incoming verification emits the expected event`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = aStepInitial(), + eventSink = eventsRecorder + ), + ) + rule.clickOn(CommonStrings.action_ignore) + eventsRecorder.assertSingle(IncomingVerificationViewEvents.IgnoreVerification) + } + + @Test + fun `start incoming verification emits the expected event`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = aStepInitial(), + eventSink = eventsRecorder + ), + ) + rule.clickOn(CommonStrings.action_start) + eventsRecorder.assertSingle(IncomingVerificationViewEvents.StartVerification) + } + + @Test + fun `back key pressed - when awaiting response cancels the verification`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = aStepInitial( + isWaiting = true, + ), + eventSink = eventsRecorder + ), + ) + rule.pressBackKey() + eventsRecorder.assertSingle(IncomingVerificationViewEvents.GoBack) + } + // endregion step Initial + + // region step Verifying + @Test + fun `back key pressed - when ready to verify cancels the verification`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = IncomingVerificationState.Step.Verifying( + data = aEmojisSessionVerificationData(), + isWaiting = false, + ), + eventSink = eventsRecorder + ), + ) + rule.pressBackKey() + eventsRecorder.assertSingle(IncomingVerificationViewEvents.GoBack) + } + + @Test + fun `back key pressed - when verifying and loading emits the expected event`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = IncomingVerificationState.Step.Verifying( + data = aEmojisSessionVerificationData(), + isWaiting = true, + ), + eventSink = eventsRecorder + ), + ) + rule.pressBackKey() + eventsRecorder.assertSingle(IncomingVerificationViewEvents.GoBack) + } + + @Test + fun `clicking on they do not match emits the expected event`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = IncomingVerificationState.Step.Verifying( + data = aEmojisSessionVerificationData(), + isWaiting = false, + ), + eventSink = eventsRecorder + ), + ) + rule.clickOn(R.string.screen_session_verification_they_dont_match) + eventsRecorder.assertSingle(IncomingVerificationViewEvents.DeclineVerification) + } + + @Test + fun `clicking on they match emits the expected event`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = IncomingVerificationState.Step.Verifying( + data = aEmojisSessionVerificationData(), + isWaiting = false, + ), + eventSink = eventsRecorder + ), + ) + rule.clickOn(R.string.screen_session_verification_they_match) + eventsRecorder.assertSingle(IncomingVerificationViewEvents.ConfirmVerification) + } + // endregion + + // region step Failure + @Test + fun `back key pressed - when failure resets the flow`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = IncomingVerificationState.Step.Failure, + eventSink = eventsRecorder + ), + ) + rule.pressBackKey() + eventsRecorder.assertSingle(IncomingVerificationViewEvents.GoBack) + } + + @Test + fun `click on done - when failure resets the flow`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = IncomingVerificationState.Step.Failure, + eventSink = eventsRecorder + ), + ) + rule.clickOn(CommonStrings.action_done) + eventsRecorder.assertSingle(IncomingVerificationViewEvents.GoBack) + } + + // endregion + + // region step Completed + @Test + fun `back key pressed - on Completed step emits the expected event`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = IncomingVerificationState.Step.Completed, + eventSink = eventsRecorder + ), + ) + rule.pressBackKey() + eventsRecorder.assertSingle(IncomingVerificationViewEvents.GoBack) + } + + @Test + fun `when flow is completed and the user clicks on the done button, the expected event is emitted`() { + val eventsRecorder = EventsRecorder() + rule.setIncomingVerificationView( + anIncomingVerificationState( + step = IncomingVerificationState.Step.Completed, + eventSink = eventsRecorder + ), + ) + rule.clickOn(CommonStrings.action_done) + eventsRecorder.assertSingle(IncomingVerificationViewEvents.GoBack) + } + // endregion + + private fun AndroidComposeTestRule.setIncomingVerificationView( + state: IncomingVerificationState, + ) { + setContent { + IncomingVerificationView( + state = state, + ) + } + } +} diff --git a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionPresenterTest.kt b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionPresenterTest.kt similarity index 58% rename from features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionPresenterTest.kt rename to features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionPresenterTest.kt index 188c895f5c..bfdf27ee5d 100644 --- a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionPresenterTest.kt +++ b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionPresenterTest.kt @@ -5,7 +5,7 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.features.verifysession.impl +package io.element.android.features.verifysession.impl.outgoing import app.cash.molecule.RecompositionMode import app.cash.molecule.moleculeFlow @@ -14,12 +14,13 @@ import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.features.logout.api.LogoutUseCase import io.element.android.features.logout.test.FakeLogoutUseCase -import io.element.android.features.verifysession.impl.VerifySelfSessionState.VerificationStep +import io.element.android.features.verifysession.impl.outgoing.VerifySelfSessionState.Step import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.core.meta.BuildMeta 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.verification.SessionVerificationData +import io.element.android.libraries.matrix.api.verification.SessionVerificationRequestDetails import io.element.android.libraries.matrix.api.verification.SessionVerificationService import io.element.android.libraries.matrix.api.verification.SessionVerifiedStatus import io.element.android.libraries.matrix.api.verification.VerificationEmoji @@ -29,6 +30,7 @@ import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService import io.element.android.libraries.matrix.test.verification.FakeSessionVerificationService import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore import io.element.android.tests.testutils.WarmUpRule +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 kotlinx.coroutines.ExperimentalCoroutinesApi @@ -43,12 +45,14 @@ class VerifySelfSessionPresenterTest { @Test fun `present - Initial state is received`() = runTest { - val presenter = createVerifySelfSessionPresenter() + val presenter = createVerifySelfSessionPresenter( + service = unverifiedSessionService(), + ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { awaitItem().run { - assertThat(verificationFlowStep).isEqualTo(VerificationStep.Initial(false)) + assertThat(step).isEqualTo(Step.Initial(false)) assertThat(displaySkipButton).isTrue() } } @@ -57,7 +61,10 @@ class VerifySelfSessionPresenterTest { @Test fun `present - hides skip verification button on non-debuggable builds`() = runTest { val buildMeta = aBuildMeta(isDebuggable = false) - val presenter = createVerifySelfSessionPresenter(buildMeta = buildMeta) + val presenter = createVerifySelfSessionPresenter( + service = unverifiedSessionService(), + buildMeta = buildMeta, + ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { @@ -67,7 +74,11 @@ class VerifySelfSessionPresenterTest { @Test fun `present - Initial state is received, can use recovery key`() = runTest { + val resetLambda = lambdaRecorder { } val presenter = createVerifySelfSessionPresenter( + service = unverifiedSessionService( + resetLambda = resetLambda + ), encryptionService = FakeEncryptionService().apply { emitRecoveryState(RecoveryState.INCOMPLETE) } @@ -75,13 +86,15 @@ class VerifySelfSessionPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Initial(true)) + assertThat(awaitItem().step).isEqualTo(Step.Initial(true)) + resetLambda.assertions().isCalledOnce().with(value(true)) } } @Test fun `present - Initial state is received, can use recovery key and is last device`() = runTest { val presenter = createVerifySelfSessionPresenter( + service = unverifiedSessionService(), encryptionService = FakeEncryptionService().apply { emitIsLastDevice(true) emitRecoveryState(RecoveryState.INCOMPLETE) @@ -90,13 +103,16 @@ class VerifySelfSessionPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Initial(canEnterRecoveryKey = true, isLastDevice = true)) + assertThat(awaitItem().step).isEqualTo(Step.Initial(canEnterRecoveryKey = true, isLastDevice = true)) } } @Test fun `present - Handles requestVerification`() = runTest { - val service = unverifiedSessionService() + val service = unverifiedSessionService( + requestVerificationLambda = { }, + startVerificationLambda = { }, + ) val presenter = createVerifySelfSessionPresenter(service) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -107,32 +123,36 @@ class VerifySelfSessionPresenterTest { @Test fun `present - Handles startSasVerification`() = runTest { - val service = unverifiedSessionService() + val service = unverifiedSessionService( + startVerificationLambda = { }, + ) val presenter = createVerifySelfSessionPresenter(service) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { val initialState = awaitItem() - assertThat(initialState.verificationFlowStep).isEqualTo(VerificationStep.Initial(false)) - val eventSink = initialState.eventSink - eventSink(VerifySelfSessionViewEvents.StartSasVerification) + assertThat(initialState.step).isEqualTo(Step.Initial(false)) + initialState.eventSink(VerifySelfSessionViewEvents.StartSasVerification) // Await for other device response: - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.AwaitingOtherDeviceResponse) + assertThat(awaitItem().step).isEqualTo(Step.AwaitingOtherDeviceResponse) + service.emitVerificationFlowState(VerificationFlowState.DidStartSasVerification) // ChallengeReceived: - service.triggerReceiveVerificationData(SessionVerificationData.Emojis(emptyList())) + service.emitVerificationFlowState(VerificationFlowState.DidReceiveVerificationData(SessionVerificationData.Emojis(emptyList()))) val verifyingState = awaitItem() - assertThat(verifyingState.verificationFlowStep).isInstanceOf(VerificationStep.Verifying::class.java) + assertThat(verifyingState.step).isInstanceOf(Step.Verifying::class.java) } } @Test - fun `present - Cancelation on initial state does nothing`() = runTest { - val presenter = createVerifySelfSessionPresenter() + fun `present - Cancellation on initial state does nothing`() = runTest { + val presenter = createVerifySelfSessionPresenter( + service = unverifiedSessionService(), + ) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { val initialState = awaitItem() - assertThat(initialState.verificationFlowStep).isEqualTo(VerificationStep.Initial(false)) + assertThat(initialState.step).isEqualTo(Step.Initial(false)) val eventSink = initialState.eventSink eventSink(VerifySelfSessionViewEvents.Cancel) expectNoEvents() @@ -141,92 +161,110 @@ class VerifySelfSessionPresenterTest { @Test fun `present - A failure when verifying cancels it`() = runTest { - val service = unverifiedSessionService() + val service = unverifiedSessionService( + requestVerificationLambda = { }, + startVerificationLambda = { }, + approveVerificationLambda = { }, + ) val presenter = createVerifySelfSessionPresenter(service) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { val state = requestVerificationAndAwaitVerifyingState(service) - service.shouldFail = true state.eventSink(VerifySelfSessionViewEvents.ConfirmVerification) // Cancelling - assertThat(awaitItem().verificationFlowStep).isInstanceOf(VerificationStep.Verifying::class.java) + assertThat(awaitItem().step).isInstanceOf(Step.Verifying::class.java) + service.emitVerificationFlowState(VerificationFlowState.DidFail) // Cancelled - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Canceled) + assertThat(awaitItem().step).isEqualTo(Step.Canceled) } } @Test fun `present - A fail when requesting verification resets the state to the initial one`() = runTest { - val service = unverifiedSessionService() + val service = unverifiedSessionService( + requestVerificationLambda = { }, + ) val presenter = createVerifySelfSessionPresenter(service) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - service.shouldFail = true awaitItem().eventSink(VerifySelfSessionViewEvents.RequestVerification) - service.shouldFail = false - assertThat(awaitItem().verificationFlowStep).isInstanceOf(VerificationStep.AwaitingOtherDeviceResponse::class.java) - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Initial(false)) + service.emitVerificationFlowState(VerificationFlowState.DidFail) + assertThat(awaitItem().step).isInstanceOf(Step.AwaitingOtherDeviceResponse::class.java) + assertThat(awaitItem().step).isEqualTo(Step.Initial(false)) } } @Test fun `present - Canceling the flow once it's verifying cancels it`() = runTest { - val service = unverifiedSessionService() + val service = unverifiedSessionService( + requestVerificationLambda = { }, + startVerificationLambda = { }, + cancelVerificationLambda = { }, + ) val presenter = createVerifySelfSessionPresenter(service) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { val state = requestVerificationAndAwaitVerifyingState(service) state.eventSink(VerifySelfSessionViewEvents.Cancel) - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Canceled) + assertThat(awaitItem().step).isEqualTo(Step.Canceled) } } @Test fun `present - When verifying, if we receive another challenge we ignore it`() = runTest { - val service = unverifiedSessionService() + val service = unverifiedSessionService( + requestVerificationLambda = { }, + startVerificationLambda = { }, + ) val presenter = createVerifySelfSessionPresenter(service) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { requestVerificationAndAwaitVerifyingState(service) - service.givenVerificationFlowState(VerificationFlowState.ReceivedVerificationData(SessionVerificationData.Emojis(emptyList()))) + service.emitVerificationFlowState(VerificationFlowState.DidReceiveVerificationData(SessionVerificationData.Emojis(emptyList()))) ensureAllEventsConsumed() } } @Test - fun `present - Restart after cancelation returns to requesting verification`() = runTest { - val service = unverifiedSessionService() + fun `present - Restart after cancellation returns to requesting verification`() = runTest { + val service = unverifiedSessionService( + requestVerificationLambda = { }, + startVerificationLambda = { }, + ) val presenter = createVerifySelfSessionPresenter(service) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { val state = requestVerificationAndAwaitVerifyingState(service) - service.givenVerificationFlowState(VerificationFlowState.Canceled) - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Canceled) + service.emitVerificationFlowState(VerificationFlowState.DidCancel) + assertThat(awaitItem().step).isEqualTo(Step.Canceled) state.eventSink(VerifySelfSessionViewEvents.RequestVerification) // Went back to requesting verification - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.AwaitingOtherDeviceResponse) + assertThat(awaitItem().step).isEqualTo(Step.AwaitingOtherDeviceResponse) cancelAndIgnoreRemainingEvents() } } @Test - fun `present - Go back after cancelation returns to initial state`() = runTest { - val service = unverifiedSessionService() + fun `present - Go back after cancellation returns to initial state`() = runTest { + val service = unverifiedSessionService( + requestVerificationLambda = { }, + startVerificationLambda = { }, + ) val presenter = createVerifySelfSessionPresenter(service) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { val state = requestVerificationAndAwaitVerifyingState(service) - service.givenVerificationFlowState(VerificationFlowState.Canceled) - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Canceled) + service.emitVerificationFlowState(VerificationFlowState.DidCancel) + assertThat(awaitItem().step).isEqualTo(Step.Canceled) state.eventSink(VerifySelfSessionViewEvents.Reset) // Went back to initial state - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Initial(false)) + assertThat(awaitItem().step).isEqualTo(Step.Initial(false)) cancelAndIgnoreRemainingEvents() } } @@ -236,7 +274,11 @@ class VerifySelfSessionPresenterTest { val emojis = listOf( VerificationEmoji(number = 30, emoji = "😀", description = "Smiley") ) - val service = unverifiedSessionService() + val service = unverifiedSessionService( + requestVerificationLambda = { }, + startVerificationLambda = { }, + approveVerificationLambda = { }, + ) val presenter = createVerifySelfSessionPresenter(service) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -246,54 +288,65 @@ class VerifySelfSessionPresenterTest { SessionVerificationData.Emojis(emojis) ) state.eventSink(VerifySelfSessionViewEvents.ConfirmVerification) - assertThat(awaitItem().verificationFlowStep).isEqualTo( - VerificationStep.Verifying( + assertThat(awaitItem().step).isEqualTo( + Step.Verifying( SessionVerificationData.Emojis(emojis), AsyncData.Loading(), ) ) - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Completed) + service.emitVerificationFlowState(VerificationFlowState.DidFinish) + assertThat(awaitItem().step).isEqualTo(Step.Completed) } } @Test fun `present - When verification is declined, the flow is canceled`() = runTest { - val service = unverifiedSessionService() + val service = unverifiedSessionService( + requestVerificationLambda = { }, + startVerificationLambda = { }, + declineVerificationLambda = { }, + ) val presenter = createVerifySelfSessionPresenter(service) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { val state = requestVerificationAndAwaitVerifyingState(service) state.eventSink(VerifySelfSessionViewEvents.DeclineVerification) - assertThat(awaitItem().verificationFlowStep).isEqualTo( - VerificationStep.Verifying( + assertThat(awaitItem().step).isEqualTo( + Step.Verifying( SessionVerificationData.Emojis(emptyList()), AsyncData.Loading(), ) ) - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Canceled) + service.emitVerificationFlowState(VerificationFlowState.DidCancel) + assertThat(awaitItem().step).isEqualTo(Step.Canceled) } } @Test fun `present - Skip event skips the flow`() = runTest { - val service = unverifiedSessionService() + val service = unverifiedSessionService( + requestVerificationLambda = { }, + startVerificationLambda = { }, + ) val presenter = createVerifySelfSessionPresenter(service) moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { val state = requestVerificationAndAwaitVerifyingState(service) state.eventSink(VerifySelfSessionViewEvents.SkipVerification) - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Skipped) + assertThat(awaitItem().step).isEqualTo(Step.Skipped) } } @Test fun `present - When verification is done using recovery key, the flow is completed`() = runTest { - val service = FakeSessionVerificationService().apply { - givenNeedsSessionVerification(false) - givenVerifiedStatus(SessionVerifiedStatus.Verified) - givenVerificationFlowState(VerificationFlowState.Finished) + val service = FakeSessionVerificationService( + resetLambda = { }, + ).apply { + emitNeedsSessionVerification(false) + emitVerifiedStatus(SessionVerifiedStatus.Verified) + emitVerificationFlowState(VerificationFlowState.DidFinish) } val presenter = createVerifySelfSessionPresenter( service = service, @@ -302,16 +355,18 @@ class VerifySelfSessionPresenterTest { moleculeFlow(RecompositionMode.Immediate) { presenter.present() }.test { - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Completed) + assertThat(awaitItem().step).isEqualTo(Step.Completed) } } @Test fun `present - When verification is not needed, the flow is skipped`() = runTest { - val service = FakeSessionVerificationService().apply { - givenNeedsSessionVerification(false) - givenVerifiedStatus(SessionVerifiedStatus.Verified) - givenVerificationFlowState(VerificationFlowState.Finished) + val service = FakeSessionVerificationService( + resetLambda = { }, + ).apply { + emitNeedsSessionVerification(false) + emitVerifiedStatus(SessionVerifiedStatus.Verified) + emitVerificationFlowState(VerificationFlowState.DidFinish) } val presenter = createVerifySelfSessionPresenter( service = service, @@ -321,16 +376,18 @@ class VerifySelfSessionPresenterTest { presenter.present() }.test { skipItems(1) - assertThat(awaitItem().verificationFlowStep).isEqualTo(VerificationStep.Skipped) + assertThat(awaitItem().step).isEqualTo(Step.Skipped) } } @Test fun `present - When user request to sign out, the sign out use case is invoked`() = runTest { - val service = FakeSessionVerificationService().apply { - givenNeedsSessionVerification(false) - givenVerifiedStatus(SessionVerifiedStatus.Verified) - givenVerificationFlowState(VerificationFlowState.Finished) + val service = FakeSessionVerificationService( + resetLambda = { }, + ).apply { + emitNeedsSessionVerification(false) + emitVerifiedStatus(SessionVerifiedStatus.Verified) + emitVerificationFlowState(VerificationFlowState.DidFinish) } val signOutLambda = lambdaRecorder { "aUrl" } val presenter = createVerifySelfSessionPresenter( @@ -356,33 +413,53 @@ class VerifySelfSessionPresenterTest { sessionVerificationData: SessionVerificationData = SessionVerificationData.Emojis(emptyList()), ): VerifySelfSessionState { var state = awaitItem() - assertThat(state.verificationFlowStep).isEqualTo(VerificationStep.Initial(false)) + assertThat(state.step).isEqualTo(Step.Initial(false)) state.eventSink(VerifySelfSessionViewEvents.RequestVerification) // Await for other device response: + fakeService.emitVerificationFlowState(VerificationFlowState.DidAcceptVerificationRequest) state = awaitItem() - assertThat(state.verificationFlowStep).isEqualTo(VerificationStep.AwaitingOtherDeviceResponse) + assertThat(state.step).isEqualTo(Step.AwaitingOtherDeviceResponse) // Await for the state to be Ready state = awaitItem() - assertThat(state.verificationFlowStep).isEqualTo(VerificationStep.Ready) + assertThat(state.step).isEqualTo(Step.Ready) state.eventSink(VerifySelfSessionViewEvents.StartSasVerification) // Await for other device response (again): + fakeService.emitVerificationFlowState(VerificationFlowState.DidStartSasVerification) state = awaitItem() - assertThat(state.verificationFlowStep).isEqualTo(VerificationStep.AwaitingOtherDeviceResponse) - fakeService.triggerReceiveVerificationData(sessionVerificationData) + assertThat(state.step).isEqualTo(Step.AwaitingOtherDeviceResponse) // Finally, ChallengeReceived: + fakeService.emitVerificationFlowState(VerificationFlowState.DidReceiveVerificationData(sessionVerificationData)) state = awaitItem() - assertThat(state.verificationFlowStep).isInstanceOf(VerificationStep.Verifying::class.java) + assertThat(state.step).isInstanceOf(Step.Verifying::class.java) return state } - private fun unverifiedSessionService(): FakeSessionVerificationService { - return FakeSessionVerificationService().apply { - givenVerifiedStatus(SessionVerifiedStatus.NotVerified) + private suspend fun unverifiedSessionService( + requestVerificationLambda: () -> Unit = { lambdaError() }, + cancelVerificationLambda: () -> Unit = { lambdaError() }, + approveVerificationLambda: () -> Unit = { lambdaError() }, + declineVerificationLambda: () -> Unit = { lambdaError() }, + startVerificationLambda: () -> Unit = { lambdaError() }, + resetLambda: (Boolean) -> Unit = { }, + acknowledgeVerificationRequestLambda: (SessionVerificationRequestDetails) -> Unit = { lambdaError() }, + acceptVerificationRequestLambda: () -> Unit = { lambdaError() }, + ): FakeSessionVerificationService { + return FakeSessionVerificationService( + requestVerificationLambda = requestVerificationLambda, + cancelVerificationLambda = cancelVerificationLambda, + approveVerificationLambda = approveVerificationLambda, + declineVerificationLambda = declineVerificationLambda, + startVerificationLambda = startVerificationLambda, + resetLambda = resetLambda, + acknowledgeVerificationRequestLambda = acknowledgeVerificationRequestLambda, + acceptVerificationRequestLambda = acceptVerificationRequestLambda, + ).apply { + emitVerifiedStatus(SessionVerifiedStatus.NotVerified) } } private fun createVerifySelfSessionPresenter( - service: SessionVerificationService = unverifiedSessionService(), + service: SessionVerificationService, encryptionService: EncryptionService = FakeEncryptionService(), buildMeta: BuildMeta = aBuildMeta(), sessionPreferencesStore: InMemorySessionPreferencesStore = InMemorySessionPreferencesStore(), diff --git a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionViewTest.kt b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionViewTest.kt similarity index 87% rename from features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionViewTest.kt rename to features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionViewTest.kt index dfe8aaf85d..5429ac3637 100644 --- a/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/VerifySelfSessionViewTest.kt +++ b/features/verifysession/impl/src/test/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionViewTest.kt @@ -5,12 +5,14 @@ * Please see LICENSE in the repository root for full details. */ -package io.element.android.features.verifysession.impl +package io.element.android.features.verifysession.impl.outgoing import androidx.activity.ComponentActivity import androidx.compose.ui.test.junit4.AndroidComposeTestRule import androidx.compose.ui.test.junit4.createAndroidComposeRule import androidx.test.ext.junit.runners.AndroidJUnit4 +import io.element.android.features.verifysession.impl.R +import io.element.android.features.verifysession.impl.ui.aEmojisSessionVerificationData import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.ui.strings.CommonStrings @@ -36,7 +38,7 @@ class VerifySelfSessionViewTest { val eventsRecorder = EventsRecorder() rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Canceled, + step = VerifySelfSessionState.Step.Canceled, eventSink = eventsRecorder ), ) @@ -49,7 +51,7 @@ class VerifySelfSessionViewTest { val eventsRecorder = EventsRecorder() rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.AwaitingOtherDeviceResponse, + step = VerifySelfSessionState.Step.AwaitingOtherDeviceResponse, eventSink = eventsRecorder ), ) @@ -62,7 +64,7 @@ class VerifySelfSessionViewTest { val eventsRecorder = EventsRecorder() rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Ready, + step = VerifySelfSessionState.Step.Ready, eventSink = eventsRecorder ), ) @@ -75,7 +77,7 @@ class VerifySelfSessionViewTest { val eventsRecorder = EventsRecorder() rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Verifying( + step = VerifySelfSessionState.Step.Verifying( data = aEmojisSessionVerificationData(), state = AsyncData.Uninitialized, ), @@ -91,7 +93,7 @@ class VerifySelfSessionViewTest { val eventsRecorder = EventsRecorder() rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Verifying( + step = VerifySelfSessionState.Step.Verifying( data = aEmojisSessionVerificationData(), state = AsyncData.Loading(), ), @@ -107,7 +109,7 @@ class VerifySelfSessionViewTest { val eventsRecorder = EventsRecorder() rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Completed, + step = VerifySelfSessionState.Step.Completed, eventSink = eventsRecorder ), ) @@ -121,7 +123,7 @@ class VerifySelfSessionViewTest { ensureCalledOnce { callback -> rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Completed, + step = VerifySelfSessionState.Step.Completed, eventSink = eventsRecorder ), onFinished = callback, @@ -137,7 +139,7 @@ class VerifySelfSessionViewTest { ensureCalledOnce { callback -> rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Initial(true), + step = VerifySelfSessionState.Step.Initial(true), eventSink = eventsRecorder ), onEnterRecoveryKey = callback, @@ -153,7 +155,7 @@ class VerifySelfSessionViewTest { ensureCalledOnce { callback -> rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Initial(true), + step = VerifySelfSessionState.Step.Initial(true), eventSink = eventsRecorder ), onLearnMoreClick = callback, @@ -167,7 +169,7 @@ class VerifySelfSessionViewTest { val eventsRecorder = EventsRecorder() rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Verifying( + step = VerifySelfSessionState.Step.Verifying( data = aEmojisSessionVerificationData(), state = AsyncData.Uninitialized, ), @@ -183,7 +185,7 @@ class VerifySelfSessionViewTest { val eventsRecorder = EventsRecorder() rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Verifying( + step = VerifySelfSessionState.Step.Verifying( data = aEmojisSessionVerificationData(), state = AsyncData.Uninitialized, ), @@ -199,7 +201,7 @@ class VerifySelfSessionViewTest { val eventsRecorder = EventsRecorder() rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Initial(canEnterRecoveryKey = true), + step = VerifySelfSessionState.Step.Initial(canEnterRecoveryKey = true), displaySkipButton = true, eventSink = eventsRecorder ), @@ -213,7 +215,7 @@ class VerifySelfSessionViewTest { ensureCalledOnce { callback -> rule.setVerifySelfSessionView( aVerifySelfSessionState( - verificationFlowStep = VerifySelfSessionState.VerificationStep.Skipped, + step = VerifySelfSessionState.Step.Skipped, displaySkipButton = true, eventSink = EnsureNeverCalledWithParam(), ), diff --git a/libraries/dateformatter/test/src/main/kotlin/io/element/android/libraries/dateformatter/test/FakeLastMessageTimestampFormatter.kt b/libraries/dateformatter/test/src/main/kotlin/io/element/android/libraries/dateformatter/test/FakeLastMessageTimestampFormatter.kt index db68141a8e..7edcf321cb 100644 --- a/libraries/dateformatter/test/src/main/kotlin/io/element/android/libraries/dateformatter/test/FakeLastMessageTimestampFormatter.kt +++ b/libraries/dateformatter/test/src/main/kotlin/io/element/android/libraries/dateformatter/test/FakeLastMessageTimestampFormatter.kt @@ -11,8 +11,9 @@ import io.element.android.libraries.dateformatter.api.LastMessageTimestampFormat const val A_FORMATTED_DATE = "formatted_date" -class FakeLastMessageTimestampFormatter : LastMessageTimestampFormatter { - private var format = "" +class FakeLastMessageTimestampFormatter( + var format: String = "", +) : LastMessageTimestampFormatter { fun givenFormat(format: String) { this.format = format } diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/FlowId.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/FlowId.kt new file mode 100644 index 0000000000..c1b298d62a --- /dev/null +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/FlowId.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.core + +import java.io.Serializable + +@JvmInline +value class FlowId(val value: String) : Serializable { + override fun toString(): String = value +} diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/verification/SessionVerificationRequestDetails.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/verification/SessionVerificationRequestDetails.kt new file mode 100644 index 0000000000..93d791a21c --- /dev/null +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/verification/SessionVerificationRequestDetails.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.matrix.api.verification + +import android.os.Parcelable +import io.element.android.libraries.matrix.api.core.DeviceId +import io.element.android.libraries.matrix.api.core.FlowId +import io.element.android.libraries.matrix.api.core.UserId +import kotlinx.parcelize.Parcelize + +@Parcelize +data class SessionVerificationRequestDetails( + val senderId: UserId, + val flowId: FlowId, + val deviceId: DeviceId, + val displayName: String?, + val firstSeenTimestamp: Long, +) : Parcelable diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/verification/SessionVerificationService.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/verification/SessionVerificationService.kt index 193d5eb48e..4bd30a21fc 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/verification/SessionVerificationService.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/verification/SessionVerificationService.kt @@ -56,7 +56,27 @@ interface SessionVerificationService { /** * Returns the verification service state to the initial step. */ - suspend fun reset() + suspend fun reset(cancelAnyPendingVerificationAttempt: Boolean) + + /** + * Register a listener to be notified of incoming session verification requests. + */ + fun setListener(listener: SessionVerificationServiceListener?) + + /** + * Set this particular request as the currently active one and register for + * events pertaining it. + */ + suspend fun acknowledgeVerificationRequest(details: SessionVerificationRequestDetails) + + /** + * Accept the previously acknowledged verification request. + */ + suspend fun acceptVerificationRequest() +} + +interface SessionVerificationServiceListener { + fun onIncomingSessionRequest(sessionVerificationRequestDetails: SessionVerificationRequestDetails) } /** Verification status of the current session. */ @@ -82,20 +102,20 @@ sealed interface VerificationFlowState { data object Initial : VerificationFlowState /** Session verification request was accepted by another device. */ - data object AcceptedVerificationRequest : VerificationFlowState + data object DidAcceptVerificationRequest : VerificationFlowState /** Short Authentication String (SAS) verification started between the 2 devices. */ - data object StartedSasVerification : VerificationFlowState + data object DidStartSasVerification : VerificationFlowState /** Verification data for the SAS verification received. */ - data class ReceivedVerificationData(val data: SessionVerificationData) : VerificationFlowState + data class DidReceiveVerificationData(val data: SessionVerificationData) : VerificationFlowState /** Verification completed successfully. */ - data object Finished : VerificationFlowState + data object DidFinish : VerificationFlowState /** Verification was cancelled by either device. */ - data object Canceled : VerificationFlowState + data object DidCancel : VerificationFlowState /** Verification failed with an error. */ - data object Failed : VerificationFlowState + data object DidFail : VerificationFlowState } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt index 17258f08aa..76fb3d9b17 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/RustSessionVerificationService.kt @@ -9,12 +9,15 @@ package io.element.android.libraries.matrix.impl.verification import io.element.android.libraries.core.data.tryOrNull import io.element.android.libraries.matrix.api.verification.SessionVerificationData +import io.element.android.libraries.matrix.api.verification.SessionVerificationRequestDetails import io.element.android.libraries.matrix.api.verification.SessionVerificationService +import io.element.android.libraries.matrix.api.verification.SessionVerificationServiceListener import io.element.android.libraries.matrix.api.verification.SessionVerifiedStatus import io.element.android.libraries.matrix.api.verification.VerificationEmoji import io.element.android.libraries.matrix.api.verification.VerificationFlowState import io.element.android.libraries.matrix.impl.util.cancelAndDestroy import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.delay import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow @@ -28,6 +31,7 @@ import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock +import kotlinx.coroutines.withContext import kotlinx.coroutines.withTimeout import org.matrix.rustcomponents.sdk.Client import org.matrix.rustcomponents.sdk.Encryption @@ -35,13 +39,13 @@ import org.matrix.rustcomponents.sdk.RecoveryState import org.matrix.rustcomponents.sdk.RecoveryStateListener import org.matrix.rustcomponents.sdk.SessionVerificationController import org.matrix.rustcomponents.sdk.SessionVerificationControllerDelegate -import org.matrix.rustcomponents.sdk.SessionVerificationRequestDetails import org.matrix.rustcomponents.sdk.VerificationState import org.matrix.rustcomponents.sdk.VerificationStateListener import org.matrix.rustcomponents.sdk.use import timber.log.Timber import kotlin.time.Duration.Companion.seconds import org.matrix.rustcomponents.sdk.SessionVerificationData as RustSessionVerificationData +import org.matrix.rustcomponents.sdk.SessionVerificationRequestDetails as RustSessionVerificationRequestDetails class RustSessionVerificationService( private val client: Client, @@ -101,6 +105,16 @@ class RustSessionVerificationService( .launchIn(sessionCoroutineScope) } + override fun didReceiveVerificationRequest(details: RustSessionVerificationRequestDetails) { + listener?.onIncomingSessionRequest(details.map()) + } + + private var listener: SessionVerificationServiceListener? = null + + override fun setListener(listener: SessionVerificationServiceListener?) { + this.listener = listener + } + override suspend fun requestVerification() = tryOrFail { initVerificationControllerIfNeeded() verificationController.requestVerification() @@ -120,9 +134,24 @@ class RustSessionVerificationService( verificationController.startSasVerification() } + override suspend fun acknowledgeVerificationRequest(details: SessionVerificationRequestDetails) = tryOrFail { + verificationController.acknowledgeVerificationRequest( + senderId = details.senderId.value, + flowId = details.flowId.value, + ) + } + + override suspend fun acceptVerificationRequest() = tryOrFail { + verificationController.acceptVerificationRequest() + } + private suspend fun tryOrFail(block: suspend () -> Unit) { runCatching { - block() + // Ensure the block cannot be cancelled, else if the Rust SDK emit a new state during the API execution, + // the state machine may cancel the api call. + withContext(NonCancellable) { + block() + } }.onFailure { Timber.e(it, "Failed to verify session") didFail() @@ -133,16 +162,16 @@ class RustSessionVerificationService( // When verification attempt is accepted by the other device override fun didAcceptVerificationRequest() { - _verificationFlowState.value = VerificationFlowState.AcceptedVerificationRequest + _verificationFlowState.value = VerificationFlowState.DidAcceptVerificationRequest } override fun didCancel() { - _verificationFlowState.value = VerificationFlowState.Canceled + _verificationFlowState.value = VerificationFlowState.DidCancel } override fun didFail() { Timber.e("Session verification failed with an unknown error") - _verificationFlowState.value = VerificationFlowState.Failed + _verificationFlowState.value = VerificationFlowState.DidFail } override fun didFinish() { @@ -158,7 +187,7 @@ class RustSessionVerificationService( } .onSuccess { // Order here is important, first set the flow state as finished, then update the verification status - _verificationFlowState.value = VerificationFlowState.Finished + _verificationFlowState.value = VerificationFlowState.DidFinish updateVerificationStatus() } .onFailure { @@ -169,22 +198,18 @@ class RustSessionVerificationService( } override fun didReceiveVerificationData(data: RustSessionVerificationData) { - _verificationFlowState.value = VerificationFlowState.ReceivedVerificationData(data.map()) + _verificationFlowState.value = VerificationFlowState.DidReceiveVerificationData(data.map()) } // When the actual SAS verification starts override fun didStartSasVerification() { - _verificationFlowState.value = VerificationFlowState.StartedSasVerification - } - - override fun didReceiveVerificationRequest(details: SessionVerificationRequestDetails) { - // TODO + _verificationFlowState.value = VerificationFlowState.DidStartSasVerification } // end-region - override suspend fun reset() { - if (isReady.value) { + override suspend fun reset(cancelAnyPendingVerificationAttempt: Boolean) { + if (isReady.value && cancelAnyPendingVerificationAttempt) { // Cancel any pending verification attempt tryOrNull { verificationController.cancelVerification() } } @@ -213,7 +238,7 @@ class RustSessionVerificationService( } private suspend fun updateVerificationStatus() { - if (verificationFlowState.value == VerificationFlowState.Finished) { + if (verificationFlowState.value == VerificationFlowState.DidFinish) { // Calling `encryptionService.verificationState()` performs a network call and it will deadlock if there is no network // So we need to check that *only* if we know there is network connection, which is the case when the verification flow just finished Timber.d("Updating verification status: flow just finished") diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/SessionVerificationRequestDetails.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/SessionVerificationRequestDetails.kt new file mode 100644 index 0000000000..e12cfbeb3f --- /dev/null +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/SessionVerificationRequestDetails.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.matrix.impl.verification + +import io.element.android.libraries.matrix.api.core.DeviceId +import io.element.android.libraries.matrix.api.core.FlowId +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.verification.SessionVerificationRequestDetails +import org.matrix.rustcomponents.sdk.SessionVerificationRequestDetails as RustSessionVerificationRequestDetails + +fun RustSessionVerificationRequestDetails.map() = SessionVerificationRequestDetails( + senderId = UserId(senderId), + flowId = FlowId(flowId), + deviceId = DeviceId(deviceId), + displayName = displayName, + firstSeenTimestamp = firstSeenTimestamp.toLong(), +) + diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/verification/FakeSessionVerificationService.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/verification/FakeSessionVerificationService.kt index f6a9ea9fb5..2449ced681 100644 --- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/verification/FakeSessionVerificationService.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/verification/FakeSessionVerificationService.kt @@ -7,79 +7,84 @@ package io.element.android.libraries.matrix.test.verification -import io.element.android.libraries.matrix.api.verification.SessionVerificationData +import io.element.android.libraries.matrix.api.verification.SessionVerificationRequestDetails import io.element.android.libraries.matrix.api.verification.SessionVerificationService +import io.element.android.libraries.matrix.api.verification.SessionVerificationServiceListener import io.element.android.libraries.matrix.api.verification.SessionVerifiedStatus import io.element.android.libraries.matrix.api.verification.VerificationFlowState +import io.element.android.tests.testutils.lambda.lambdaError +import io.element.android.tests.testutils.simulateLongTask import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow class FakeSessionVerificationService( initialSessionVerifiedStatus: SessionVerifiedStatus = SessionVerifiedStatus.Unknown, + private val requestVerificationLambda: () -> Unit = { lambdaError() }, + private val cancelVerificationLambda: () -> Unit = { lambdaError() }, + private val approveVerificationLambda: () -> Unit = { lambdaError() }, + private val declineVerificationLambda: () -> Unit = { lambdaError() }, + private val startVerificationLambda: () -> Unit = { lambdaError() }, + private val resetLambda: (Boolean) -> Unit = { lambdaError() }, + private val acknowledgeVerificationRequestLambda: (SessionVerificationRequestDetails) -> Unit = { lambdaError() }, + private val acceptVerificationRequestLambda: () -> Unit = { lambdaError() }, ) : SessionVerificationService { private val _sessionVerifiedStatus = MutableStateFlow(initialSessionVerifiedStatus) private var _verificationFlowState = MutableStateFlow(VerificationFlowState.Initial) private var _needsSessionVerification = MutableStateFlow(true) - var shouldFail = false override val verificationFlowState: StateFlow = _verificationFlowState override val sessionVerifiedStatus: StateFlow = _sessionVerifiedStatus override val needsSessionVerification: Flow = _needsSessionVerification override suspend fun requestVerification() { - if (!shouldFail) { - _verificationFlowState.value = VerificationFlowState.AcceptedVerificationRequest - } else { - _verificationFlowState.value = VerificationFlowState.Failed - } + requestVerificationLambda() } override suspend fun cancelVerification() { - _verificationFlowState.value = VerificationFlowState.Canceled + cancelVerificationLambda() } override suspend fun approveVerification() { - if (!shouldFail) { - _verificationFlowState.value = VerificationFlowState.Finished - } else { - _verificationFlowState.value = VerificationFlowState.Failed - } + approveVerificationLambda() } override suspend fun declineVerification() { - if (!shouldFail) { - _verificationFlowState.value = VerificationFlowState.Canceled - } else { - _verificationFlowState.value = VerificationFlowState.Failed - } - } - - fun triggerReceiveVerificationData(sessionVerificationData: SessionVerificationData) { - _verificationFlowState.value = VerificationFlowState.ReceivedVerificationData(sessionVerificationData) + declineVerificationLambda() } override suspend fun startVerification() { - _verificationFlowState.value = VerificationFlowState.StartedSasVerification + startVerificationLambda() } - fun givenVerifiedStatus(status: SessionVerifiedStatus) { - _sessionVerifiedStatus.value = status + override suspend fun reset(cancelAnyPendingVerificationAttempt: Boolean) { + resetLambda(cancelAnyPendingVerificationAttempt) + } + + var listener: SessionVerificationServiceListener? = null + private set + + override fun setListener(listener: SessionVerificationServiceListener?) { + this.listener = listener + } + + override suspend fun acknowledgeVerificationRequest(details: SessionVerificationRequestDetails) { + acknowledgeVerificationRequestLambda(details) + } + + override suspend fun acceptVerificationRequest() = simulateLongTask { + acceptVerificationRequestLambda() + } + + suspend fun emitVerificationFlowState(state: VerificationFlowState) { + _verificationFlowState.emit(state) } suspend fun emitVerifiedStatus(status: SessionVerifiedStatus) { _sessionVerifiedStatus.emit(status) } - fun givenVerificationFlowState(state: VerificationFlowState) { - _verificationFlowState.value = state - } - - fun givenNeedsSessionVerification(needsVerification: Boolean) { - _needsSessionVerification.value = needsVerification - } - - override suspend fun reset() { - _verificationFlowState.value = VerificationFlowState.Initial + suspend fun emitNeedsSessionVerification(needsVerification: Boolean) { + _needsSessionVerification.emit(needsVerification) } } From 0eebb5bc3a447a00b261a0ac6f04cee105ed5db4 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Tue, 29 Oct 2024 08:56:19 +0000 Subject: [PATCH 80/93] Update screenshots --- ...ifysession.impl.incoming.ui_SessionDetailsView_Day_0_en.png | 3 +++ ...ysession.impl.incoming.ui_SessionDetailsView_Night_0_en.png | 3 +++ ...session.impl.incoming_IncomingVerificationView_Day_0_en.png | 3 +++ ...session.impl.incoming_IncomingVerificationView_Day_1_en.png | 3 +++ ...ession.impl.incoming_IncomingVerificationView_Day_2_en.png} | 0 ...session.impl.incoming_IncomingVerificationView_Day_3_en.png | 3 +++ ...ession.impl.incoming_IncomingVerificationView_Day_4_en.png} | 0 ...session.impl.incoming_IncomingVerificationView_Day_5_en.png | 3 +++ ...session.impl.incoming_IncomingVerificationView_Day_6_en.png | 3 +++ ...session.impl.incoming_IncomingVerificationView_Day_7_en.png | 3 +++ ...ssion.impl.incoming_IncomingVerificationView_Night_0_en.png | 3 +++ ...ssion.impl.incoming_IncomingVerificationView_Night_1_en.png | 3 +++ ...sion.impl.incoming_IncomingVerificationView_Night_2_en.png} | 0 ...ssion.impl.incoming_IncomingVerificationView_Night_3_en.png | 3 +++ ...sion.impl.incoming_IncomingVerificationView_Night_4_en.png} | 0 ...ssion.impl.incoming_IncomingVerificationView_Night_5_en.png | 3 +++ ...ssion.impl.incoming_IncomingVerificationView_Night_6_en.png | 3 +++ ...ssion.impl.incoming_IncomingVerificationView_Night_7_en.png | 3 +++ ...fysession.impl.outgoing_VerifySelfSessionView_Day_0_en.png} | 0 ...ysession.impl.outgoing_VerifySelfSessionView_Day_10_en.png} | 0 ...ysession.impl.outgoing_VerifySelfSessionView_Day_11_en.png} | 0 ...ysession.impl.outgoing_VerifySelfSessionView_Day_12_en.png} | 0 ...fysession.impl.outgoing_VerifySelfSessionView_Day_1_en.png} | 0 ...ifysession.impl.outgoing_VerifySelfSessionView_Day_2_en.png | 3 +++ ...fysession.impl.outgoing_VerifySelfSessionView_Day_3_en.png} | 0 ...fysession.impl.outgoing_VerifySelfSessionView_Day_4_en.png} | 0 ...fysession.impl.outgoing_VerifySelfSessionView_Day_5_en.png} | 0 ...ifysession.impl.outgoing_VerifySelfSessionView_Day_6_en.png | 3 +++ ...fysession.impl.outgoing_VerifySelfSessionView_Day_7_en.png} | 0 ...fysession.impl.outgoing_VerifySelfSessionView_Day_8_en.png} | 0 ...fysession.impl.outgoing_VerifySelfSessionView_Day_9_en.png} | 0 ...session.impl.outgoing_VerifySelfSessionView_Night_0_en.png} | 0 ...ession.impl.outgoing_VerifySelfSessionView_Night_10_en.png} | 0 ...ession.impl.outgoing_VerifySelfSessionView_Night_11_en.png} | 0 ...ession.impl.outgoing_VerifySelfSessionView_Night_12_en.png} | 0 ...session.impl.outgoing_VerifySelfSessionView_Night_1_en.png} | 0 ...ysession.impl.outgoing_VerifySelfSessionView_Night_2_en.png | 3 +++ ...session.impl.outgoing_VerifySelfSessionView_Night_3_en.png} | 0 ...session.impl.outgoing_VerifySelfSessionView_Night_4_en.png} | 0 ...session.impl.outgoing_VerifySelfSessionView_Night_5_en.png} | 0 ...ysession.impl.outgoing_VerifySelfSessionView_Night_6_en.png | 3 +++ ...session.impl.outgoing_VerifySelfSessionView_Night_7_en.png} | 0 ...session.impl.outgoing_VerifySelfSessionView_Night_8_en.png} | 0 ...session.impl.outgoing_VerifySelfSessionView_Night_9_en.png} | 0 44 files changed, 54 insertions(+) create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming.ui_SessionDetailsView_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming.ui_SessionDetailsView_Night_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_1_en.png rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_2_en.png => features.verifysession.impl.incoming_IncomingVerificationView_Day_2_en.png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_3_en.png rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_6_en.png => features.verifysession.impl.incoming_IncomingVerificationView_Day_4_en.png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_5_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_6_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_7_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_0_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_1_en.png rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_2_en.png => features.verifysession.impl.incoming_IncomingVerificationView_Night_2_en.png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_3_en.png rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_6_en.png => features.verifysession.impl.incoming_IncomingVerificationView_Night_4_en.png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_5_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_6_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_7_en.png rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_0_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Day_0_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_10_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Day_10_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_11_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Day_11_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_12_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Day_12_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_1_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Day_1_en.png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_2_en.png rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_3_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Day_3_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_4_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Day_4_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_5_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Day_5_en.png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_6_en.png rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_7_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Day_7_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_8_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Day_8_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Day_9_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Day_9_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_0_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Night_0_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_10_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Night_10_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_11_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Night_11_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_12_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Night_12_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_1_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Night_1_en.png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_2_en.png rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_3_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Night_3_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_4_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Night_4_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_5_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Night_5_en.png} (100%) create mode 100644 tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_6_en.png rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_7_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Night_7_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_8_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Night_8_en.png} (100%) rename tests/uitests/src/test/snapshots/images/{features.verifysession.impl_VerifySelfSessionView_Night_9_en.png => features.verifysession.impl.outgoing_VerifySelfSessionView_Night_9_en.png} (100%) diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming.ui_SessionDetailsView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming.ui_SessionDetailsView_Day_0_en.png new file mode 100644 index 0000000000..06fb695f99 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming.ui_SessionDetailsView_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f18cc4f6c04a59e1a5d51a091efe66bfa7525e2fe229302174fe40fefa00cc28 +size 14026 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming.ui_SessionDetailsView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming.ui_SessionDetailsView_Night_0_en.png new file mode 100644 index 0000000000..eaa3b34f51 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming.ui_SessionDetailsView_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d82fea268b5a9271497a3b6518a88c757e6ba6f62f4a8990491351509383858a +size 13974 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_0_en.png new file mode 100644 index 0000000000..8928f95830 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f781e977784d8bfb1bd84947519f31e28106cdc036c6dedc406be92fdbbc0c54 +size 40077 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_1_en.png new file mode 100644 index 0000000000..5a39ab5ef2 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dbf6f78ad928bcc9878e546345a98d334ae92c9b81d4d8404892a16d19b446c3 +size 41534 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.incoming_IncomingVerificationView_Day_2_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_2_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_2_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_3_en.png new file mode 100644 index 0000000000..b219c98625 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dfc69dc6d93a62e23df2f817ad5a167b1e94d7fb0d408d6ec0051d666b6cf175 +size 44869 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_4_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_6_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_4_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_5_en.png new file mode 100644 index 0000000000..77fe855b76 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_5_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:81c559a9661b3fdccc8deb444b897f9a45b33de0d4d58367ff021f92202a17b6 +size 21883 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_6_en.png new file mode 100644 index 0000000000..1c316959ed --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_6_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d3340a2d29e6c1d86f5ec5664179cae9501fcc95381311174d7d6b45b15af326 +size 24123 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_7_en.png new file mode 100644 index 0000000000..0aa47d9aa9 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Day_7_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bee1454db757b0897ae2113d3a11ed9adef0eb6bc52f3775edac56ed8533a88f +size 24076 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_0_en.png new file mode 100644 index 0000000000..22a0da4353 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_0_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:68b70ae5220e244acdfa3f1a2e36089c1994e8f05eeb6c344b4734858540e55c +size 38942 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_1_en.png new file mode 100644 index 0000000000..85072965e9 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_1_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b76212b5942484621b7a58044a958203d838807d50687e8f4e2f9c8bdb6ad37c +size 40232 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.incoming_IncomingVerificationView_Night_2_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_2_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_2_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_3_en.png new file mode 100644 index 0000000000..a8b63f04d2 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_3_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1033af0fc84e2819509fc798c17e8f0b07d74a08da99d0e059b7ff19db2ce56a +size 43674 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_4_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_6_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_4_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_5_en.png new file mode 100644 index 0000000000..77082fb4bd --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_5_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8565e90948aa18f04e1b868467a007d68fe3d18d534289d5c4d59d4b38915585 +size 21190 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_6_en.png new file mode 100644 index 0000000000..1c46f8eb53 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_6_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c6c7e8cdf40bdf018931635565ac649fed518140a047a71cf70cf63e9edf54d3 +size 23932 diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_7_en.png new file mode 100644 index 0000000000..32fa8a3383 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.incoming_IncomingVerificationView_Night_7_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59a23ec5e3086349d3382f006cf1bcb4121183c83ea8c749aa95e3160561aef1 +size 23524 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.outgoing_VerifySelfSessionView_Day_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_0_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_0_en.png 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.outgoing_VerifySelfSessionView_Day_10_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_10_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_10_en.png 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.outgoing_VerifySelfSessionView_Day_11_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_11_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_11_en.png 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.outgoing_VerifySelfSessionView_Day_12_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_12_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_12_en.png 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.outgoing_VerifySelfSessionView_Day_1_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_1_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_1_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_2_en.png new file mode 100644 index 0000000000..3161e69ab7 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_2_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c238637a0a3107cfcd98230ac52fad7779d8c260b0b97bf30d231cd5493a944a +size 46453 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.outgoing_VerifySelfSessionView_Day_3_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_3_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_3_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_4_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_4_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_4_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_5_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_5_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_5_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_6_en.png new file mode 100644 index 0000000000..7e3f0d4fb7 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_6_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a25f85925a38d02a65af4fb342949e9545d3e5e19012885f2c3aee4caa8b8f7d +size 31535 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.outgoing_VerifySelfSessionView_Day_7_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_7_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_7_en.png 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.outgoing_VerifySelfSessionView_Day_8_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_8_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_8_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_9_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Day_9_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Day_9_en.png 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.outgoing_VerifySelfSessionView_Night_0_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_0_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_0_en.png 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.outgoing_VerifySelfSessionView_Night_10_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_10_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_10_en.png 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.outgoing_VerifySelfSessionView_Night_11_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_11_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_11_en.png 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.outgoing_VerifySelfSessionView_Night_12_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_12_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_12_en.png 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.outgoing_VerifySelfSessionView_Night_1_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_1_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_1_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_2_en.png new file mode 100644 index 0000000000..21dbb7d45d --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_2_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fc4cbb2bea7749bda9f6c5647ff178717711bad5b1ee25621155bccb1e5f2328 +size 45528 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.outgoing_VerifySelfSessionView_Night_3_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_3_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_3_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_4_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_4_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_4_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_5_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_5_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_5_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_6_en.png new file mode 100644 index 0000000000..9768e763ee --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_6_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ff1487c8c63a476a570d271f7a0b00c8990e1f90d49a2cae5056a9cc7e51e0e +size 30765 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.outgoing_VerifySelfSessionView_Night_7_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_7_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_7_en.png 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.outgoing_VerifySelfSessionView_Night_8_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_8_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_8_en.png diff --git a/tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_9_en.png similarity index 100% rename from tests/uitests/src/test/snapshots/images/features.verifysession.impl_VerifySelfSessionView_Night_9_en.png rename to tests/uitests/src/test/snapshots/images/features.verifysession.impl.outgoing_VerifySelfSessionView_Night_9_en.png From 85f9459d7235a2dbaf4a2e53b0be00c31adbb656 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 29 Oct 2024 11:50:58 +0100 Subject: [PATCH 81/93] Remove blank line --- .../impl/verification/SessionVerificationRequestDetails.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/SessionVerificationRequestDetails.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/SessionVerificationRequestDetails.kt index e12cfbeb3f..0724c82400 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/SessionVerificationRequestDetails.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/verification/SessionVerificationRequestDetails.kt @@ -20,4 +20,3 @@ fun RustSessionVerificationRequestDetails.map() = SessionVerificationRequestDeta displayName = displayName, firstSeenTimestamp = firstSeenTimestamp.toLong(), ) - From e26802d8d3f2375945bfaf6990814990aadaecdc Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 29 Oct 2024 11:32:01 +0100 Subject: [PATCH 82/93] ListItem: allow list item to be clickable even when disabled. --- .../libraries/designsystem/theme/components/ListItem.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt index 0dce260f06..44d658c5ec 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ListItem.kt @@ -42,6 +42,7 @@ import io.element.android.libraries.designsystem.preview.PreviewGroup * @param trailingContent The content to be displayed after the headline content. * @param style The style to use for the list item. This may change the color and text styles of the contents. [ListItemStyle.Default] is used by default. * @param enabled Whether the list item is enabled. When disabled, will change the color of the headline content and the leading content to use disabled tokens. + * @param alwaysClickable Whether the list item should always be clickable, even when disabled. * @param onClick The callback to be called when the list item is clicked. */ @Suppress("LongParameterList") @@ -54,6 +55,7 @@ fun ListItem( trailingContent: ListItemContent? = null, style: ListItemStyle = ListItemStyle.Default, enabled: Boolean = true, + alwaysClickable: Boolean = false, onClick: (() -> Unit)? = null, ) { val colors = ListItemDefaults.colors( @@ -74,6 +76,7 @@ fun ListItem( trailingContent = trailingContent, colors = colors, enabled = enabled, + alwaysClickable = alwaysClickable, onClick = onClick, ) } @@ -87,6 +90,7 @@ fun ListItem( * @param leadingContent The content to be displayed before the headline content. * @param trailingContent The content to be displayed after the headline content. * @param enabled Whether the list item is enabled. When disabled, will change the color of the headline content and the leading content to use disabled tokens. + * @param alwaysClickable Whether the list item should always be clickable, even when disabled. * @param onClick The callback to be called when the list item is clicked. */ @Suppress("LongParameterList") @@ -99,6 +103,7 @@ fun ListItem( leadingContent: ListItemContent? = null, trailingContent: ListItemContent? = null, enabled: Boolean = true, + alwaysClickable: Boolean = false, onClick: (() -> Unit)? = null, ) { // We cannot just pass the disabled colors, they must be set manually: https://issuetracker.google.com/issues/280480132 @@ -149,7 +154,7 @@ fun ListItem( headlineContent = decoratedHeadlineContent, modifier = if (onClick != null) { Modifier - .clickable(enabled = enabled, onClick = onClick) + .clickable(enabled = enabled || alwaysClickable, onClick = onClick) .then(modifier) } else { modifier From fe16a292839396e654c677082c58ccc40a6d253b Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 29 Oct 2024 14:54:48 +0100 Subject: [PATCH 83/93] Crypto: iterate on wording, UI and UX. Change wording of setup recovery key banner and change target to root. Iterate on wording of encryption screen. Change button to Switch. Iterate on wording to delete key storage. Iterate on wording and icon on the root setting. Remove confirmation dialog when disabling backup. Add subtitle to change recovery key action. Enable key storage directly, remove quite empty screen to setup the backup. Disable recovery action if key backup is disabled. --- .../android/appnav/LoggedInFlowNode.kt | 2 +- .../impl/root/PreferencesRootView.kt | 4 +- .../impl/components/SetUpRecoveryKeyBanner.kt | 1 + .../impl/src/main/res/values/localazy.xml | 5 +- .../roomlist/impl/RoomListViewTest.kt | 5 +- .../securebackup/impl/SecureBackupFlowNode.kt | 11 - .../disable/SecureBackupDisablePresenter.kt | 6 +- .../impl/disable/SecureBackupDisableView.kt | 33 +-- .../impl/enable/SecureBackupEnableEvents.kt | 13 - .../impl/enable/SecureBackupEnableNode.kt | 36 --- .../enable/SecureBackupEnablePresenter.kt | 54 ---- .../impl/enable/SecureBackupEnableState.kt | 15 - .../enable/SecureBackupEnableStateProvider.kt | 28 -- .../impl/enable/SecureBackupEnableView.kt | 69 ----- .../impl/root/SecureBackupRootEvents.kt | 3 + .../impl/root/SecureBackupRootNode.kt | 6 - .../impl/root/SecureBackupRootPresenter.kt | 21 +- .../impl/root/SecureBackupRootState.kt | 17 +- .../root/SecureBackupRootStateProvider.kt | 30 +- .../impl/root/SecureBackupRootView.kt | 265 +++++++++++------- .../impl/setup/views/RecoveryKeyView.kt | 74 ++--- .../impl/src/main/res/values/localazy.xml | 13 +- .../SecureBackupDisablePresenterTest.kt | 22 -- .../enable/SecureBackupEnablePresenterTest.kt | 78 ------ 24 files changed, 284 insertions(+), 527 deletions(-) delete mode 100644 features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableEvents.kt delete mode 100644 features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableNode.kt delete mode 100644 features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnablePresenter.kt delete mode 100644 features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableState.kt delete mode 100644 features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableStateProvider.kt delete mode 100644 features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableView.kt delete mode 100644 features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnablePresenterTest.kt diff --git a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt index 5a8db185ef..b304f99c6b 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt @@ -260,7 +260,7 @@ class LoggedInFlowNode @AssistedInject constructor( } override fun onSetUpRecoveryClick() { - backstack.push(NavTarget.SecureBackup(initialElement = SecureBackupEntryPoint.InitialTarget.SetUpRecovery)) + backstack.push(NavTarget.SecureBackup(initialElement = SecureBackupEntryPoint.InitialTarget.Root)) } override fun onSessionConfirmRecoveryKeyClick() { diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt index 10e59bf334..0c758852db 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootView.kt @@ -138,8 +138,8 @@ private fun ColumnScope.ManageAppSection( } if (state.showSecureBackup) { ListItem( - headlineContent = { Text(stringResource(id = CommonStrings.common_chat_backup)) }, - leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.KeySolid())), + headlineContent = { Text(stringResource(id = CommonStrings.common_encryption)) }, + leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Key())), trailingContent = ListItemContent.Badge.takeIf { state.showSecureBackupBadge }, onClick = onSecureBackupClick, ) diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/SetUpRecoveryKeyBanner.kt b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/SetUpRecoveryKeyBanner.kt index 75fd6bda9b..971edaf540 100644 --- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/SetUpRecoveryKeyBanner.kt +++ b/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/SetUpRecoveryKeyBanner.kt @@ -25,6 +25,7 @@ internal fun SetUpRecoveryKeyBanner( modifier = modifier, title = stringResource(R.string.banner_set_up_recovery_title), content = stringResource(R.string.banner_set_up_recovery_content), + actionText = stringResource(R.string.banner_set_up_recovery_submit), onSubmitClick = onContinueClick, onDismissClick = onDismissClick, ) diff --git a/features/roomlist/impl/src/main/res/values/localazy.xml b/features/roomlist/impl/src/main/res/values/localazy.xml index 79f9b493e6..9502826dd9 100644 --- a/features/roomlist/impl/src/main/res/values/localazy.xml +++ b/features/roomlist/impl/src/main/res/values/localazy.xml @@ -4,8 +4,9 @@ "Your server now supports a new, faster protocol. Log out and log back in to upgrade now. Doing this now will help you avoid a forced logout when the old protocol is removed later." "Your homeserver no longer supports the old protocol. Please log out and log back in to continue using the app." "Upgrade available" - "Generate a new recovery key that can be used to restore your encrypted message history in case you lose access to your devices." - "Set up recovery" + "Recover your cryptographic identity and message history with a recovery key if you have lost all your existing devices." + "Set up recovery" + "Set up recovery to protect your account" "Your chat backup is currently out of sync. You need to enter your recovery key to maintain access to your chat backup." "Enter your recovery key" "To ensure you never miss an important call, please change your settings to allow full-screen notifications when your phone is locked." diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListViewTest.kt b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListViewTest.kt index 63327d0d49..66821ada35 100644 --- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListViewTest.kt +++ b/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListViewTest.kt @@ -121,12 +121,9 @@ class RoomListViewTest { ), onSetUpRecoveryClick = callback, ) - // Remove automatic initial events eventsRecorder.clear() - - rule.clickOn(CommonStrings.action_continue) - + rule.clickOn(R.string.banner_set_up_recovery_submit) eventsRecorder.assertEmpty() } } diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/SecureBackupFlowNode.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/SecureBackupFlowNode.kt index d3388cb37e..5d9aeec21e 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/SecureBackupFlowNode.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/SecureBackupFlowNode.kt @@ -22,7 +22,6 @@ import dagger.assisted.AssistedInject import io.element.android.anvilannotations.ContributesNode import io.element.android.features.securebackup.api.SecureBackupEntryPoint import io.element.android.features.securebackup.impl.disable.SecureBackupDisableNode -import io.element.android.features.securebackup.impl.enable.SecureBackupEnableNode import io.element.android.features.securebackup.impl.enter.SecureBackupEnterRecoveryKeyNode import io.element.android.features.securebackup.impl.reset.ResetIdentityFlowNode import io.element.android.features.securebackup.impl.root.SecureBackupRootNode @@ -63,9 +62,6 @@ class SecureBackupFlowNode @AssistedInject constructor( @Parcelize data object Disable : NavTarget - @Parcelize - data object Enable : NavTarget - @Parcelize data object EnterRecoveryKey : NavTarget @@ -91,10 +87,6 @@ class SecureBackupFlowNode @AssistedInject constructor( backstack.push(NavTarget.Disable) } - override fun onEnableClick() { - backstack.push(NavTarget.Enable) - } - override fun onConfirmRecoveryKeyClick() { backstack.push(NavTarget.EnterRecoveryKey) } @@ -116,9 +108,6 @@ class SecureBackupFlowNode @AssistedInject constructor( NavTarget.Disable -> { createNode(buildContext) } - NavTarget.Enable -> { - createNode(buildContext) - } NavTarget.EnterRecoveryKey -> { val callback = object : SecureBackupEnterRecoveryKeyNode.Callback { override fun onEnterRecoveryKeySuccess() { diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisablePresenter.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisablePresenter.kt index 4e661e0a13..fc721d23ca 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisablePresenter.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisablePresenter.kt @@ -37,11 +37,7 @@ class SecureBackupDisablePresenter @Inject constructor( val coroutineScope = rememberCoroutineScope() fun handleEvents(event: SecureBackupDisableEvents) { when (event) { - is SecureBackupDisableEvents.DisableBackup -> if (disableAction.value.isConfirming()) { - coroutineScope.disableBackup(disableAction) - } else { - disableAction.value = AsyncAction.ConfirmingNoParams - } + is SecureBackupDisableEvents.DisableBackup -> coroutineScope.disableBackup(disableAction) SecureBackupDisableEvents.DismissDialogs -> { disableAction.value = AsyncAction.Uninitialized } diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableView.kt index 1e603ae20d..8d32dba4c2 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableView.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisableView.kt @@ -7,6 +7,7 @@ package io.element.android.features.securebackup.impl.disable +import androidx.compose.foundation.background import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope @@ -25,7 +26,6 @@ import io.element.android.features.securebackup.impl.R import io.element.android.libraries.designsystem.atomic.pages.FlowStepPage import io.element.android.libraries.designsystem.components.BigIcon import io.element.android.libraries.designsystem.components.async.AsyncActionView -import io.element.android.libraries.designsystem.components.dialogs.ConfirmationDialog import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.theme.components.Button @@ -44,7 +44,7 @@ fun SecureBackupDisableView( onBackClick = onBackClick, title = stringResource(id = R.string.screen_key_backup_disable_title), subTitle = stringResource(id = R.string.screen_key_backup_disable_description), - iconStyle = BigIcon.Style.Default(CompoundIcons.KeyOffSolid()), + iconStyle = BigIcon.Style.AlertSolid, buttons = { Buttons(state = state) }, ) { Content(state = state) @@ -52,12 +52,6 @@ fun SecureBackupDisableView( AsyncActionView( async = state.disableAction, - confirmationDialog = { - SecureBackupDisableConfirmationDialog( - onConfirm = { state.eventSink.invoke(SecureBackupDisableEvents.DisableBackup) }, - onDismiss = { state.eventSink.invoke(SecureBackupDisableEvents.DismissDialogs) }, - ) - }, progressDialog = {}, errorMessage = { it.message ?: it.toString() }, onErrorDismiss = { state.eventSink.invoke(SecureBackupDisableEvents.DismissDialogs) }, @@ -65,18 +59,6 @@ fun SecureBackupDisableView( ) } -@Composable -private fun SecureBackupDisableConfirmationDialog(onConfirm: () -> Unit, onDismiss: () -> Unit) { - ConfirmationDialog( - title = stringResource(id = R.string.screen_key_backup_disable_confirmation_title), - content = stringResource(id = R.string.screen_key_backup_disable_confirmation_description), - submitText = stringResource(id = R.string.screen_key_backup_disable_confirmation_action_turn_off), - destructiveSubmit = true, - onSubmitClick = onConfirm, - onDismiss = onDismiss, - ) -} - @Composable private fun ColumnScope.Buttons( state: SecureBackupDisableState, @@ -105,15 +87,20 @@ private fun Content(state: SecureBackupDisableState) { @Composable private fun SecureBackupDisableItem(text: String) { - Row(modifier = Modifier.fillMaxWidth()) { + Row( + modifier = Modifier + .fillMaxWidth() + .background(color = ElementTheme.colors.bgActionSecondaryHovered) + .padding(horizontal = 16.dp, vertical = 12.dp), + horizontalArrangement = Arrangement.spacedBy(12.dp), + ) { Icon( imageVector = CompoundIcons.Close(), contentDescription = null, tint = ElementTheme.colors.iconCriticalPrimary, - modifier = Modifier.size(20.dp) + modifier = Modifier.size(24.dp) ) Text( - modifier = Modifier.padding(start = 8.dp, end = 4.dp), text = text, color = ElementTheme.colors.textSecondary, style = ElementTheme.typography.fontBodyMdRegular, diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableEvents.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableEvents.kt deleted file mode 100644 index 57e43268d1..0000000000 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableEvents.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.securebackup.impl.enable - -sealed interface SecureBackupEnableEvents { - data object EnableBackup : SecureBackupEnableEvents - data object DismissDialog : SecureBackupEnableEvents -} diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableNode.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableNode.kt deleted file mode 100644 index 1ae7044edc..0000000000 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableNode.kt +++ /dev/null @@ -1,36 +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.securebackup.impl.enable - -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import com.bumble.appyx.core.modality.BuildContext -import com.bumble.appyx.core.node.Node -import com.bumble.appyx.core.plugin.Plugin -import dagger.assisted.Assisted -import dagger.assisted.AssistedInject -import io.element.android.anvilannotations.ContributesNode -import io.element.android.libraries.di.SessionScope - -@ContributesNode(SessionScope::class) -class SecureBackupEnableNode @AssistedInject constructor( - @Assisted buildContext: BuildContext, - @Assisted plugins: List, - private val presenter: SecureBackupEnablePresenter, -) : Node(buildContext, plugins = plugins) { - @Composable - override fun View(modifier: Modifier) { - val state = presenter.present() - SecureBackupEnableView( - state = state, - modifier = modifier, - onSuccess = ::navigateUp, - onBackClick = ::navigateUp, - ) - } -} diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnablePresenter.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnablePresenter.kt deleted file mode 100644 index ae2ee57c9c..0000000000 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnablePresenter.kt +++ /dev/null @@ -1,54 +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.securebackup.impl.enable - -import androidx.compose.runtime.Composable -import androidx.compose.runtime.MutableState -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope -import io.element.android.features.securebackup.impl.loggerTagDisable -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.matrix.api.encryption.EncryptionService -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.launch -import timber.log.Timber -import javax.inject.Inject - -class SecureBackupEnablePresenter @Inject constructor( - private val encryptionService: EncryptionService, -) : Presenter { - @Composable - override fun present(): SecureBackupEnableState { - val enableAction = remember { mutableStateOf>(AsyncAction.Uninitialized) } - val coroutineScope = rememberCoroutineScope() - fun handleEvents(event: SecureBackupEnableEvents) { - when (event) { - is SecureBackupEnableEvents.EnableBackup -> - coroutineScope.enableBackup(enableAction) - SecureBackupEnableEvents.DismissDialog -> { - enableAction.value = AsyncAction.Uninitialized - } - } - } - - return SecureBackupEnableState( - enableAction = enableAction.value, - eventSink = ::handleEvents - ) - } - - private fun CoroutineScope.enableBackup(action: MutableState>) = launch { - suspend { - Timber.tag(loggerTagDisable.value).d("Calling encryptionService.enableBackups()") - encryptionService.enableBackups().getOrThrow() - }.runCatchingUpdatingState(action) - } -} diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableState.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableState.kt deleted file mode 100644 index 058ba49cb6..0000000000 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableState.kt +++ /dev/null @@ -1,15 +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.securebackup.impl.enable - -import io.element.android.libraries.architecture.AsyncAction - -data class SecureBackupEnableState( - val enableAction: AsyncAction, - val eventSink: (SecureBackupEnableEvents) -> Unit -) diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableStateProvider.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableStateProvider.kt deleted file mode 100644 index 482f11f1fd..0000000000 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableStateProvider.kt +++ /dev/null @@ -1,28 +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.securebackup.impl.enable - -import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import io.element.android.libraries.architecture.AsyncAction - -open class SecureBackupEnableStateProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - aSecureBackupEnableState(), - aSecureBackupEnableState(enableAction = AsyncAction.Loading), - aSecureBackupEnableState(enableAction = AsyncAction.Failure(Exception("Failed to enable"))), - // Add other states here - ) -} - -fun aSecureBackupEnableState( - enableAction: AsyncAction = AsyncAction.Uninitialized, -) = SecureBackupEnableState( - enableAction = enableAction, - eventSink = {} -) diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableView.kt deleted file mode 100644 index f14e361c46..0000000000 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnableView.kt +++ /dev/null @@ -1,69 +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.securebackup.impl.enable - -import androidx.compose.foundation.layout.ColumnScope -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.tooling.preview.PreviewParameter -import io.element.android.compound.tokens.generated.CompoundIcons -import io.element.android.features.securebackup.impl.R -import io.element.android.libraries.designsystem.atomic.pages.FlowStepPage -import io.element.android.libraries.designsystem.components.BigIcon -import io.element.android.libraries.designsystem.components.async.AsyncActionView -import io.element.android.libraries.designsystem.preview.ElementPreview -import io.element.android.libraries.designsystem.preview.PreviewsDayNight -import io.element.android.libraries.designsystem.theme.components.Button - -@Composable -fun SecureBackupEnableView( - state: SecureBackupEnableState, - onSuccess: () -> Unit, - onBackClick: () -> Unit, - modifier: Modifier = Modifier, -) { - FlowStepPage( - modifier = modifier, - onBackClick = onBackClick, - title = stringResource(id = R.string.screen_chat_backup_key_backup_action_enable), - iconStyle = BigIcon.Style.Default(CompoundIcons.KeySolid()), - buttons = { Buttons(state = state) } - ) - AsyncActionView( - async = state.enableAction, - progressDialog = { }, - onSuccess = { onSuccess() }, - onErrorDismiss = { state.eventSink.invoke(SecureBackupEnableEvents.DismissDialog) } - ) -} - -@Composable -private fun ColumnScope.Buttons( - state: SecureBackupEnableState, -) { - Button( - text = stringResource(id = R.string.screen_chat_backup_key_backup_action_enable), - showProgress = state.enableAction.isLoading(), - modifier = Modifier.fillMaxWidth(), - onClick = { state.eventSink.invoke(SecureBackupEnableEvents.EnableBackup) } - ) -} - -@PreviewsDayNight -@Composable -internal fun SecureBackupEnableViewPreview( - @PreviewParameter(SecureBackupEnableStateProvider::class) state: SecureBackupEnableState -) = ElementPreview { - SecureBackupEnableView( - state = state, - onSuccess = {}, - onBackClick = {}, - ) -} diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootEvents.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootEvents.kt index 89de592805..f80e3c638b 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootEvents.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootEvents.kt @@ -9,4 +9,7 @@ package io.element.android.features.securebackup.impl.root sealed interface SecureBackupRootEvents { data object RetryKeyBackupState : SecureBackupRootEvents + data object EnableKeyStorage : SecureBackupRootEvents + data object DisplayKeyStorageDisabledError : SecureBackupRootEvents + data object DismissDialog : SecureBackupRootEvents } 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 113c569d39..a0eace77e6 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 @@ -34,7 +34,6 @@ class SecureBackupRootNode @AssistedInject constructor( fun onSetupClick() fun onChangeClick() fun onDisableClick() - fun onEnableClick() fun onConfirmRecoveryKeyClick() } @@ -50,10 +49,6 @@ class SecureBackupRootNode @AssistedInject constructor( plugins().forEach { it.onDisableClick() } } - private fun onEnableClick() { - plugins().forEach { it.onEnableClick() } - } - private fun onConfirmRecoveryKeyClick() { plugins().forEach { it.onConfirmRecoveryKeyClick() } } @@ -71,7 +66,6 @@ class SecureBackupRootNode @AssistedInject constructor( onBackClick = ::navigateUp, onSetupClick = ::onSetupClick, onChangeClick = ::onChangeClick, - onEnableClick = ::onEnableClick, onDisableClick = ::onDisableClick, onConfirmRecoveryKeyClick = ::onConfirmRecoveryKeyClick, onLearnMoreClick = { onLearnMoreClick(uriHandler) }, diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootPresenter.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootPresenter.kt index 075c9980a1..655be4f7a2 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootPresenter.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootPresenter.kt @@ -15,7 +15,10 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import io.element.android.features.securebackup.impl.loggerTagDisable import io.element.android.features.securebackup.impl.loggerTagRoot +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.runCatchingUpdatingState @@ -41,7 +44,8 @@ class SecureBackupRootPresenter @Inject constructor( val backupState by encryptionService.backupStateStateFlow.collectAsState() val recoveryState by encryptionService.recoveryStateStateFlow.collectAsState() - + val enableAction: MutableState> = remember { mutableStateOf(AsyncAction.Uninitialized) } + var displayKeyStorageDisabledError by remember { mutableStateOf(false) } Timber.tag(loggerTagRoot.value).d("backupState: $backupState") Timber.tag(loggerTagRoot.value).d("recoveryState: $recoveryState") @@ -56,14 +60,22 @@ class SecureBackupRootPresenter @Inject constructor( fun handleEvents(event: SecureBackupRootEvents) { when (event) { SecureBackupRootEvents.RetryKeyBackupState -> localCoroutineScope.getKeyBackupStatus(doesBackupExistOnServerAction) + SecureBackupRootEvents.EnableKeyStorage -> localCoroutineScope.enableBackup(enableAction) + SecureBackupRootEvents.DismissDialog -> { + enableAction.value = AsyncAction.Uninitialized + displayKeyStorageDisabledError = false + } + SecureBackupRootEvents.DisplayKeyStorageDisabledError -> displayKeyStorageDisabledError = true } } return SecureBackupRootState( + enableAction = enableAction.value, backupState = backupState, doesBackupExistOnServer = doesBackupExistOnServerAction.value, recoveryState = recoveryState, appName = buildMeta.applicationName, + displayKeyStorageDisabledError = displayKeyStorageDisabledError, snackbarMessage = snackbarMessage, eventSink = ::handleEvents, ) @@ -74,4 +86,11 @@ class SecureBackupRootPresenter @Inject constructor( encryptionService.doesBackupExistOnServer().getOrThrow() }.runCatchingUpdatingState(action) } + + private fun CoroutineScope.enableBackup(action: MutableState>) = launch { + suspend { + Timber.tag(loggerTagDisable.value).d("Calling encryptionService.enableBackups()") + encryptionService.enableBackups().getOrThrow() + }.runCatchingUpdatingState(action) + } } diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootState.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootState.kt index 944706e6cc..5da4f0c5f3 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootState.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootState.kt @@ -7,16 +7,31 @@ package io.element.android.features.securebackup.impl.root +import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage import io.element.android.libraries.matrix.api.encryption.BackupState import io.element.android.libraries.matrix.api.encryption.RecoveryState data class SecureBackupRootState( + val enableAction: AsyncAction, val backupState: BackupState, val doesBackupExistOnServer: AsyncData, val recoveryState: RecoveryState, val appName: String, + val displayKeyStorageDisabledError: Boolean, val snackbarMessage: SnackbarMessage?, val eventSink: (SecureBackupRootEvents) -> Unit, -) +) { + val isKeyStorageEnabled: Boolean + get() = when (backupState) { + BackupState.UNKNOWN -> doesBackupExistOnServer.dataOrNull() == true + BackupState.CREATING, + BackupState.ENABLING, + BackupState.RESUMING, + BackupState.DOWNLOADING, + BackupState.ENABLED -> true + BackupState.WAITING_FOR_SYNC, + BackupState.DISABLING -> false + } +} 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 c07c166975..003fab5f3f 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 @@ -8,6 +8,7 @@ package io.element.android.features.securebackup.impl.root 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.designsystem.utils.snackbar.SnackbarMessage import io.element.android.libraries.matrix.api.encryption.BackupState @@ -22,28 +23,47 @@ open class SecureBackupRootStateProvider : PreviewParameterProvider = AsyncAction.Uninitialized, backupState: BackupState = BackupState.UNKNOWN, doesBackupExistOnServer: AsyncData = AsyncData.Uninitialized, recoveryState: RecoveryState = RecoveryState.UNKNOWN, + displayKeyStorageDisabledError: Boolean = false, snackbarMessage: SnackbarMessage? = null, ) = SecureBackupRootState( + enableAction = enableAction, backupState = backupState, doesBackupExistOnServer = doesBackupExistOnServer, recoveryState = recoveryState, appName = "Element", + displayKeyStorageDisabledError = displayKeyStorageDisabledError, snackbarMessage = snackbarMessage, eventSink = {}, ) diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootView.kt index 47e3068869..2a4cfbbe6e 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootView.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootView.kt @@ -7,28 +7,27 @@ package io.element.android.features.securebackup.impl.root -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.size +import androidx.compose.foundation.progressSemantics import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewParameter +import androidx.compose.ui.unit.dp import io.element.android.compound.theme.ElementTheme import io.element.android.features.securebackup.impl.R import io.element.android.libraries.architecture.AsyncData -import io.element.android.libraries.designsystem.components.async.AsyncLoading +import io.element.android.libraries.designsystem.components.async.AsyncActionView +import io.element.android.libraries.designsystem.components.dialogs.ErrorDialog import io.element.android.libraries.designsystem.components.list.ListItemContent -import io.element.android.libraries.designsystem.components.preferences.PreferenceDivider import io.element.android.libraries.designsystem.components.preferences.PreferencePage -import io.element.android.libraries.designsystem.components.preferences.PreferenceText import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight import io.element.android.libraries.designsystem.text.buildAnnotatedStringWithStyledPart import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator +import io.element.android.libraries.designsystem.theme.components.HorizontalDivider import io.element.android.libraries.designsystem.theme.components.ListItem import io.element.android.libraries.designsystem.theme.components.Text -import io.element.android.libraries.designsystem.theme.components.TextButton 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.encryption.BackupState @@ -41,7 +40,6 @@ fun SecureBackupRootView( onBackClick: () -> Unit, onSetupClick: () -> Unit, onChangeClick: () -> Unit, - onEnableClick: () -> Unit, onDisableClick: () -> Unit, onConfirmRecoveryKeyClick: () -> Unit, onLearnMoreClick: () -> Unit, @@ -52,122 +50,186 @@ fun SecureBackupRootView( PreferencePage( modifier = modifier, onBackClick = onBackClick, - title = stringResource(id = CommonStrings.common_chat_backup), + title = stringResource(id = CommonStrings.common_encryption), snackbarHost = { SnackbarHost(snackbarHostState) }, ) { - val text = buildAnnotatedStringWithStyledPart( - fullTextRes = R.string.screen_chat_backup_key_backup_description, - coloredTextRes = CommonStrings.action_learn_more, - color = ElementTheme.colors.textPrimary, - underline = false, - bold = true, - ) - PreferenceText( - title = stringResource(id = R.string.screen_chat_backup_key_backup_title), - subtitleAnnotated = text, + ListItem( + headlineContent = { + Text( + text = stringResource(id = R.string.screen_chat_backup_key_backup_title), + ) + }, + supportingContent = { + Text( + text = buildAnnotatedStringWithStyledPart( + fullTextRes = R.string.screen_chat_backup_key_backup_description, + coloredTextRes = CommonStrings.action_learn_more, + color = ElementTheme.colors.textPrimary, + underline = false, + bold = true, + ), + ) + }, onClick = onLearnMoreClick, ) - // Disable / Enable backup - when (state.backupState) { - BackupState.WAITING_FOR_SYNC -> Unit - BackupState.UNKNOWN -> { - when (state.doesBackupExistOnServer) { - is AsyncData.Success -> when (state.doesBackupExistOnServer.data) { - true -> { - PreferenceText( - title = stringResource(id = R.string.screen_chat_backup_key_backup_action_disable), - tintColor = ElementTheme.colors.textCriticalPrimary, - onClick = onDisableClick, + // Disable / Enable key storage + ListItem( + headlineContent = { + Text( + text = stringResource(id = R.string.screen_chat_backup_key_storage_toggle_title), + ) + }, + trailingContent = when (state.backupState) { + BackupState.WAITING_FOR_SYNC, + BackupState.DISABLING -> ListItemContent.Custom { LoadingView() } + BackupState.UNKNOWN -> { + when (state.doesBackupExistOnServer) { + is AsyncData.Success -> { + ListItemContent.Switch(checked = state.doesBackupExistOnServer.data) + } + is AsyncData.Loading, + AsyncData.Uninitialized -> ListItemContent.Custom { LoadingView() } + is AsyncData.Failure -> ListItemContent.Custom { + Text( + text = stringResource(id = CommonStrings.action_retry) ) } - false -> { - PreferenceText( - title = stringResource(id = R.string.screen_chat_backup_key_backup_action_enable), - onClick = onEnableClick, - ) - } - } - is AsyncData.Loading, - AsyncData.Uninitialized -> { - ListItem(headlineContent = { - Row( - modifier = Modifier.fillMaxWidth(), - horizontalArrangement = Arrangement.Center, - ) { - CircularProgressIndicator() - } - }) - } - is AsyncData.Failure -> { - ListItem( - headlineContent = { - Text( - text = stringResource(id = CommonStrings.error_unknown), - ) - }, - trailingContent = ListItemContent.Custom { - TextButton( - text = stringResource( - id = CommonStrings.action_retry - ), - onClick = { state.eventSink.invoke(SecureBackupRootEvents.RetryKeyBackupState) } - ) - } - ) - - PreferenceText( - title = stringResource(id = R.string.screen_chat_backup_key_backup_action_enable), - onClick = onEnableClick, - ) } } - } - BackupState.CREATING, - BackupState.ENABLING, - BackupState.RESUMING, - BackupState.ENABLED, - BackupState.DOWNLOADING -> { - PreferenceText( - title = stringResource(id = R.string.screen_chat_backup_key_backup_action_disable), - tintColor = ElementTheme.colors.textCriticalPrimary, - onClick = onDisableClick, - ) - } - BackupState.DISABLING -> { - AsyncLoading() - } - } - - PreferenceDivider() - + BackupState.CREATING, + BackupState.ENABLING, + BackupState.RESUMING, + BackupState.ENABLED, + BackupState.DOWNLOADING -> ListItemContent.Switch(checked = true) + }, + onClick = { + when (state.backupState) { + BackupState.WAITING_FOR_SYNC, + BackupState.DISABLING -> Unit + BackupState.UNKNOWN -> { + when (state.doesBackupExistOnServer) { + is AsyncData.Success -> { + if (state.doesBackupExistOnServer.data) { + onDisableClick() + } else { + state.eventSink.invoke(SecureBackupRootEvents.EnableKeyStorage) + } + } + is AsyncData.Loading, + AsyncData.Uninitialized -> Unit + is AsyncData.Failure -> state.eventSink.invoke(SecureBackupRootEvents.RetryKeyBackupState) + } + } + BackupState.CREATING, + BackupState.ENABLING, + BackupState.RESUMING, + BackupState.ENABLED, + BackupState.DOWNLOADING -> onDisableClick() + } + }, + ) + HorizontalDivider() // Setup recovery when (state.recoveryState) { RecoveryState.UNKNOWN, RecoveryState.WAITING_FOR_SYNC -> Unit RecoveryState.DISABLED -> { - PreferenceText( - title = stringResource(id = R.string.screen_chat_backup_recovery_action_setup), - subtitle = stringResource(id = R.string.screen_chat_backup_recovery_action_setup_description, state.appName), - onClick = onSetupClick, - showEndBadge = true, + ListItem( + headlineContent = { + Text( + text = stringResource(id = R.string.screen_chat_backup_recovery_action_setup), + ) + }, + supportingContent = { + Text( + text = stringResource(id = R.string.screen_chat_backup_recovery_action_setup_description, state.appName), + ) + }, + trailingContent = ListItemContent.Badge, + enabled = state.isKeyStorageEnabled, + alwaysClickable = true, + onClick = { + if (state.isKeyStorageEnabled) { + onSetupClick() + } else { + state.eventSink.invoke(SecureBackupRootEvents.DisplayKeyStorageDisabledError) + } + }, ) } RecoveryState.ENABLED -> { - PreferenceText( - title = stringResource(id = R.string.screen_chat_backup_recovery_action_change), - onClick = onChangeClick, + ListItem( + headlineContent = { + Text( + text = stringResource(id = R.string.screen_chat_backup_recovery_action_change), + ) + }, + supportingContent = { + Text( + text = stringResource(id = R.string.screen_chat_backup_recovery_action_change_description), + ) + }, + enabled = state.isKeyStorageEnabled, + alwaysClickable = true, + onClick = { + if (state.isKeyStorageEnabled) { + onChangeClick() + } else { + state.eventSink.invoke(SecureBackupRootEvents.DisplayKeyStorageDisabledError) + } + }, ) } RecoveryState.INCOMPLETE -> - PreferenceText( - title = stringResource(id = R.string.screen_chat_backup_recovery_action_confirm), - subtitle = stringResource(id = R.string.screen_chat_backup_recovery_action_confirm_description), - showEndBadge = true, - onClick = onConfirmRecoveryKeyClick, + ListItem( + headlineContent = { + Text( + text = stringResource(id = R.string.screen_chat_backup_recovery_action_confirm), + ) + }, + supportingContent = { + Text( + text = stringResource(id = R.string.screen_chat_backup_recovery_action_confirm_description), + ) + }, + trailingContent = ListItemContent.Badge, + enabled = state.isKeyStorageEnabled, + alwaysClickable = true, + onClick = { + if (state.isKeyStorageEnabled) { + onConfirmRecoveryKeyClick() + } else { + state.eventSink.invoke(SecureBackupRootEvents.DisplayKeyStorageDisabledError) + } + }, ) } } + + AsyncActionView( + async = state.enableAction, + progressDialog = { }, + onSuccess = { }, + onErrorDismiss = { state.eventSink.invoke(SecureBackupRootEvents.DismissDialog) } + ) + if (state.displayKeyStorageDisabledError) { + ErrorDialog( + title = null, + content = stringResource(id = R.string.screen_chat_backup_key_storage_disabled_error), + onSubmit = { state.eventSink.invoke(SecureBackupRootEvents.DismissDialog) }, + ) + } +} + +@Composable +private fun LoadingView() { + CircularProgressIndicator( + modifier = Modifier + .progressSemantics() + .size(24.dp), + strokeWidth = 2.dp + ) } @PreviewsDayNight @@ -180,7 +242,6 @@ internal fun SecureBackupRootViewPreview( onBackClick = {}, onSetupClick = {}, onChangeClick = {}, - onEnableClick = {}, onDisableClick = {}, onConfirmRecoveryKeyClick = {}, onLearnMoreClick = {}, diff --git a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyView.kt b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyView.kt index 06fa7b2c46..7ebf2d0219 100644 --- a/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyView.kt +++ b/features/securebackup/impl/src/main/kotlin/io/element/android/features/securebackup/impl/setup/views/RecoveryKeyView.kt @@ -91,14 +91,14 @@ private fun RecoveryKeyStaticContent( ) { Row( modifier = Modifier - .fillMaxWidth() - .clip(RoundedCornerShape(14.dp)) - .background( - color = ElementTheme.colors.bgSubtleSecondary, - shape = RoundedCornerShape(14.dp) - ) - .clickableIfNotNull(onClick) - .padding(horizontal = 16.dp, vertical = 16.dp), + .fillMaxWidth() + .clip(RoundedCornerShape(14.dp)) + .background( + color = ElementTheme.colors.bgSubtleSecondary, + shape = RoundedCornerShape(14.dp) + ) + .clickableIfNotNull(onClick) + .padding(horizontal = 16.dp, vertical = 16.dp), horizontalArrangement = Arrangement.spacedBy(8.dp) ) { if (state.formattedRecoveryKey != null) { @@ -116,15 +116,15 @@ private fun RecoveryKeyStaticContent( verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.Center, modifier = Modifier - .fillMaxWidth() - .padding(vertical = 11.dp) + .fillMaxWidth() + .padding(vertical = 11.dp) ) { if (state.inProgress) { CircularProgressIndicator( modifier = Modifier - .progressSemantics() - .padding(end = 8.dp) - .size(16.dp), + .progressSemantics() + .padding(end = 8.dp) + .size(16.dp), color = ElementTheme.colors.textPrimary, strokeWidth = 1.5.dp, ) @@ -161,12 +161,12 @@ private fun RecoveryKeyFormContent( } OutlinedTextField( modifier = Modifier - .fillMaxWidth() - .testTag(TestTags.recoveryKey) - .autofill( - autofillTypes = listOf(AutofillType.Password), - onFill = { onChange(it) }, - ), + .fillMaxWidth() + .testTag(TestTags.recoveryKey) + .autofill( + autofillTypes = listOf(AutofillType.Password), + onFill = { onChange(it) }, + ), minLines = 2, value = state.formattedRecoveryKey.orEmpty(), onValueChange = onChange, @@ -189,30 +189,18 @@ private fun RecoveryKeyFooter(state: RecoveryKeyViewState) { RecoveryKeyUserStory.Setup, RecoveryKeyUserStory.Change -> { if (state.formattedRecoveryKey == null) { - Row( - verticalAlignment = Alignment.CenterVertically, - ) { - Icon( - imageVector = CompoundIcons.InfoSolid(), - contentDescription = null, - tint = ElementTheme.colors.iconSecondary, - modifier = Modifier - .padding(start = 16.dp) - .size(20.dp), - ) - Text( - text = stringResource( - id = if (state.recoveryKeyUserStory == RecoveryKeyUserStory.Change) { - R.string.screen_recovery_key_change_generate_key_description - } else { - R.string.screen_recovery_key_setup_generate_key_description - } - ), - color = ElementTheme.colors.textSecondary, - modifier = Modifier.padding(start = 8.dp), - style = ElementTheme.typography.fontBodySmRegular, - ) - } + Text( + text = stringResource( + id = if (state.recoveryKeyUserStory == RecoveryKeyUserStory.Change) { + R.string.screen_recovery_key_change_generate_key_description + } else { + R.string.screen_recovery_key_setup_generate_key_description + } + ), + color = ElementTheme.colors.textSecondary, + modifier = Modifier.padding(start = 16.dp), + style = ElementTheme.typography.fontBodySmRegular, + ) } else { Text( text = stringResource(id = R.string.screen_recovery_key_save_key_description), diff --git a/features/securebackup/impl/src/main/res/values/localazy.xml b/features/securebackup/impl/src/main/res/values/localazy.xml index 3fb2c3b027..71c879b088 100644 --- a/features/securebackup/impl/src/main/res/values/localazy.xml +++ b/features/securebackup/impl/src/main/res/values/localazy.xml @@ -1,9 +1,10 @@ - "Turn off backup" + "Delete key storage" "Turn on backup" "Store your cryptographic identity and message keys securely on the server. This will allow you to view your message history on any new devices. %1$s." "Key storage" + "Key storage must be turned on to set up recovery." "Upload keys from this device" "Allow key storage" "Change recovery key" @@ -28,10 +29,10 @@ "Turn off" "You will lose your encrypted messages if you are signed out of all devices." "Are you sure you want to turn off backup?" - "Turning off backup will remove your current encryption key backup and turn off other security features. In this case, you will:" - "Not have encrypted message history on new devices" - "Lose access to your encrypted messages if you are signed out of %1$s everywhere" - "Are you sure you want to turn off backup?" + "Deleting key storage will remove your cryptographic identity and message keys from the server and turn off the following security features:" + "You will not have encrypted message history on new devices" + "You will lose access to your encrypted messages if you are signed out of %1$s everywhere" + "Are you sure you want to turn off key storage and delete it?" "Get a new recovery key if you\'ve lost your existing one. After changing your recovery key, your old one will no longer work." "Generate a new recovery key" "Do not share this with anyone!" @@ -54,7 +55,7 @@ "Save your recovery key somewhere safe" "You will not be able to access your new recovery key after this step." "Have you saved your recovery key?" - "Your chat backup is protected by a recovery key. If you need a new recovery key after setup you can recreate by selecting ‘Change recovery key’." + "Your key storage is protected by a recovery key. If you need a new recovery key after setup, you can recreate it by selecting ‘Change recovery key’." "Generate your recovery key" "Do not share this with anyone!" "Recovery setup successful" diff --git a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisablePresenterTest.kt b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisablePresenterTest.kt index b0d6399c04..073a2de11c 100644 --- a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisablePresenterTest.kt +++ b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/disable/SecureBackupDisablePresenterTest.kt @@ -38,22 +38,6 @@ class SecureBackupDisablePresenterTest { } } - @Test - fun `present - user delete backup and cancel`() = runTest { - val presenter = createSecureBackupDisablePresenter() - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { - val initialState = awaitItem() - initialState.eventSink(SecureBackupDisableEvents.DisableBackup) - val state = awaitItem() - assertThat(state.disableAction).isEqualTo(AsyncAction.ConfirmingNoParams) - initialState.eventSink(SecureBackupDisableEvents.DismissDialogs) - val finalState = awaitItem() - assertThat(finalState.disableAction).isEqualTo(AsyncAction.Uninitialized) - } - } - @Test fun `present - user delete backup success`() = runTest { val presenter = createSecureBackupDisablePresenter() @@ -63,9 +47,6 @@ class SecureBackupDisablePresenterTest { val initialState = awaitItem() assertThat(initialState.disableAction).isEqualTo(AsyncAction.Uninitialized) initialState.eventSink(SecureBackupDisableEvents.DisableBackup) - val state = awaitItem() - assertThat(state.disableAction).isEqualTo(AsyncAction.ConfirmingNoParams) - initialState.eventSink(SecureBackupDisableEvents.DisableBackup) val loadingState = awaitItem() assertThat(loadingState.disableAction).isInstanceOf(AsyncAction.Loading::class.java) val finalState = awaitItem() @@ -87,9 +68,6 @@ class SecureBackupDisablePresenterTest { val initialState = awaitItem() assertThat(initialState.disableAction).isEqualTo(AsyncAction.Uninitialized) initialState.eventSink(SecureBackupDisableEvents.DisableBackup) - val state = awaitItem() - assertThat(state.disableAction).isEqualTo(AsyncAction.ConfirmingNoParams) - initialState.eventSink(SecureBackupDisableEvents.DisableBackup) val loadingState = awaitItem() assertThat(loadingState.disableAction).isInstanceOf(AsyncAction.Loading::class.java) val errorState = awaitItem() diff --git a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnablePresenterTest.kt b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnablePresenterTest.kt deleted file mode 100644 index 46d210ad93..0000000000 --- a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/enable/SecureBackupEnablePresenterTest.kt +++ /dev/null @@ -1,78 +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.securebackup.impl.enable - -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.libraries.architecture.AsyncAction -import io.element.android.libraries.matrix.api.encryption.EncryptionService -import io.element.android.libraries.matrix.test.AN_EXCEPTION -import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService -import io.element.android.tests.testutils.WarmUpRule -import kotlinx.coroutines.test.runTest -import org.junit.Rule -import org.junit.Test - -class SecureBackupEnablePresenterTest { - @get:Rule - val warmUpRule = WarmUpRule() - - @Test - fun `present - initial state`() = runTest { - val presenter = createPresenter() - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { - val initialState = awaitItem() - assertThat(initialState.enableAction).isEqualTo(AsyncAction.Uninitialized) - } - } - - @Test - fun `present - user enable backup`() = runTest { - val presenter = createPresenter() - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { - val initialState = awaitItem() - initialState.eventSink(SecureBackupEnableEvents.EnableBackup) - val loadingState = awaitItem() - assertThat(loadingState.enableAction).isInstanceOf(AsyncAction.Loading::class.java) - val finalState = awaitItem() - assertThat(finalState.enableAction).isEqualTo(AsyncAction.Success(Unit)) - } - } - - @Test - fun `present - user enable backup with error`() = runTest { - val encryptionService = FakeEncryptionService() - encryptionService.givenEnableBackupsFailure(AN_EXCEPTION) - val presenter = createPresenter(encryptionService = encryptionService) - moleculeFlow(RecompositionMode.Immediate) { - presenter.present() - }.test { - val initialState = awaitItem() - initialState.eventSink(SecureBackupEnableEvents.EnableBackup) - val loadingState = awaitItem() - assertThat(loadingState.enableAction).isInstanceOf(AsyncAction.Loading::class.java) - val errorState = awaitItem() - assertThat(errorState.enableAction).isEqualTo(AsyncAction.Failure(AN_EXCEPTION)) - errorState.eventSink(SecureBackupEnableEvents.DismissDialog) - val finalState = awaitItem() - assertThat(finalState.enableAction).isEqualTo(AsyncAction.Uninitialized) - } - } - - private fun createPresenter( - encryptionService: EncryptionService = FakeEncryptionService(), - ) = SecureBackupEnablePresenter( - encryptionService = encryptionService, - ) -} From b29813277dd20e9364a2b6e2f769a2878866cc59 Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 29 Oct 2024 14:58:43 +0100 Subject: [PATCH 84/93] 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 ce7f8351d7..c71a77ac47 100644 --- a/plugins/src/main/kotlin/Versions.kt +++ b/plugins/src/main/kotlin/Versions.kt @@ -47,7 +47,7 @@ private const val versionMinor = 7 // 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 = 2 +private const val versionPatch = 3 object Versions { val versionCode = 4_000_000 + versionMajor * 1_00_00 + versionMinor * 1_00 + versionPatch From ac838238c4197e379949939b059859d917113ffb Mon Sep 17 00:00:00 2001 From: ElementBot Date: Tue, 29 Oct 2024 14:16:46 +0000 Subject: [PATCH 85/93] Update screenshots --- ...res.preferences.impl.root_PreferencesRootViewDark_0_en.png | 4 ++-- ...res.preferences.impl.root_PreferencesRootViewDark_1_en.png | 4 ++-- ...es.preferences.impl.root_PreferencesRootViewLight_0_en.png | 4 ++-- ...es.preferences.impl.root_PreferencesRootViewLight_1_en.png | 4 ++-- ...omlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en.png | 4 ++-- ...list.impl.components_SetUpRecoveryKeyBanner_Night_0_en.png | 4 ++-- .../images/features.roomlist.impl_RoomListView_Day_10_en.png | 4 ++-- .../features.roomlist.impl_RoomListView_Night_10_en.png | 4 ++-- ...rebackup.impl.disable_SecureBackupDisableView_Day_0_en.png | 4 ++-- ...rebackup.impl.disable_SecureBackupDisableView_Day_1_en.png | 4 ++-- ...rebackup.impl.disable_SecureBackupDisableView_Day_2_en.png | 4 ++-- ...rebackup.impl.disable_SecureBackupDisableView_Day_3_en.png | 4 ++-- ...backup.impl.disable_SecureBackupDisableView_Night_0_en.png | 4 ++-- ...backup.impl.disable_SecureBackupDisableView_Night_1_en.png | 4 ++-- ...backup.impl.disable_SecureBackupDisableView_Night_2_en.png | 4 ++-- ...backup.impl.disable_SecureBackupDisableView_Night_3_en.png | 4 ++-- ...curebackup.impl.enable_SecureBackupEnableView_Day_0_en.png | 3 --- ...curebackup.impl.enable_SecureBackupEnableView_Day_1_en.png | 3 --- ...curebackup.impl.enable_SecureBackupEnableView_Day_2_en.png | 3 --- ...rebackup.impl.enable_SecureBackupEnableView_Night_0_en.png | 3 --- ...rebackup.impl.enable_SecureBackupEnableView_Night_1_en.png | 3 --- ...rebackup.impl.enable_SecureBackupEnableView_Night_2_en.png | 3 --- ...s.securebackup.impl.root_SecureBackupRootView_Day_0_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_10_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_11_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_12_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_13_en.png | 4 ++-- ....securebackup.impl.root_SecureBackupRootView_Day_14_en.png | 3 +++ ....securebackup.impl.root_SecureBackupRootView_Day_15_en.png | 3 +++ ....securebackup.impl.root_SecureBackupRootView_Day_16_en.png | 3 +++ ....securebackup.impl.root_SecureBackupRootView_Day_17_en.png | 3 +++ ...s.securebackup.impl.root_SecureBackupRootView_Day_1_en.png | 4 ++-- ...s.securebackup.impl.root_SecureBackupRootView_Day_2_en.png | 4 ++-- ...s.securebackup.impl.root_SecureBackupRootView_Day_3_en.png | 4 ++-- ...s.securebackup.impl.root_SecureBackupRootView_Day_4_en.png | 4 ++-- ...s.securebackup.impl.root_SecureBackupRootView_Day_5_en.png | 4 ++-- ...s.securebackup.impl.root_SecureBackupRootView_Day_6_en.png | 4 ++-- ...s.securebackup.impl.root_SecureBackupRootView_Day_7_en.png | 4 ++-- ...s.securebackup.impl.root_SecureBackupRootView_Day_8_en.png | 4 ++-- ...s.securebackup.impl.root_SecureBackupRootView_Day_9_en.png | 4 ++-- ...securebackup.impl.root_SecureBackupRootView_Night_0_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_10_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_11_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_12_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_13_en.png | 4 ++-- ...ecurebackup.impl.root_SecureBackupRootView_Night_14_en.png | 3 +++ ...ecurebackup.impl.root_SecureBackupRootView_Night_15_en.png | 3 +++ ...ecurebackup.impl.root_SecureBackupRootView_Night_16_en.png | 3 +++ ...ecurebackup.impl.root_SecureBackupRootView_Night_17_en.png | 3 +++ ...securebackup.impl.root_SecureBackupRootView_Night_1_en.png | 4 ++-- ...securebackup.impl.root_SecureBackupRootView_Night_2_en.png | 4 ++-- ...securebackup.impl.root_SecureBackupRootView_Night_3_en.png | 4 ++-- ...securebackup.impl.root_SecureBackupRootView_Night_4_en.png | 4 ++-- ...securebackup.impl.root_SecureBackupRootView_Night_5_en.png | 4 ++-- ...securebackup.impl.root_SecureBackupRootView_Night_6_en.png | 4 ++-- ...securebackup.impl.root_SecureBackupRootView_Night_7_en.png | 4 ++-- ...securebackup.impl.root_SecureBackupRootView_Night_8_en.png | 4 ++-- ...securebackup.impl.root_SecureBackupRootView_Night_9_en.png | 4 ++-- ...securebackup.impl.setup.views_RecoveryKeyView_Day_0_en.png | 4 ++-- ...securebackup.impl.setup.views_RecoveryKeyView_Day_1_en.png | 4 ++-- ...securebackup.impl.setup.views_RecoveryKeyView_Day_4_en.png | 4 ++-- ...securebackup.impl.setup.views_RecoveryKeyView_Day_5_en.png | 4 ++-- ...curebackup.impl.setup.views_RecoveryKeyView_Night_0_en.png | 4 ++-- ...curebackup.impl.setup.views_RecoveryKeyView_Night_1_en.png | 4 ++-- ...curebackup.impl.setup.views_RecoveryKeyView_Night_4_en.png | 4 ++-- ...curebackup.impl.setup.views_RecoveryKeyView_Night_5_en.png | 4 ++-- ...backup.impl.setup_SecureBackupSetupViewChange_Day_0_en.png | 4 ++-- ...backup.impl.setup_SecureBackupSetupViewChange_Day_1_en.png | 4 ++-- ...ckup.impl.setup_SecureBackupSetupViewChange_Night_0_en.png | 4 ++-- ...ckup.impl.setup_SecureBackupSetupViewChange_Night_1_en.png | 4 ++-- ...securebackup.impl.setup_SecureBackupSetupView_Day_0_en.png | 4 ++-- ...securebackup.impl.setup_SecureBackupSetupView_Day_1_en.png | 4 ++-- ...curebackup.impl.setup_SecureBackupSetupView_Night_0_en.png | 4 ++-- ...curebackup.impl.setup_SecureBackupSetupView_Night_1_en.png | 4 ++-- 74 files changed, 144 insertions(+), 138 deletions(-) delete mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en.png delete mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_14_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_15_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_16_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_17_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_14_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_15_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_16_en.png create mode 100644 tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_17_en.png 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 6328b35ca1..faf2367a0b 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:3f16fcc4cc994ceeb80df964e9a9c40bf8f85869cd6c11ec14ea327d3b0fa80b -size 38074 +oid sha256:48320aed4570138a76b04b08f37f67098a72e1b63f13273fd6d9c0a6e33b7e10 +size 37955 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 af9d5fb9ba..5ba26e89ea 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:a432b76372ca2bda9a8f84b8aa779c0eca61e61934ba81d8428e1affdd1f35ae -size 37818 +oid sha256:6a71b634518191f299c924f8ddd39b44ddc1255698e981796bb8b034377c515f +size 37712 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 0f474547b3..b64b5e290d 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:4e8b512463d51570c4645311fe652ee704fe7e67cf2d8f2f6bdf936b987828ea -size 38908 +oid sha256:e33a80d4f6dc4a1bd1cd86b2bfd64471926871f92d8d83cae6b32a79459c8ea0 +size 38775 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 a14b3a6c7b..344a42b7a5 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:fdf9185ce8776451ad07410e1cd8169918da9c4734ece14a91f19716d6b3d00d -size 38915 +oid sha256:c69e1d5748e65b35525df64b83c6616ab439299284ab2bda3a8408d5f4139d2f +size 38802 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 f1ecac35c9..83bfb57c9d 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:259e72d177d2ecab0192cc5be7bdc48c697d4dfca83eb72a1487e83c9e3279a9 -size 28889 +oid sha256:50d8c9e3272a47de6994d64704c31a4b23840a7ef80b88de7df480b47a0f41d6 +size 32182 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 54530d68cf..bb0c85257e 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:09f49efb93873a6bffd389ff4edca77bbc00d622669ff25bc5b0c042d65e283f -size 27781 +oid sha256:08731d9bad63b2e9fd5e391df69ec8938887e994cd879ddcc0b2d33cd4c53b56 +size 31084 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 1e0fce8252..246cc4a160 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:3081dd73e3a33e786266b49de1267c401e55ac3c5b37d1b9c61749b0f7d55c29 -size 99240 +oid sha256:9e0c9709139a41288053c9a2cf90359ee41a2a69d70a0b7a0cb0e0aad5e45880 +size 102670 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 7cbf6930a2..7d8fa6b82e 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:7eb4d87dd2844f81bf745f53cbe83253fe8b48471692a00dbe0f385de75c8c3a -size 106079 +oid sha256:293afc34155d4ecb7ed9f97219b45f7406e3765eb128f512d7dbd3d3cf404e14 +size 109427 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en.png index 3a77b883b0..7366550a77 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a6fc66d1964b323e7a4215b3127fb5812545116b24c668da7b18e716438b5449 -size 55377 +oid sha256:2159965425d13676b20c72d1fb1578a708a79b6386ea4ccfc8b8773885f24d40 +size 66188 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en.png index dc9ccfe88f..7366550a77 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d94b5d9a083d20ddf3d67679fe903234adbf2529aed1d7474c58b22e5bf3d5a -size 42030 +oid sha256:2159965425d13676b20c72d1fb1578a708a79b6386ea4ccfc8b8773885f24d40 +size 66188 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 8ab7b82f80..13ea28e242 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:9a9646499a3ae2203a941d1b975157820bb96b80bb3107c223e1e4c1b1ceea3f -size 55957 +oid sha256:8fadd7226eeb9132a6848635011dd31057e5f9fafc959476500efa4fbe2e907b +size 66699 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en.png index 03b063f06f..e9ac09a773 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8abb26ff01db7ab458d77f8279f6edf213f6abb9fe0697e7c1984eb3b8602193 -size 27231 +oid sha256:8149ddbd84689c55b4ef0809a8abbc4686f3e4e15a67b0b1441b3c3ca2b1271d +size 39939 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en.png index f25d6a3c40..170a627919 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:32cdf16ec3d642b0734b8e7829f6733d3c420a4a5d0e86ce78373eac7262af03 -size 54102 +oid sha256:a9d9919426c607a37e2c42c9c1f11fca097c40accfe2e6b909eb583684aa973b +size 63709 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en.png index b2df4882f4..170a627919 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b7a7875fa017a8fa65ec7e9509bbddba823ef76fb4c42e023a39e4fe1e1d3b63 -size 39056 +oid sha256:a9d9919426c607a37e2c42c9c1f11fca097c40accfe2e6b909eb583684aa973b +size 63709 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 033f906cdc..fa16bd9643 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:56d99be26704d77d3eca53fda5a74a41e6d69232d73722dd8b6b30d20afee6e6 -size 54676 +oid sha256:1af579d0d2544971386704109c6332febdf4bc4e6fba79ebb17a7b8b3b0ebc83 +size 64253 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en.png index 9b9f2b5366..fac57f2d6b 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eb4fd397600880c37e0fa67cacb29e04e4026a239187d6c211509c0084b41103 -size 24750 +oid sha256:c4ca90b2a211c370707f5aa2f0a3eaa0783c633d595b25bcad658cf283efc1df +size 37321 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en.png deleted file mode 100644 index deeffba555..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_0_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:94acaee1daea87be3ccbbc7372a5473c1554c364323fe487fc8a92a8d5118d22 -size 12697 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 deleted file mode 100644 index c1a7cc6009..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_1_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3c39f29b5435dfd402a046617032f35fd3e8c7ce13337755c67f55b548e19ae8 -size 13270 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en.png deleted file mode 100644 index 8b21b5dae6..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Day_2_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:aec83feacbffef1df6fb3bf3bcf6c937fc95c9e1f8974fdf193868b6fbc4d464 -size 18222 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en.png deleted file mode 100644 index 43f170fa9f..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_0_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:14f1c3d40841097e78385edeb78fba3942545bb52fba33aeac4d5290f636ac05 -size 12229 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 deleted file mode 100644 index 6b8418834f..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_1_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:57e525f8aefe4fa6aba18f46cf67e5ce2c46963ec0820e9f9d575be605b7c95f -size 12771 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en.png deleted file mode 100644 index fcac8ce953..0000000000 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.enable_SecureBackupEnableView_Night_2_en.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c750e2f4038d335de92f98dcdaf4f7a7ca1425ea27266c2fa7867392d9dc9218 -size 16449 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 30af0ac691..23bc54a2ae 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:d97fb4f902a45f03f60c5fbcb9dbcbb1e0699c89832a21a65c940dabf762e167 -size 32427 +oid sha256:db4b223d8acc7445932515400461ff8c38bf7617f077d96c12291323e1ba7ea9 +size 34930 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 index 30af0ac691..23bc54a2ae 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d97fb4f902a45f03f60c5fbcb9dbcbb1e0699c89832a21a65c940dabf762e167 -size 32427 +oid sha256:db4b223d8acc7445932515400461ff8c38bf7617f077d96c12291323e1ba7ea9 +size 34930 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 index be1a78c99f..09b55d6cf7 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9aaff674eb4d0079c4c66f07657341c311e2d6ff20809b3f3a31f756d496a1f1 -size 36852 +oid sha256:d7bbbfe116694102f28a0922586496713a80dcbbdaef327e1249f260d74328a9 +size 35760 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 index e1e2a85a6d..09b55d6cf7 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:40bdc9bd677b6d4ca459d0aebc66c875450e62138731040bc34c29405bef5d80 -size 51432 +oid sha256:d7bbbfe116694102f28a0922586496713a80dcbbdaef327e1249f260d74328a9 +size 35760 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 index 5726f61609..c940251903 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2f8aeea3ba0a1aed53900f6451e91b71eab90b991527b1888e1a28e289854730 -size 42049 +oid sha256:769305f9a2068a58391e9900f0a01f3bf7e38ffaffb452946ad78b1d2d22cf28 +size 55732 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_14_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_14_en.png new file mode 100644 index 0000000000..ad1c86a184 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_14_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3aefccbfe014fcf17673055d2411c3eee6ec6d52075d9cb3e5c217af6b319750 +size 54158 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_15_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_15_en.png new file mode 100644 index 0000000000..6b98a76d59 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_15_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51546532bdded5aabd353faf1fad1a8fa9e767af62e211d79591528a0bc1726f +size 45310 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_16_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_16_en.png new file mode 100644 index 0000000000..a73970baa5 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_16_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d2104b99e3ae361dc169c46b0afa00225f8f36dc34d53ac9e2b04136578c6650 +size 54655 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_17_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_17_en.png new file mode 100644 index 0000000000..7da2293634 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Day_17_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bc2628645e4618bf72a8f7d8c2ef33f2150cdae0e606765aa869b42058298493 +size 41199 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 5841c728a4..09b55d6cf7 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:9cf205ea97690e47b25e9b0edb22e004b0d0348d0ca9ddfb677813ee6378e0f9 -size 33574 +oid sha256:d7bbbfe116694102f28a0922586496713a80dcbbdaef327e1249f260d74328a9 +size 35760 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 f4e2028eca..b8d73ca9df 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:5a32c172f73d9b9d71f9b134ff79833d7c768d20324c0fda7d1a33c815914b05 -size 33484 +oid sha256:aa0372c637b7f8c1e83d65a9b037ddcbaf95c940a7974a38bd020489d36245dc +size 36173 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 5d6f49dfe7..5129b34c5a 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:c144327544cad0a8795205d197bd9c6fb4b735aec0a667a066c48dcc369e8afa -size 38937 +oid sha256:5481f4227f3f1cfcca8ff9653c13d43599b60408d6ddaaef854646fca856964c +size 35153 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 4e4a82b2b7..23bc54a2ae 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:9e11e12f7a6b5d91a175280d5ba9e34670856889488e1eb4deed6be39d2e47e5 -size 30816 +oid sha256:db4b223d8acc7445932515400461ff8c38bf7617f077d96c12291323e1ba7ea9 +size 34930 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 5841c728a4..09b55d6cf7 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:9cf205ea97690e47b25e9b0edb22e004b0d0348d0ca9ddfb677813ee6378e0f9 -size 33574 +oid sha256:d7bbbfe116694102f28a0922586496713a80dcbbdaef327e1249f260d74328a9 +size 35760 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 5841c728a4..63391deeb1 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:9cf205ea97690e47b25e9b0edb22e004b0d0348d0ca9ddfb677813ee6378e0f9 -size 33574 +oid sha256:01580b201933b02c99b486f8db6eb039dd41e4cc11e998b4a0dd5dff343b79a0 +size 35030 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 5841c728a4..09b55d6cf7 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:9cf205ea97690e47b25e9b0edb22e004b0d0348d0ca9ddfb677813ee6378e0f9 -size 33574 +oid sha256:d7bbbfe116694102f28a0922586496713a80dcbbdaef327e1249f260d74328a9 +size 35760 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 bb90b5f586..09b55d6cf7 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:8266c3af58782b0d4d9c6fe9801474f3cfa4c5131d0922a32815c497a2ff8876 -size 32425 +oid sha256:d7bbbfe116694102f28a0922586496713a80dcbbdaef327e1249f260d74328a9 +size 35760 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 index 5841c728a4..09b55d6cf7 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9cf205ea97690e47b25e9b0edb22e004b0d0348d0ca9ddfb677813ee6378e0f9 -size 33574 +oid sha256:d7bbbfe116694102f28a0922586496713a80dcbbdaef327e1249f260d74328a9 +size 35760 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 c75b2423f4..c348dbf3f1 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:1f925391dfd47629c15b31fe644eb66e43029064aebf73bc7136aa29763cef0a -size 31836 +oid sha256:97bafddc5171cf429509e5b16c830460618ef098f78d305658b9f6570fdaec7a +size 34352 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 index c75b2423f4..c348dbf3f1 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f925391dfd47629c15b31fe644eb66e43029064aebf73bc7136aa29763cef0a -size 31836 +oid sha256:97bafddc5171cf429509e5b16c830460618ef098f78d305658b9f6570fdaec7a +size 34352 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 index 121bf9f0b9..4229af3c83 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:53f3893f337b42d43d85357bc0d779a8bcd7ad51444bd318e885fe01f91392ee -size 36089 +oid sha256:6dfa61ab6f72bd468584dfe25f6aa292269911ef5e31ce6df5e408928be763e9 +size 35025 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 index 1d95060de3..4229af3c83 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:441bab6f8b50f584cc21d3478872b317995f8547e6078527b69fe3efaff3066e -size 50596 +oid sha256:6dfa61ab6f72bd468584dfe25f6aa292269911ef5e31ce6df5e408928be763e9 +size 35025 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 index 720481971d..becf761678 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d5e6a4cba7bd3131c04814ab35ca28c1229ff3d3f6dca66073ac73ee29b00300 -size 41197 +oid sha256:96e4fc0848f1e59b0146e0f16287f095155216f22112c0aa856d96bee652146a +size 54887 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_14_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_14_en.png new file mode 100644 index 0000000000..19677cca49 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_14_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a87d5a93849b1395168b8d9f9f3478b62c3219ef8baf6064ce0e321db60823c5 +size 53363 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_15_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_15_en.png new file mode 100644 index 0000000000..1fba3557ad --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_15_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5428124e50f77d5cdcb9309497a07af96f1a3c6f17dbb52a182eb4e04406f3f +size 44434 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_16_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_16_en.png new file mode 100644 index 0000000000..1160437cf7 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_16_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cfa63bbf8f36cffee2950bbc2c71f0d9a0d599ae21cf41a20fa0e6f9b3183af3 +size 53824 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_17_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_17_en.png new file mode 100644 index 0000000000..f1b4a6cb20 --- /dev/null +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.root_SecureBackupRootView_Night_17_en.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:352ded021ffca52ccf5cb947d002da44e2d9d06c0a68f33784c65f35be1d5a4f +size 38744 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 05465833c4..4229af3c83 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:ad59cb4b2f8d4acb93f71d882ddac39db538bce882e19fc711331550429a2692 -size 32862 +oid sha256:6dfa61ab6f72bd468584dfe25f6aa292269911ef5e31ce6df5e408928be763e9 +size 35025 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 7a52909e96..63d833fed9 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:3f03f68f065c52756b71e08fac668a263adaaf288bfdb8e4567848ce93540222 -size 32879 +oid sha256:104d3fe72dcb590e7d452e65b9558f20df3dfad898cfcbab042e6d075c656eb8 +size 35550 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 f6c05d64d5..b0dc4b044f 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:b1e1947a0bb9a7cc951e272952a7811867cda7a9b64aed0fd994ee14bd309f9e -size 38166 +oid sha256:807cb5c65c62b5a628ad8719930aecebb03bab9d4d2565aa016a8bb4d23cef58 +size 34593 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 4521a91e16..c348dbf3f1 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:0edb47639a0d1338fa5983ab31867a96532dcc174d4d1f6bf7cf646a135fca9f -size 30240 +oid sha256:97bafddc5171cf429509e5b16c830460618ef098f78d305658b9f6570fdaec7a +size 34352 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 05465833c4..4229af3c83 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:ad59cb4b2f8d4acb93f71d882ddac39db538bce882e19fc711331550429a2692 -size 32862 +oid sha256:6dfa61ab6f72bd468584dfe25f6aa292269911ef5e31ce6df5e408928be763e9 +size 35025 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 05465833c4..ea9eaf039d 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:ad59cb4b2f8d4acb93f71d882ddac39db538bce882e19fc711331550429a2692 -size 32862 +oid sha256:4e9940713041c9078087df7e7ceaa430d96ca1c199f4cdc22c705a73539c84a3 +size 32717 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 05465833c4..4229af3c83 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:ad59cb4b2f8d4acb93f71d882ddac39db538bce882e19fc711331550429a2692 -size 32862 +oid sha256:6dfa61ab6f72bd468584dfe25f6aa292269911ef5e31ce6df5e408928be763e9 +size 35025 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 00e952c6ff..4229af3c83 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:d8983c85f207fea3ff7d66eb9128dc0c6404d24feae1e102d981e0398414f663 -size 31842 +oid sha256:6dfa61ab6f72bd468584dfe25f6aa292269911ef5e31ce6df5e408928be763e9 +size 35025 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 index 05465833c4..4229af3c83 100644 --- 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 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ad59cb4b2f8d4acb93f71d882ddac39db538bce882e19fc711331550429a2692 -size 32862 +oid sha256:6dfa61ab6f72bd468584dfe25f6aa292269911ef5e31ce6df5e408928be763e9 +size 35025 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en.png index e847dc4380..b1ddc8db95 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3954184d0a03b4a4c2d396e108a4c939d2d07e54eaa59bd886c4b884f423be38 -size 16658 +oid sha256:76aa1a5ebc4d4700b9c17bd96a860ec66f0f0290174f60bbff421d0621548d43 +size 16369 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 1f09073860..8ac2360af9 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:fb810bb206a376f1ce0d5c8f13cbcfc6e160a27bbbba01cadb39e217683b47c7 -size 14426 +oid sha256:5bcd30abc12ac1febb2fd694617d9fe1bd68ff7a193cc05eacc15d1506f3db8e +size 14129 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en.png index b200bc313b..425c102017 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:72ffcd02d6e56b3d84ddff56e67bf082cf6867d970e5c90e4c65d7214efc1055 -size 16850 +oid sha256:a05ec1dbaa4efe16276ef9e284e7eaac194d4ca060524f2fd116465d4f4a5b19 +size 16563 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 1f09073860..8ac2360af9 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:fb810bb206a376f1ce0d5c8f13cbcfc6e160a27bbbba01cadb39e217683b47c7 -size 14426 +oid sha256:5bcd30abc12ac1febb2fd694617d9fe1bd68ff7a193cc05eacc15d1506f3db8e +size 14129 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en.png index 3e4f3140b7..6d04cbba5b 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ec24e0c0c8ef348b79fca7c884fc04d2959ba3eb68cf86673050e6af5ef2513 -size 16157 +oid sha256:78fcd3ba4aca3e25a7d183cb83286bd0ba805f48796db034207e60a99dcb20c6 +size 15810 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 d1041f1751..55df3a686a 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:319f3ca5dadb404427e6d87046321d7b38bd7b31a085e74d401ede564c083e0f -size 13980 +oid sha256:400700ea092e1182d9774f0f717df1085f129fd6c37765d09dff762ffeed9e66 +size 13626 diff --git a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en.png index abab10af9b..4bf8a8087d 100644 --- a/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en.png +++ b/tests/uitests/src/test/snapshots/images/features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df0826b4c857daef4fe641b2dbe52afce3c3e02c74c25d1adbaa7231525c6cae -size 16381 +oid sha256:4194ce2cc2259d89ebfaa7dd220bb6ecedf3c0e635a1610d99c2bb2302254ff5 +size 16029 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 d1041f1751..55df3a686a 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:319f3ca5dadb404427e6d87046321d7b38bd7b31a085e74d401ede564c083e0f -size 13980 +oid sha256:400700ea092e1182d9774f0f717df1085f129fd6c37765d09dff762ffeed9e66 +size 13626 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 549e6de403..8cb4366256 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:0837cd46f284fae8d3f6a929b52eb5d7a27f43af7b38ac002a5a36c454998934 -size 43133 +oid sha256:95f32675a4220b75fd09530db3f97dad1da0b6a5bbc437b740db1da36481de4b +size 42617 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 202ea9dfe4..da4b250916 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:63241cb82588d2d3fe27a19de265fb5b0cf5e7d812a783e931ac235df3c64412 -size 40885 +oid sha256:6901a2702035fc9cbb9e2047844c7644556bee72145f533c41f2cb2cbe166a35 +size 40334 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 67e0439241..9782068f8c 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:000430ba03935ea53fef3c76205d7ea73c72aecc3951974fa67c77235bfaf1a8 -size 41940 +oid sha256:3dfb18ea5f87f3e8d58c4555a42bbba10b7d4525131c8b40b135a65428a84f09 +size 41465 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 db50cc02a0..a247b43508 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:39adceef0bb8ff4ea6386c778f1888d1f1b8f5b3b1f845edab865702a11477de -size 39671 +oid sha256:41c4860deea7a74984b997c0f2489bb6aa9f0225f91ea97d3beda42f385e926b +size 39184 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 c2e9b21537..81b37b2e72 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:d890b06789242d9794b168722907c26370a088162d9e435e1a0d3b21a57b01df -size 44451 +oid sha256:46554d24e2ccb5a655be40bc79909d2bb3fd04d9fcf914fb8839d915587fff47 +size 44091 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 89b4854c63..231778f22f 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:199e7e41b64c3b16c9ed15de70482babeecffbfe048c75a4740844de7fce0284 -size 42273 +oid sha256:e925e2547d3d8cb7322897c0a242cc92e658e9dc1b5fa8e5bbc4c3fc3597e4a5 +size 41906 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 260ef0100b..d003e9a1da 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:e53f63a92a5692f395615dba771b0a688a1693e7b715866667a6945d1e349f5d -size 43176 +oid sha256:e6e8254736a5a4cdd8e8c52c4b51906700f9c2bff5d656a6797ca3400008cf50 +size 42927 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 5a2ba55bee..de6c73827c 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:4637c3b2e4c171389ceabd36a53af376cab9f5f4fe8f99fcc535dff34acf45f9 -size 41088 +oid sha256:634a2ed76e3b115bb6175fe2801cbef3fb29c284f139a8577c201d1cdea2fc03 +size 40820 From 5e1099da41294dbff8fdb8e5fe6321f5bcb1e3fa Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 29 Oct 2024 15:18:07 +0100 Subject: [PATCH 86/93] Add missing tests. --- .../root/SecureBackupRootPresenterTest.kt | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootPresenterTest.kt b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootPresenterTest.kt index 6d276ded53..5dc715547b 100644 --- a/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootPresenterTest.kt +++ b/features/securebackup/impl/src/test/kotlin/io/element/android/features/securebackup/impl/root/SecureBackupRootPresenterTest.kt @@ -11,6 +11,7 @@ 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.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncData import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher import io.element.android.libraries.matrix.api.encryption.BackupState @@ -38,6 +39,8 @@ class SecureBackupRootPresenterTest { val initialState = awaitItem() assertThat(initialState.backupState).isEqualTo(BackupState.UNKNOWN) assertThat(initialState.doesBackupExistOnServer.dataOrNull()).isTrue() + assertThat(initialState.enableAction).isEqualTo(AsyncAction.Uninitialized) + assertThat(initialState.displayKeyStorageDisabledError).isFalse() assertThat(initialState.recoveryState).isEqualTo(RecoveryState.UNKNOWN) assertThat(initialState.appName).isEqualTo("Element") assertThat(initialState.snackbarMessage).isNull() @@ -70,6 +73,35 @@ class SecureBackupRootPresenterTest { } } + @Test + fun `present - setting up encryption when key storage is disabled should emit a state to render a dialog`() = runTest { + val presenter = createSecureBackupRootPresenter() + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + skipItems(2) + val initialState = awaitItem() + initialState.eventSink(SecureBackupRootEvents.DisplayKeyStorageDisabledError) + assertThat(awaitItem().displayKeyStorageDisabledError).isTrue() + initialState.eventSink(SecureBackupRootEvents.DismissDialog) + assertThat(awaitItem().displayKeyStorageDisabledError).isFalse() + } + } + + @Test + fun `present - enable key storage invoke the expected API`() = runTest { + val presenter = createSecureBackupRootPresenter() + moleculeFlow(RecompositionMode.Immediate) { + presenter.present() + }.test { + skipItems(2) + val initialState = awaitItem() + initialState.eventSink(SecureBackupRootEvents.EnableKeyStorage) + assertThat(awaitItem().enableAction.isLoading()).isTrue() + assertThat(awaitItem().enableAction.isSuccess()).isTrue() + } + } + private fun createSecureBackupRootPresenter( encryptionService: EncryptionService = FakeEncryptionService(), appName: String = "Element", From 0e4ef9fc0a29bd05973b1cf68ebe6b2cdd8e50a2 Mon Sep 17 00:00:00 2001 From: ganfra Date: Tue, 29 Oct 2024 15:40:05 +0100 Subject: [PATCH 87/93] Changelog for version 0.7.2 --- CHANGES.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index a274a14643..6452a0c1bb 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,19 @@ +Changes in Element X v0.7.2 (2024-10-29) +======================================== + +## What's Changed +### 🙌 Improvements +* Add setting to compress image and video by @bmarty in https://github.com/element-hq/element-x-android/pull/3744 +### 🗣 Translations +* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/3743 +### 🧱 Build +* Release script improvement by @bmarty in https://github.com/element-hq/element-x-android/pull/3741 +### Dependency upgrades +* Update dependency org.maplibre.gl:android-sdk to v11.5.2 by @renovate in https://github.com/element-hq/element-x-android/pull/3720 +* Update dependency io.sentry:sentry-android to v7.16.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3726 +* Update dependencyAnalysis to v2.3.0 by @renovate in https://github.com/element-hq/element-x-android/pull/3740 +* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.58 by @renovate in https://github.com/element-hq/element-x-android/pull/3749 + Changes in Element X v0.7.1 (2024-10-25) ======================================== From 05e70ef5d08a30f016557b8f33a429f5219c1179 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 29 Oct 2024 16:41:37 +0100 Subject: [PATCH 88/93] Rename some private composable functions. --- .../impl/incoming/IncomingVerificationView.kt | 8 +++---- .../impl/outgoing/VerifySelfSessionView.kt | 22 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt index 052b88f0dc..cc2c9fbd2d 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/IncomingVerificationView.kt @@ -63,7 +63,7 @@ fun IncomingVerificationView( ) }, header = { - HeaderContent(step = step) + IncomingVerificationHeader(step = step) }, footer = { IncomingVerificationBottomMenu( @@ -71,14 +71,14 @@ fun IncomingVerificationView( ) } ) { - Content( + IncomingVerificationContent( step = step, ) } } @Composable -private fun HeaderContent(step: Step) { +private fun IncomingVerificationHeader(step: Step) { val iconStyle = when (step) { Step.Canceled, is Step.Initial -> BigIcon.Style.Default(CompoundIcons.LockSolid()) @@ -114,7 +114,7 @@ private fun HeaderContent(step: Step) { } @Composable -private fun Content( +private fun IncomingVerificationContent( step: Step, ) { when (step) { diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionView.kt index 75b189424e..fdcbf978a3 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionView.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/outgoing/VerifySelfSessionView.kt @@ -120,10 +120,10 @@ fun VerifySelfSessionView( ) }, header = { - HeaderContent(step = step) + VerifySelfSessionHeader(step = step) }, footer = { - BottomMenu( + VerifySelfSessionBottomMenu( screenState = state, onCancelClick = ::cancelOrResetFlow, onEnterRecoveryKey = onEnterRecoveryKey, @@ -132,7 +132,7 @@ fun VerifySelfSessionView( ) } ) { - Content( + VerifySelfSessionContent( flowState = step, onLearnMoreClick = onLearnMoreClick, ) @@ -156,9 +156,9 @@ fun VerifySelfSessionView( } @Composable -private fun HeaderContent(step: Step) { +private fun VerifySelfSessionHeader(step: Step) { val iconStyle = when (step) { - VerifySelfSessionState.Step.Loading -> error("Should not happen") + Step.Loading -> error("Should not happen") is Step.Initial, Step.AwaitingOtherDeviceResponse -> BigIcon.Style.Default(CompoundIcons.LockSolid()) Step.Canceled -> BigIcon.Style.AlertSolid Step.Ready, is Step.Verifying -> BigIcon.Style.Default(CompoundIcons.Reaction()) @@ -166,7 +166,7 @@ private fun HeaderContent(step: Step) { is Step.Skipped -> return } val titleTextId = when (step) { - VerifySelfSessionState.Step.Loading -> error("Should not happen") + Step.Loading -> error("Should not happen") is Step.Initial, Step.AwaitingOtherDeviceResponse -> R.string.screen_identity_confirmation_title Step.Canceled -> CommonStrings.common_verification_cancelled Step.Ready -> R.string.screen_session_verification_compare_emojis_title @@ -178,7 +178,7 @@ private fun HeaderContent(step: Step) { is Step.Skipped -> return } val subtitleTextId = when (step) { - VerifySelfSessionState.Step.Loading -> error("Should not happen") + Step.Loading -> error("Should not happen") is Step.Initial, Step.AwaitingOtherDeviceResponse -> R.string.screen_identity_confirmation_subtitle Step.Canceled -> R.string.screen_session_verification_cancelled_subtitle Step.Ready -> R.string.screen_session_verification_ready_subtitle @@ -198,12 +198,12 @@ private fun HeaderContent(step: Step) { } @Composable -private fun Content( +private fun VerifySelfSessionContent( flowState: Step, onLearnMoreClick: () -> Unit, ) { when (flowState) { - is VerifySelfSessionState.Step.Initial -> { + is Step.Initial -> { ContentInitial(onLearnMoreClick) } is Step.Verifying -> { @@ -232,7 +232,7 @@ private fun ContentInitial( } @Composable -private fun BottomMenu( +private fun VerifySelfSessionBottomMenu( screenState: VerifySelfSessionState, onEnterRecoveryKey: () -> Unit, onResetKey: () -> Unit, @@ -245,7 +245,7 @@ private fun BottomMenu( val isVerifying = (verificationViewState as? Step.Verifying)?.state is AsyncData.Loading when (verificationViewState) { - VerifySelfSessionState.Step.Loading -> error("Should not happen") + Step.Loading -> error("Should not happen") is Step.Initial -> { VerificationBottomMenu { if (verificationViewState.isLastDevice) { From 5a1b4cbf558142f19e8ed28f135e5437a609f16a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 29 Oct 2024 16:43:26 +0100 Subject: [PATCH 89/93] Move TextWithLabelMolecule to the designsystem module. --- .../impl/incoming/ui/SessionDetailsView.kt | 21 +---------- .../atomic/molecules/TextWithLabelMolecule.kt | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+), 20 deletions(-) create mode 100644 libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/TextWithLabelMolecule.kt diff --git a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/ui/SessionDetailsView.kt b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/ui/SessionDetailsView.kt index c1eecbdf39..2a17502176 100644 --- a/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/ui/SessionDetailsView.kt +++ b/features/verifysession/impl/src/main/kotlin/io/element/android/features/verifysession/impl/incoming/ui/SessionDetailsView.kt @@ -23,6 +23,7 @@ import io.element.android.compound.theme.ElementTheme import io.element.android.features.verifysession.impl.R import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtom import io.element.android.libraries.designsystem.atomic.atoms.RoundedIconAtomSize +import io.element.android.libraries.designsystem.atomic.molecules.TextWithLabelMolecule import io.element.android.libraries.designsystem.icons.CompoundDrawables import io.element.android.libraries.designsystem.preview.ElementPreview import io.element.android.libraries.designsystem.preview.PreviewsDayNight @@ -80,26 +81,6 @@ fun SessionDetailsView( } } -@Composable -private fun TextWithLabelMolecule( - label: String, - text: String, - modifier: Modifier = Modifier, -) { - Column(modifier = modifier) { - Text( - text = label, - style = ElementTheme.typography.fontBodySmRegular, - color = ElementTheme.colors.textSecondary, - ) - Text( - text = text, - style = ElementTheme.typography.fontBodyMdRegular, - color = ElementTheme.colors.textPrimary, - ) - } -} - @PreviewsDayNight @Composable internal fun SessionDetailsViewPreview() = ElementPreview { diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/TextWithLabelMolecule.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/TextWithLabelMolecule.kt new file mode 100644 index 0000000000..b210aeace3 --- /dev/null +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/TextWithLabelMolecule.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.designsystem.atomic.molecules + +import androidx.compose.foundation.layout.Column +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import io.element.android.compound.theme.ElementTheme +import io.element.android.libraries.designsystem.theme.components.Text + +@Composable +fun TextWithLabelMolecule( + label: String, + text: String, + modifier: Modifier = Modifier, +) { + Column(modifier = modifier) { + Text( + text = label, + style = ElementTheme.typography.fontBodySmRegular, + color = ElementTheme.colors.textSecondary, + ) + Text( + text = text, + style = ElementTheme.typography.fontBodyMdRegular, + color = ElementTheme.colors.textPrimary, + ) + } +} + From b4ccd5801d5f012c58655c90667279de0a63e041 Mon Sep 17 00:00:00 2001 From: Joe Groocock Date: Tue, 29 Oct 2024 16:34:09 +0000 Subject: [PATCH 90/93] Fix oversize padding on captioned images/videos (#3732) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix oversize padding on captioned images/videos Use consistent padding with the InReplyToView for the media, and consistent caption padding with other textual messages. Signed-off-by: Joe Groocock * Update screenshots --------- Signed-off-by: Joe Groocock Co-authored-by: Jorge Martín Co-authored-by: ElementBot --- .../timeline/components/ContentPadding.kt | 14 ++++++ .../components/TimelineItemEventRow.kt | 45 +++++++++++-------- .../TimelineItemEventRowWithReplyPreview.kt | 4 +- .../components/event/TimelineItemImageView.kt | 5 +-- .../components/event/TimelineItemVideoView.kt | 1 + .../model/AggregatedReactionProvider.kt | 5 ++- ...t_TimelineImageWithCaptionRow_Day_0_en.png | 4 +- ...TimelineImageWithCaptionRow_Night_0_en.png | 4 +- ...t_TimelineVideoWithCaptionRow_Day_0_en.png | 4 +- ...TimelineVideoWithCaptionRow_Night_0_en.png | 4 +- ...lineItemEventRowDisambiguated_Day_0_en.png | 4 +- ...neItemEventRowDisambiguated_Night_0_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 +- 44 files changed, 127 insertions(+), 99 deletions(-) create mode 100644 features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ContentPadding.kt diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ContentPadding.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ContentPadding.kt new file mode 100644 index 0000000000..5e7bdf5623 --- /dev/null +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/ContentPadding.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.components + +enum class ContentPadding { + Textual, + Media, + CaptionedMedia +} 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 d52cc9a360..04757737dc 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 @@ -522,32 +522,33 @@ private fun MessageEventBubbleContent( fun CommonLayout( timestampPosition: TimestampPosition, showThreadDecoration: Boolean, + paddingBehaviour: ContentPadding, inReplyToDetails: InReplyToDetails?, modifier: Modifier = Modifier, canShrinkContent: Boolean = false, ) { - val timestampLayoutModifier: Modifier - val contentModifier: Modifier - when { - inReplyToDetails != null -> { - if (timestampPosition == TimestampPosition.Overlay) { - timestampLayoutModifier = Modifier.padding(start = 8.dp, end = 8.dp, bottom = 8.dp) - contentModifier = Modifier.clip(RoundedCornerShape(12.dp)) + val timestampLayoutModifier = + if (inReplyToDetails != null && timestampPosition == TimestampPosition.Overlay) { + Modifier.padding(start = 8.dp, end = 8.dp, bottom = 8.dp) + } else { + Modifier + } + + val topPadding = if (inReplyToDetails != null) 0.dp else 8.dp + val contentModifier = when (paddingBehaviour) { + ContentPadding.Textual -> + Modifier.padding(start = 12.dp, end = 12.dp, top = topPadding, bottom = 8.dp) + ContentPadding.Media -> { + if (inReplyToDetails == null) { + Modifier } else { - contentModifier = Modifier.padding(start = 12.dp, end = 12.dp, top = 0.dp, bottom = 8.dp) - timestampLayoutModifier = Modifier + Modifier.clip(RoundedCornerShape(10.dp)) } } - timestampPosition != TimestampPosition.Overlay -> { - timestampLayoutModifier = Modifier - contentModifier = Modifier - .padding(start = 12.dp, end = 12.dp, top = 8.dp, bottom = 8.dp) - } - else -> { - timestampLayoutModifier = Modifier - contentModifier = Modifier - } + ContentPadding.CaptionedMedia -> + Modifier.padding(start = 8.dp, end = 8.dp, top = topPadding, bottom = 8.dp) } + val threadDecoration = @Composable { if (showThreadDecoration) { ThreadDecoration(modifier = Modifier.padding(top = 8.dp, start = 12.dp, end = 12.dp)) @@ -601,9 +602,17 @@ private fun MessageEventBubbleContent( is TimelineItemPollContent -> TimestampPosition.Below else -> TimestampPosition.Default } + val paddingBehaviour = when (event.content) { + is TimelineItemImageContent -> if (event.content.showCaption) ContentPadding.CaptionedMedia else ContentPadding.Media + is TimelineItemVideoContent -> if (event.content.showCaption) ContentPadding.CaptionedMedia else ContentPadding.Media + is TimelineItemStickerContent, + is TimelineItemLocationContent -> ContentPadding.Media + else -> ContentPadding.Textual + } CommonLayout( showThreadDecoration = event.isThreaded, timestampPosition = timestampPosition, + paddingBehaviour = paddingBehaviour, inReplyToDetails = event.inReplyTo, canShrinkContent = event.content is TimelineItemVoiceContent, modifier = bubbleModifier.semantics(mergeDescendants = true) { diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyPreview.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyPreview.kt index c429e9cc83..fcdd8610d9 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyPreview.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/components/TimelineItemEventRowWithReplyPreview.kt @@ -50,7 +50,9 @@ internal fun TimelineItemEventRowWithReplyContentToPreview( isMine = it, timelineItemReactions = aTimelineItemReactions(count = 0), content = aTimelineItemImageContent( - aspectRatio = 2.5f + aspectRatio = 2.5f, + filename = "image.jpg", + caption = "A reply with an image.", ), inReplyTo = inReplyToDetails, displayNameAmbiguous = displayNameAmbiguous, 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 fcc24b791e..abedcf4c50 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 @@ -69,9 +69,7 @@ fun TimelineItemImageView( modifier = modifier.semantics { contentDescription = description }, ) { val containerModifier = if (content.showCaption) { - Modifier - .padding(top = 6.dp) - .clip(RoundedCornerShape(6.dp)) + Modifier.clip(RoundedCornerShape(10.dp)) } else { Modifier } @@ -119,6 +117,7 @@ fun TimelineItemImageView( val aspectRatio = content.aspectRatio ?: DEFAULT_ASPECT_RATIO EditorStyledText( modifier = Modifier + .padding(horizontal = 4.dp) // This is (12.dp - 8.dp) contentPadding from CommonLayout .widthIn(min = MIN_HEIGHT_IN_DP.dp * aspectRatio, max = MAX_HEIGHT_IN_DP.dp * aspectRatio), text = caption, style = ElementRichTextEditorStyle.textStyle(), 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 e743338ccf..675f9adfc6 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 @@ -137,6 +137,7 @@ fun TimelineItemVideoView( val aspectRatio = content.aspectRatio ?: DEFAULT_ASPECT_RATIO EditorStyledText( modifier = Modifier + .padding(horizontal = 4.dp) // This is (12.dp - 8.dp) contentPadding from CommonLayout .widthIn(min = MIN_HEIGHT_IN_DP.dp * aspectRatio, max = MAX_HEIGHT_IN_DP.dp * aspectRatio), text = caption, style = ElementRichTextEditorStyle.textStyle(), diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/AggregatedReactionProvider.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/AggregatedReactionProvider.kt index 990c9e34e5..10e4898725 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/AggregatedReactionProvider.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/model/AggregatedReactionProvider.kt @@ -12,6 +12,7 @@ import io.element.android.libraries.matrix.api.core.UserId import kotlinx.collections.immutable.toImmutableList import java.text.DateFormat import java.util.Date +import java.util.TimeZone open class AggregatedReactionProvider : PreviewParameterProvider { override val values: Sequence @@ -29,7 +30,9 @@ fun anAggregatedReaction( count: Int = 1, isHighlighted: Boolean = false, ): AggregatedReaction { - val timeFormatter = DateFormat.getTimeInstance(DateFormat.SHORT, java.util.Locale.US) + val timeFormatter = DateFormat.getTimeInstance(DateFormat.SHORT, java.util.Locale.US).apply { + timeZone = TimeZone.getTimeZone("UTC") + } val date = Date(1_689_061_264L) val senders = buildList { repeat(count) { index -> 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 399d942e18..91eb069a23 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:926904f8e96ed206835166d6a6d206a8ed2c0ea6895f2e48951b43a5b92aeee7 -size 225862 +oid sha256:971d327ffaf387e7fab5d64787fc37d7bd4aa2d54e34be66685009172c04e36e +size 233849 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 aa161e4266..442ba06553 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:727a7e925722c7addc8b8021259ad15f3cb0e664803bbd4c67959ec1e9ca036a -size 226638 +oid sha256:71e0536389e7f914996b300cb5b53eb3728b8008ef225f7107e7401a5bdab7b3 +size 234021 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 847ae35de9..56489451bb 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:0db8b0043cc020fc8f7c7f5b44059486e022dd13080b02368723e253b1c616d7 -size 225018 +oid sha256:2be7690996fccc6133a3d61114228a0d53dd14bc15018e968d7e9720b151e50e +size 233146 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 81247e3e07..22320f7644 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:feaf14edc0d7a8ff1349e9fb051ce883b0de75a2528f9a6650df398b81e82b68 -size 225300 +oid sha256:b7f8e6bd1eec91e55f1b0ea7fb6c591e5ddcb5f06fd1fc2e00994d657da9477e +size 234646 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 4a4aac9d4a..53b231bc1d 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:5570ff934240912f93649d15032c73619e630aceb357e66e41dce47e9d76f08f -size 166272 +oid sha256:0cf7e89fac181c1a0829e14d4ade4f236267e4e19a3aa2aa5c216f7f86e6aa87 +size 169050 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 9b8f4dfece..6a79ccf27f 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:5dd36474e36bf27f1355cf714e0b96a608ce48c21b364bcd928cc342a0df14cb -size 165299 +oid sha256:20ff9eca2a1ce793143485d886416503fef228e967ee606595dcd726a85c9832 +size 168179 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 0008ddcf87..2e06388c92 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:d1574b190a911c47c56e6bed804bc43df35abfb54bf7beb7c2e927fdd2ff7536 -size 149028 +oid sha256:c86e8244db3e63a63c173c554a419eab63445b4c4bcfe0f69a4900fe19faf6d3 +size 151392 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 8b76d2a9da..8c00dc6f7c 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:8d03e48af7b9b231ae2f1a559925548b1867b714835c505031a904f4f033ef64 -size 154441 +oid sha256:8400bc01f801b6d6c32dd5d4f6792fa8f89b831e10228f7875e8f7e89146d1f4 +size 156895 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 36ef1115e1..145494bf10 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:2502ede187b87dae2f4dd2a2aca1fbd889fd662aac022d7f491a043e7fdfbec9 -size 148753 +oid sha256:77817ceca6ab94dfd5ec239f281e15a0fd4be7a0e0a7e036f825710d5cdfe53d +size 151421 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 8ae3461baf..cc7b9b4548 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:ce8393e7b0fe7bc049873002af6c3d476a8efd72872d5de4de3e22daea00bc33 -size 153901 +oid sha256:e9365f8bbf8aca62b6e76a0492dd7c9b28481d14e16ff89f44d4ab57f000a991 +size 156559 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 e06bc2bb0f..9d71a5386a 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:6b26c57ff6d960c53bfe25306529397c5e4f649ab239b3a53ac97161e6b0696d -size 134762 +oid sha256:45553883378459e04d228dd13f5e835c81718b1dd07db10f1800dd93afc32ee9 +size 142634 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 d8d9bbc201..0db679cf2d 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:f35c5da381410d573704d51fdecf578986ee413de664367328429e148dba9933 -size 144013 +oid sha256:fc0da74b89149a4d0fd136bf56e2aab545229c01fd83a72cd4fd4fb9d8fa84d9 +size 151647 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 60e1cd3f01..81cff9aa70 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:0527b6fee58ee0aee884c9027c56df6056aeded45f732c85fe821d2684fff8b7 -size 134434 +oid sha256:545647e1c8c03e1517c5cb6fac8caca4eb293775714f5d8ba3c44b15e9191a5e +size 141956 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 e9085203cf..d3d6501ab3 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:c036d41362553348b7d0e94a375cdcfe8ff25fd6a87d5322265f93347646698c -size 142914 +oid sha256:a5ee904904ca3a9167174a61f5ceaec59d3ba67fc783639bae168959f078647a +size 150760 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 21c0edc885..33c722995d 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:ec3ceb17cad25bdc7fd400de87fed007652260fdb844f1c94726703d220eec18 -size 153858 +oid sha256:3c54d751ee267a696c0dcf591636ee00080db05208692fa4c7eda444396727dc +size 156265 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 de590eacef..468fdd6071 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:82e2841a18615cb4111ddbb8d2ad6f224f3925dca7cbaaaa032e8ca3fdc9943b -size 139873 +oid sha256:90e38333fd30ac4714249ab8709a30621c4fc1f2e0ebe753df0a114678df019a +size 142215 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 b810769eaa..30e8d2501a 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:4295f1505656671238f52bc266db484999ce9b54e2c51549d8e6550817a986a3 -size 151754 +oid sha256:48fe571432922b2ee2891a582dfb52fd535ca8c2515df98ed44016d2533c27db +size 154251 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 767b7bfe8b..badbd682e8 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:71a7151373fbe647116cbb45f941f8d2a237208f2ce0b09c159e607a2085a5d7 -size 160534 +oid sha256:8f9e3ed9354b363106baeaea5002a85bc1e030e5cde5581a823ae996fc0346a6 +size 163443 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 8843da9418..d8e7d37068 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:01d35f90258839990fd145d7705dcc922ee215301025b9190b1d2dabaa54c9d5 -size 142376 +oid sha256:f8b4b1a0b5778fd07679a866d00306c9068fc9c72a1512704f87ef071446f772 +size 144974 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 c53f38c882..e773d290b3 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:2fe6ff541b02a70684ddee8ab23bb5e9ebf5ebbf8894736b502046c457e37af0 -size 141012 +oid sha256:6e8566e74889b763b3843c3f1d98e6dd002ddadd67e26a6de7b91dff2bd57932 +size 143450 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 8974b868ff..13d7642a55 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:bd7c918de1d5ae1df41f6ecc8f71ff96c4a7e447958b060c846c130d53ca8a28 -size 148543 +oid sha256:08caf86f4b7242139a1e53a0b8d0736782be02496b858b1af9a1aa6209ec33d3 +size 150903 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 c8009989ed..ed5b5e3b38 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:e47997345500dbde05be43640da93880c4ddbef86c2643e941c0c48a8b2b1333 -size 140148 +oid sha256:b6be795f587d11a9bcb8ffffb097ff6cf2bda119fafda15ea48421d4b4af05e0 +size 142574 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 9ac562354c..e92235eb7c 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:6096e1365d2ab4987d5d1d827e4d2fe8d14cb7977fca35a4d7cc7aad157ba639 -size 140904 +oid sha256:d31b4335075205b9332baf8e04daed8e57e8a5d4b8c145cad91498acaa5f9cf6 +size 143373 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 3b27f79f8f..2db6bea09b 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:b2151e5ad75f2df1358e0717ed73afcc729f1dd83e2c65bd0b4b6a49d58bd5fa -size 142585 +oid sha256:74d7af64a2c2736f16e7f367116d0be0c6512d89bd1fff859f4a99207b9894ee +size 145167 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 12cd318e57..633c7ceebe 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:31cd37875c57588ee2403ea21dcda0ac35b37bbedc11d249ba0bc836b3cbac76 -size 149014 +oid sha256:104b43c0106da2234ceb27250c632e17e9acdb5351cd4768e0a345ac5143f340 +size 151442 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 84061966e9..597638f245 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:739b154f1f4cc6432f317f35be43f484d970a30b186da0170edbab61029c9141 -size 140418 +oid sha256:d6aceaaa2ca90fc3fb6ab3b1af31e8fab8676f737574617a700119a1dbc4bc48 +size 142845 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 9caf623da0..db8b4f61c5 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:c58fc185623d5485722b15ff4da898bd67f2de943b829fb4e2822cc672089e18 -size 153446 +oid sha256:aee3dba6d86d7a042649a39757df61f27ec23fa957ffe8a5cd0c77fac6a3925e +size 156135 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 7853f51db9..1fa64f4708 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:6d203450dd2e6a46f79a0358c8babc758f70eed8d3ce0c1d8d24ca09befb6353 -size 139286 +oid sha256:c29dc6c1af653d70969e73cf1f67c9787a5156b336d7832993d4323ba5505bfe +size 141996 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 9a1250bf34..e66ad5870d 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:09fce25d56a9b6591faa7a54b357d35914c5033a53d354600afaf9cf5235ef48 -size 151615 +oid sha256:9adeb033047491e9eff08f087bd4aa3bb1a3cedca4587d0f04935a10548126be +size 154279 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 a8194c7901..23b32cf68d 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:22d7a6274ec746f9c393b0c30a430672214b95488afe4eb34b95788271750d06 -size 159040 +oid sha256:ad72a84a11b175855cf80c608a0b22fbd3f582b25d511dea35a91e7d860a59f4 +size 162172 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 f05b150164..beb4e13cb5 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:2f8cfe0b07aeae86800264afd18ff065726bc2ef13d091f903278ea94dd07a4d -size 141923 +oid sha256:8bf85afb864f47b9d11ddf00be361e9b60be7f6c92072ffbbbd0c0a75d4d2d9f +size 144907 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 cefd305781..f1af7350c4 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:14ce8cbd856ec966f7c2f6eef97f143012eafb497cf8b44229ca7d626ebc78d7 -size 140541 +oid sha256:bb600b890d2823da01ba95f7a5e1a44c71cf7c87c00dd4178a9939ababa66971 +size 143402 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 a83fd98bd6..40069060f8 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:11609976ab2f65de562f2db39e60e0c6d54105823c36ccff3e8976117ecab4eb -size 148378 +oid sha256:e0e9dad1c0d8cd9ef6a59a05f6d10806c499bae39502c8bacb4655a9c99517f8 +size 150857 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 b697e0f6d3..56ce701944 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:b64cb4cadd68db4a6d7de7cf02f9e9a0bb252a20a412e37f4ee46e6062527549 -size 139622 +oid sha256:bf9232176cb465087624f5e26a7d03cbcff0287000767fc328f71c8e7397a6c5 +size 142471 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 a0e27e3fd8..2d67fad738 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:98fdf3c429ec9b1a49bdfdbbd8d615ef0f7bcd566bda646fc1f45d021bcbca1a -size 140315 +oid sha256:e7b29247d5f3d9a6e598b661542fba680e849352c6fe8bc77f8d206d89ecf49f +size 143071 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 0720ff0498..658dce9da0 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:25f4054db92cad3406b148c98cbc639d968e976174a956a89b73c65eaf0c4f07 -size 142279 +oid sha256:9cfdfc3db13e98e93653e71ed8030eae544a74ce4bacc7d9fcb18165a69d9484 +size 145144 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 d867aa40a5..a0f31948d3 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:5a0eb3967c5e6a3bde67cbd16a62ab74e2331a699c122a51d1743c9f8b59d69f -size 148797 +oid sha256:2138f335a2e17ba9beaf9f9e30f3a02517bf3a3841d48ab9287621f7954fca8e +size 151370 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 2f3709d352..d341c7c055 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:d9b85054f616057e3ae37dd4e0cf1870502c841d77d2a005c06eebcfd1517d98 -size 139799 +oid sha256:d1e0c669adf450d9720df45424dd59c51f2d2a5d867bd166a56f9e7e3cbe0483 +size 142607 From 907bbe7bdf98a2f4f95f64d1f0a191b3f3bc661a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 29 Oct 2024 18:03:08 +0100 Subject: [PATCH 91/93] Remove blank line. --- .../designsystem/atomic/molecules/TextWithLabelMolecule.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/TextWithLabelMolecule.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/TextWithLabelMolecule.kt index b210aeace3..4562332060 100644 --- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/TextWithLabelMolecule.kt +++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/molecules/TextWithLabelMolecule.kt @@ -32,4 +32,3 @@ fun TextWithLabelMolecule( ) } } - From 328ef75d10bbd7ec7ac2d6dfa77042c4f3ddc681 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 29 Oct 2024 21:49:08 +0100 Subject: [PATCH 92/93] Change wording to "Verify identity" --- .../android/features/userprofile/shared/UserProfileView.kt | 2 +- libraries/ui-strings/src/main/res/values/localazy.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt index c87b443d4a..2dac6b7d98 100644 --- a/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt +++ b/features/userprofile/shared/src/main/kotlin/io/element/android/features/userprofile/shared/UserProfileView.kt @@ -106,7 +106,7 @@ fun UserProfileView( private fun VerifyUserSection(state: UserProfileState) { if (state.isVerified.dataOrNull() == false) { ListItem( - headlineContent = { Text(stringResource(R.string.screen_room_member_details_verify_button_title, state.userName ?: state.userId)) }, + headlineContent = { Text(stringResource(CommonStrings.common_verify_identity)) }, supportingContent = { Text(stringResource(R.string.screen_room_member_details_verify_button_subtitle)) }, leadingContent = ListItemContent.Icon(IconSource.Vector(CompoundIcons.Lock())), enabled = false, diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml index 25818fc017..ea1b0f05fd 100644 --- a/libraries/ui-strings/src/main/res/values/localazy.xml +++ b/libraries/ui-strings/src/main/res/values/localazy.xml @@ -254,6 +254,7 @@ Reason: %1$s." "Verification failed" "Verified" "Verify device" + "Verify identity" "Video" "Voice message" "Waiting…" From 67aa87232fa9754a9ceb3a6eb3b37d4eac035e26 Mon Sep 17 00:00:00 2001 From: ElementBot Date: Tue, 29 Oct 2024 20:59:39 +0000 Subject: [PATCH 93/93] Update screenshots --- .../features.userprofile.shared_UserProfileView_Day_0_en.png | 4 ++-- .../features.userprofile.shared_UserProfileView_Day_1_en.png | 4 ++-- .../features.userprofile.shared_UserProfileView_Day_6_en.png | 4 ++-- .../features.userprofile.shared_UserProfileView_Day_7_en.png | 4 ++-- ...features.userprofile.shared_UserProfileView_Night_0_en.png | 4 ++-- ...features.userprofile.shared_UserProfileView_Night_1_en.png | 4 ++-- ...features.userprofile.shared_UserProfileView_Night_6_en.png | 4 ++-- ...features.userprofile.shared_UserProfileView_Night_7_en.png | 4 ++-- 8 files changed, 16 insertions(+), 16 deletions(-) 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 1463fe4516..7abc6e9d3f 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:d5641f60c900c49dfccadfff390fe2e3a72c80e7bb4bbcdecac9a8af97a01c3a -size 28709 +oid sha256:6312b78386b2fef7ba615af754688053c3ab9abcdb441fbb824307694e8af99f +size 28945 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 bac9b2aa0b..35fec3118e 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:049980e2859db4dd266e4162f3859f129d7552ab0894ee88e3a3cf628e6fc606 -size 28993 +oid sha256:3cc6276ebb7179bfd9c8fe56716f286d57967c1e4d75e7265bef04e990ad32fa +size 26945 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 d37f5c5432..4203c40a0b 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:6fdfaa160bbee0b300422392fcd7f335db78864a03d92238eb6843fc2e50b7d1 -size 26417 +oid sha256:4ff5e674b594c87a4ac6c1d1f296a1225d251e8a5882521ec02880dced28981a +size 26545 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 e68b81fd36..6d59710436 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:c33ceaeae591f4f00a1efc71b2fd469b0dabaef6449ef126acb72300b4ae8551 -size 29665 +oid sha256:cd5a1deaa6f393b9cced7404a4a6ead9ffc346e8a08428fb9ae76a1a3244d400 +size 29916 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 fd6f9cd4fa..20083453f5 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:6bfd432edf40bc901959d8209dd500b5102827376fd0d47fe5090882476bf5d5 -size 27771 +oid sha256:da14f6bed942b8a6e464e07ec6d29891749ca8093f5cda20cc7e304205cfce26 +size 28022 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 5793b79841..1306d4e00b 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:08e46fd726c936a781d3ab049c4c60e080c673498ce54a3f956fce42d8ef7b90 -size 28135 +oid sha256:a066ee27ec789680aca81ae3e43a67e7d96d6320f59da9b5e131d07ccc7b3dd3 +size 26046 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 00a087a240..467ddef32c 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:fca592210633e752cccfbcac3373acdd0ca55277fce9473b0e1b7db32ea19a04 -size 24208 +oid sha256:66be60cf12dc3ee2f5eb8c7341759504ed890058d93d2085c9df87ae04cf5f20 +size 24357 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 0cd496c1f1..5234341ca3 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:6058bb4b845ba2a174c1d35baa0e44604ec14e1d618b9a66f6825a58da81e61a -size 28649 +oid sha256:138b17fb048934acb059487edc542ef007fbd4c80bcc958dddf1f933b66340b9 +size 28892