diff --git a/app/src/main/res/xml/locales_config.xml b/app/src/main/res/xml/locales_config.xml
index 2fd8c27c09..73a2ed405c 100644
--- a/app/src/main/res/xml/locales_config.xml
+++ b/app/src/main/res/xml/locales_config.xml
@@ -4,6 +4,7 @@
+
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 12b61b2ee6..043dc75a92 100644
--- a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt
+++ b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt
@@ -50,11 +50,11 @@ import io.element.android.features.createroom.api.CreateRoomEntryPoint
import io.element.android.features.ftue.api.FtueEntryPoint
import io.element.android.features.ftue.api.state.FtueService
import io.element.android.features.ftue.api.state.FtueState
+import io.element.android.features.home.api.HomeEntryPoint
import io.element.android.features.logout.api.LogoutEntryPoint
import io.element.android.features.preferences.api.PreferencesEntryPoint
import io.element.android.features.roomdirectory.api.RoomDescription
import io.element.android.features.roomdirectory.api.RoomDirectoryEntryPoint
-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
@@ -91,6 +91,15 @@ import java.time.Duration
import java.time.Instant
import java.util.Optional
import java.util.UUID
+import kotlin.collections.List
+import kotlin.collections.any
+import kotlin.collections.emptyList
+import kotlin.collections.first
+import kotlin.collections.forEach
+import kotlin.collections.listOf
+import kotlin.collections.mapNotNull
+import kotlin.collections.plus
+import kotlin.collections.setOf
import kotlin.time.Duration.Companion.minutes
import kotlin.time.Duration.Companion.seconds
import kotlin.time.toKotlinDuration
@@ -99,7 +108,7 @@ import kotlin.time.toKotlinDuration
class LoggedInFlowNode @AssistedInject constructor(
@Assisted buildContext: BuildContext,
@Assisted plugins: List,
- private val roomListEntryPoint: RoomListEntryPoint,
+ private val homeEntryPoint: HomeEntryPoint,
private val preferencesEntryPoint: PreferencesEntryPoint,
private val createRoomEntryPoint: CreateRoomEntryPoint,
private val appNavigationStateService: AppNavigationStateService,
@@ -162,7 +171,7 @@ class LoggedInFlowNode @AssistedInject constructor(
// Otherwise, the RoomList UI may be incorrectly displayed on top
withTimeout(5.seconds) {
backstack.elements.first { elements ->
- elements.any { it.key.navTarget == NavTarget.RoomList }
+ elements.any { it.key.navTarget == NavTarget.Home }
}
}
@@ -188,7 +197,7 @@ class LoggedInFlowNode @AssistedInject constructor(
when (ftueState) {
is FtueState.Unknown -> Unit // Nothing to do
is FtueState.Incomplete -> backstack.safeRoot(NavTarget.Ftue)
- is FtueState.Complete -> backstack.safeRoot(NavTarget.RoomList)
+ is FtueState.Complete -> backstack.safeRoot(NavTarget.Home)
}
}
.launchIn(lifecycleScope)
@@ -215,7 +224,7 @@ class LoggedInFlowNode @AssistedInject constructor(
data object LoggedInPermanent : NavTarget
@Parcelize
- data object RoomList : NavTarget
+ data object Home : NavTarget
@Parcelize
data class Room(
@@ -272,8 +281,8 @@ class LoggedInFlowNode @AssistedInject constructor(
}
createNode(buildContext, listOf(callback))
}
- NavTarget.RoomList -> {
- val callback = object : RoomListEntryPoint.Callback {
+ NavTarget.Home -> {
+ val callback = object : HomeEntryPoint.Callback {
override fun onRoomClick(roomId: RoomId) {
backstack.push(NavTarget.Room(roomId.toRoomIdOrAlias()))
}
@@ -306,7 +315,7 @@ class LoggedInFlowNode @AssistedInject constructor(
backstack.push(NavTarget.LogoutForNativeSlidingSyncMigrationNeeded)
}
}
- roomListEntryPoint
+ homeEntryPoint
.nodeBuilder(this, buildContext)
.callback(callback)
.build()
@@ -490,7 +499,7 @@ class LoggedInFlowNode @AssistedInject constructor(
clearBackstack: Boolean,
) {
waitForNavTargetAttached { navTarget ->
- navTarget is NavTarget.RoomList
+ navTarget is NavTarget.Home
}
attachChild {
val roomNavTarget = NavTarget.Room(
@@ -507,7 +516,7 @@ class LoggedInFlowNode @AssistedInject constructor(
suspend fun attachUser(userId: UserId) {
waitForNavTargetAttached { navTarget ->
- navTarget is NavTarget.RoomList
+ navTarget is NavTarget.Home
}
attachChild {
backstack.push(
@@ -520,7 +529,7 @@ class LoggedInFlowNode @AssistedInject constructor(
internal suspend fun attachIncomingShare(intent: Intent) {
waitForNavTargetAttached { navTarget ->
- navTarget is NavTarget.RoomList
+ navTarget is NavTarget.Home
}
attachChild {
backstack.push(
@@ -558,7 +567,7 @@ private class AttachRoomOperation(
return if (clearBackstack) {
// Makes sure the room list target is alone in the backstack and stashed
elements.mapNotNull { element ->
- if (element.key.navTarget == LoggedInFlowNode.NavTarget.RoomList) {
+ if (element.key.navTarget == LoggedInFlowNode.NavTarget.Home) {
element.transitionTo(STASHED, this)
} else {
null
diff --git a/appnav/src/main/res/values-da/translations.xml b/appnav/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..ef5025ed61
--- /dev/null
+++ b/appnav/src/main/res/values-da/translations.xml
@@ -0,0 +1,6 @@
+
+
+ "Log ud og opgradér"
+ "%1$s understøtter ikke længere den gamle protokol. Log ud og log ind igen for at fortsætte med at bruge appen."
+ "Din hjemmeserver understøtter ikke længere den gamle protokol. Log ud og log ind igen for at fortsætte med at bruge appen."
+
diff --git a/features/analytics/api/src/main/res/values-da/translations.xml b/features/analytics/api/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..e302bae626
--- /dev/null
+++ b/features/analytics/api/src/main/res/values-da/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "Del anonyme brugsdata for at hjælpe os med at identificere problemer."
+ "Du kan læse alle vores vilkår %1$s."
+ "her"
+ "Del analysedata"
+
diff --git a/features/analytics/impl/src/main/res/values-da/translations.xml b/features/analytics/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..971a12ae37
--- /dev/null
+++ b/features/analytics/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,10 @@
+
+
+ "Vi vil ikke registrere eller profilere nogen personlige data"
+ "Del anonyme brugsdata for at hjælpe os med at identificere problemer."
+ "Du kan læse alle vores vilkår %1$s."
+ "her"
+ "Du kan slå dette fra når som helst"
+ "Vi deler ikke dine data med tredjeparter"
+ "Hjælp med at forbedre %1$s"
+
diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PictureInPictureStateProvider.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PictureInPictureStateProvider.kt
index cab5858e4d..f2afcd0196 100644
--- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PictureInPictureStateProvider.kt
+++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/pip/PictureInPictureStateProvider.kt
@@ -7,16 +7,6 @@
package io.element.android.features.call.impl.pip
-import androidx.compose.ui.tooling.preview.PreviewParameterProvider
-
-open class PictureInPictureStateProvider : PreviewParameterProvider {
- override val values: Sequence
- get() = sequenceOf(
- aPictureInPictureState(supportPip = true),
- aPictureInPictureState(supportPip = true, isInPictureInPicture = true),
- )
-}
-
fun aPictureInPictureState(
supportPip: Boolean = false,
isInPictureInPicture: Boolean = false,
diff --git a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt
index 7547d8e7c7..88d2e81f8b 100644
--- a/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt
+++ b/features/call/impl/src/main/kotlin/io/element/android/features/call/impl/ui/CallScreenView.kt
@@ -11,6 +11,7 @@ import android.annotation.SuppressLint
import android.util.Log
import android.view.ViewGroup
import android.webkit.ConsoleMessage
+import android.webkit.JavascriptInterface
import android.webkit.PermissionRequest
import android.webkit.WebChromeClient
import android.webkit.WebView
@@ -19,7 +20,6 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.consumeWindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
-import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
@@ -32,11 +32,9 @@ import androidx.compose.ui.platform.LocalInspectionMode
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.viewinterop.AndroidView
-import io.element.android.compound.tokens.generated.CompoundIcons
import io.element.android.features.call.impl.R
import io.element.android.features.call.impl.pip.PictureInPictureEvents
import io.element.android.features.call.impl.pip.PictureInPictureState
-import io.element.android.features.call.impl.pip.PictureInPictureStateProvider
import io.element.android.features.call.impl.pip.aPictureInPictureState
import io.element.android.features.call.impl.utils.InvalidAudioDeviceReason
import io.element.android.features.call.impl.utils.WebViewAudioManager
@@ -44,13 +42,11 @@ import io.element.android.features.call.impl.utils.WebViewPipController
import io.element.android.features.call.impl.utils.WebViewWidgetMessageInterceptor
import io.element.android.libraries.architecture.AsyncData
import io.element.android.libraries.designsystem.components.ProgressDialog
-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
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
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.ui.strings.CommonStrings
import timber.log.Timber
@@ -60,7 +56,6 @@ interface CallScreenNavigator {
fun close()
}
-@OptIn(ExperimentalMaterial3Api::class)
@Composable
internal fun CallScreenView(
state: CallScreenState,
@@ -78,19 +73,6 @@ internal fun CallScreenView(
Scaffold(
modifier = modifier,
- topBar = {
- if (!pipState.isInPictureInPicture) {
- TopAppBar(
- title = { Text(stringResource(R.string.element_call)) },
- navigationIcon = {
- BackButton(
- imageVector = if (pipState.supportPip) CompoundIcons.ArrowLeft() else CompoundIcons.Close(),
- onClick = ::handleBack,
- )
- }
- )
- }
- }
) { padding ->
BackHandler {
handleBack()
@@ -127,9 +109,11 @@ internal fun CallScreenView(
requestPermissions(androidPermissions.toTypedArray(), callback)
},
onCreateWebView = { webView ->
+ webView.addBackHandler(onBackPressed = ::handleBack)
val interceptor = WebViewWidgetMessageInterceptor(
webView = webView,
onUrlLoaded = { url ->
+ webView.evaluateJavascript("controls.onBackButtonPressed = () => { backHandler.onBackPressed() }", null)
if (webViewAudioManager?.isInCallMode?.get() == false) {
Timber.d("URL $url is loaded, starting in-call audio mode")
webViewAudioManager?.onCallStarted()
@@ -282,6 +266,17 @@ private fun WebView.setup(
}
}
+private fun WebView.addBackHandler(onBackPressed: () -> Unit) {
+ addJavascriptInterface(
+ object {
+ @Suppress("unused")
+ @JavascriptInterface
+ fun onBackPressed() = onBackPressed()
+ },
+ "backHandler"
+ )
+}
+
@PreviewsDayNight
@Composable
internal fun CallScreenViewPreview(
@@ -294,18 +289,6 @@ internal fun CallScreenViewPreview(
)
}
-@PreviewsDayNight
-@Composable
-internal fun CallScreenPipViewPreview(
- @PreviewParameter(PictureInPictureStateProvider::class) state: PictureInPictureState,
-) = ElementPreview {
- CallScreenView(
- state = aCallScreenState(),
- pipState = state,
- requestPermissions = { _, _ -> },
- )
-}
-
@PreviewsDayNight
@Composable
internal fun InvalidAudioDeviceDialogPreview() = ElementPreview {
diff --git a/features/call/impl/src/main/res/values-cs/translations.xml b/features/call/impl/src/main/res/values-cs/translations.xml
index 6272a9e0ec..5d458dcc1b 100644
--- a/features/call/impl/src/main/res/values-cs/translations.xml
+++ b/features/call/impl/src/main/res/values-cs/translations.xml
@@ -3,5 +3,6 @@
"Probíhající hovor"
"Klepněte pro návrat k hovoru"
"☎️ Probíhá hovor"
+ "Element Call nepodporuje používání Bluetooth zvukových zařízení v této verzi systému Android. Vyberte jiné zvukové zařízení."
"Příchozí Element Call"
diff --git a/features/call/impl/src/main/res/values-da/translations.xml b/features/call/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..9bb8c30af2
--- /dev/null
+++ b/features/call/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,8 @@
+
+
+ "Igangværende opkald"
+ "Tryk for at vende tilbage til opkaldet"
+ "☎️ Opkald i gang"
+ "Element Call understøtter desværre ikke brug af Bluetooth-lydenheder i denne Android-version. Vælg venligst en anden lydenhed."
+ "Indgående Element opkald"
+
diff --git a/features/call/impl/src/main/res/values-el/translations.xml b/features/call/impl/src/main/res/values-el/translations.xml
index 3dd54c238a..fa80c689da 100644
--- a/features/call/impl/src/main/res/values-el/translations.xml
+++ b/features/call/impl/src/main/res/values-el/translations.xml
@@ -3,5 +3,6 @@
"Συνεχής κλήση"
"Πάτα για να επιστρέψεις στην κλήση"
"☎️ Κλήση σε εξέλιξη"
+ "Το Element Call δεν υποστηρίζει τη χρήση συσκευών ήχου Bluetooth σε αυτήν την έκδοση Android. Επέλεξε μια διαφορετική συσκευή ήχου."
"Εισερχόμενη κλήση Element"
diff --git a/features/call/impl/src/main/res/values-et/translations.xml b/features/call/impl/src/main/res/values-et/translations.xml
index 05b36cedbc..becc9e5565 100644
--- a/features/call/impl/src/main/res/values-et/translations.xml
+++ b/features/call/impl/src/main/res/values-et/translations.xml
@@ -3,5 +3,6 @@
"Käimasolev kõne"
"Kõne juurde naasmiseks klõpsa"
"☎️ Kõne on pooleli"
+ "Element Call ei võimalda selles Androidi versioonis Bluetoothi heliseadmete kasutamist. Palun vali mõni muu heliseade."
"Sissetulev Element Calli kõne"
diff --git a/features/call/impl/src/main/res/values-hu/translations.xml b/features/call/impl/src/main/res/values-hu/translations.xml
index 18f735cff7..62d359c2bb 100644
--- a/features/call/impl/src/main/res/values-hu/translations.xml
+++ b/features/call/impl/src/main/res/values-hu/translations.xml
@@ -3,5 +3,6 @@
"Folyamatban lévő hívás"
"Koppintson a híváshoz való visszatéréshez"
"☎️ Hívás folyamatban"
+ "Az Element Call nem támogatja a Bluetooth hangeszközök használatát ebben az Android-verzióban. Válasszon másik hangeszközt."
"Bejövő Element hívás"
diff --git a/features/call/impl/src/main/res/values-pt/translations.xml b/features/call/impl/src/main/res/values-pt/translations.xml
index 58ee9d523f..639726bd07 100644
--- a/features/call/impl/src/main/res/values-pt/translations.xml
+++ b/features/call/impl/src/main/res/values-pt/translations.xml
@@ -3,5 +3,6 @@
"Chamada em curso"
"Toca para voltar à chamada"
"☎️ Chamada em curso"
+ "As chamadas do Element não permitem o uso de dispositivos de áudio Bluetooth nesta versão do Android. Por favor, seleciona outro dispositivo."
"A receber chamada da Element"
diff --git a/features/call/impl/src/main/res/values-sk/translations.xml b/features/call/impl/src/main/res/values-sk/translations.xml
index 71188379c2..4e5b7db9f7 100644
--- a/features/call/impl/src/main/res/values-sk/translations.xml
+++ b/features/call/impl/src/main/res/values-sk/translations.xml
@@ -3,5 +3,6 @@
"Prebiehajúci hovor"
"Ťuknutím sa vrátite k hovoru"
"☎️ Prebieha hovor"
+ "Element Call nepodporuje používanie zvukových zariadení Bluetooth v tejto verzii systému Android. Vyberte iné zvukové zariadenie."
"Prichádzajúci hovor Element Call"
diff --git a/features/call/impl/src/main/res/values-uk/translations.xml b/features/call/impl/src/main/res/values-uk/translations.xml
index 9d63049ddc..f03df23bbe 100644
--- a/features/call/impl/src/main/res/values-uk/translations.xml
+++ b/features/call/impl/src/main/res/values-uk/translations.xml
@@ -3,5 +3,6 @@
"Поточний виклик"
"Торкніться, щоб повернутися до виклику"
"☎️ Триває виклик"
+ "Element Call не підтримує використання аудіопристроїв Bluetooth у цій версії Android. Виберіть інший аудіопристрій."
"Вхідний виклик Element"
diff --git a/features/call/impl/src/test/kotlin/io/element/android/features/call/impl/ui/CallScreenViewTest.kt b/features/call/impl/src/test/kotlin/io/element/android/features/call/impl/ui/CallScreenViewTest.kt
deleted file mode 100644
index 55ed644c47..0000000000
--- a/features/call/impl/src/test/kotlin/io/element/android/features/call/impl/ui/CallScreenViewTest.kt
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright 2024 New Vector Ltd.
- *
- * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
- * Please see LICENSE files in the repository root for full details.
- */
-
-package io.element.android.features.call.impl.ui
-
-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.call.impl.pip.PictureInPictureEvents
-import io.element.android.features.call.impl.pip.PictureInPictureState
-import io.element.android.features.call.impl.pip.aPictureInPictureState
-import io.element.android.tests.testutils.EventsRecorder
-import io.element.android.tests.testutils.pressBack
-import org.junit.Rule
-import org.junit.Test
-import org.junit.rules.TestRule
-import org.junit.runner.RunWith
-
-@RunWith(AndroidJUnit4::class)
-class CallScreenViewTest {
- @get:Rule val rule = createAndroidComposeRule()
-
- @Test
- fun `clicking on back when pip is not supported hangs up`() {
- val eventsRecorder = EventsRecorder()
- val pipEventsRecorder = EventsRecorder()
- rule.setCallScreenView(
- aCallScreenState(
- eventSink = eventsRecorder
- ),
- aPictureInPictureState(
- supportPip = false,
- eventSink = pipEventsRecorder,
- ),
- )
- rule.pressBack()
- eventsRecorder.assertSize(2)
- eventsRecorder.assertTrue(0) { it is CallScreenEvents.SetupMessageChannels }
- eventsRecorder.assertTrue(1) { it == CallScreenEvents.Hangup }
- pipEventsRecorder.assertSize(1)
- pipEventsRecorder.assertTrue(0) { it is PictureInPictureEvents.SetPipController }
- }
-
- @Test
- fun `clicking on back when pip is supported enables PiP`() {
- val eventsRecorder = EventsRecorder()
- val pipEventsRecorder = EventsRecorder()
- rule.setCallScreenView(
- aCallScreenState(
- eventSink = eventsRecorder
- ),
- aPictureInPictureState(
- supportPip = true,
- eventSink = pipEventsRecorder,
- ),
- )
- rule.pressBack()
- eventsRecorder.assertSize(1)
- eventsRecorder.assertTrue(0) { it is CallScreenEvents.SetupMessageChannels }
- pipEventsRecorder.assertSize(2)
- pipEventsRecorder.assertTrue(0) { it is PictureInPictureEvents.SetPipController }
- pipEventsRecorder.assertTrue(1) { it == PictureInPictureEvents.EnterPictureInPicture }
- }
-}
-
-private fun AndroidComposeTestRule.setCallScreenView(
- state: CallScreenState,
- pipState: PictureInPictureState,
- requestPermissions: (Array, RequestPermissionCallback) -> Unit = { _, _ -> },
-) {
- setContent {
- CallScreenView(
- state = state,
- pipState = pipState,
- requestPermissions = requestPermissions,
- )
- }
-}
diff --git a/features/createroom/impl/src/main/res/values-bg/translations.xml b/features/createroom/impl/src/main/res/values-bg/translations.xml
index 1de1db624a..fa6dae371c 100644
--- a/features/createroom/impl/src/main/res/values-bg/translations.xml
+++ b/features/createroom/impl/src/main/res/values-bg/translations.xml
@@ -3,10 +3,21 @@
"Нова стая"
"Поканване на хора"
"Възникна грешка при създаването на стаята"
- "Съобщенията в тази стая са шифровани. Шифроването не може да бъде изключено впоследствие."
- "Частна стая (само с покана)"
- "Съобщенията не са шифровани и всеки може да ги прочете. Можете да активирате шифроването на по-късна дата."
+ "Само поканени хора имат достъп до тази стая. Всички съобщения са шифровани от край до край."
+ "Частна стая"
+ "Всеки може да намери тази стая.
+Можете да промените това по всяко време в настройките на стаята."
+ "Общодостъпна стая"
+ "Всеки може да се присъедини към тази стая"
+ "Всеки"
+ "За да бъде тази стая видима в директорията на общодостъпните стаи, ще ви е необходим адрес на стаята."
"Име на стаята"
+ "Видимост на стаята"
"Създаване на стая"
"Тема за разговор (незадължително)"
+ "Присъединяване към стая по адрес"
+ "Не е валиден адрес"
+ "Въведете…"
+ "Стаята не е намерена"
+ "напр. #room-name:matrix.org"
diff --git a/features/createroom/impl/src/main/res/values-da/translations.xml b/features/createroom/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..c9c182b474
--- /dev/null
+++ b/features/createroom/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,30 @@
+
+
+ "Nyt rum"
+ "Invitér folk"
+ "Der opstod en fejl ved oprettelsen af rummet"
+ "Kun inviterede personer kan få adgang til dette rum. Alle meddelelser er ende-til-ende krypteret."
+ "Privat rum"
+ "Alle kan finde dette rum.
+Du kan ændre dette når som helst i rummets indstillinger."
+ "Offentligt rum"
+ "Alle kan deltage i dette rum"
+ "Enhver"
+ "Adgang til rummet"
+ "Alle kan bede om at deltage i rummet, men en administrator eller en moderator skal acceptere anmodningen"
+ "Spørg om at deltage"
+ "Hvis dette rum skal være synligt i det offentlige register, skal du bruge en rum-adresse."
+ "Rummets adresse"
+ "Navn på rum"
+ "Rummets synlighed"
+ "Opret et rum"
+ "Emne (valgfrit)"
+ "Register over rum"
+ "Der opstod en fejl under forsøget på at starte en samtale"
+ "Tilslut dig rummet med adressen"
+ "Ikke en gyldig adresse"
+ "Indtast…"
+ "Matchende rum fundet"
+ "Rum ikke fundet"
+ "f.eks. #rummets-navn:matrix.org"
+
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 a225550684..c036b43a05 100644
--- a/features/createroom/impl/src/main/res/values-el/translations.xml
+++ b/features/createroom/impl/src/main/res/values-el/translations.xml
@@ -1,30 +1,30 @@
- "Νέο δωμάτιο"
+ "Νέα αίθουσα"
"Πρόσκληση ατόμων"
- "Παρουσιάστηκε σφάλμα κατά τη δημιουργία του δωματίου"
- "Μόνο άτομα που έχουν προσκληθεί μπορούν να έχουν πρόσβαση σε αυτό το δωμάτιο. Όλα τα μηνύματα είναι κρυπτογραφημένα από άκρο σε άκρο."
- "Ιδιωτικό δωμάτιο"
- "Ο καθένας μπορεί να βρει αυτό το δωμάτιο.
-Μπορείς να το αλλάξεις ανά πάσα στιγμή στις ρυθμίσεις δωματίου."
- "Δημόσιο δωμάτιο"
- "Οποιοσδήποτε μπορεί να συμμετάσχει σε αυτό το δωμάτιο"
+ "Προέκυψε σφάλμα κατά τη δημιουργία της αίθουσας"
+ "Μόνο τα άτομα που έχουν προσκληθεί μπορούν να έχουν πρόσβαση σε αυτή την αίθουσα. Όλα τα μηνύματα είναι κρυπτογραφημένα από άκρο σε άκρο."
+ "Ιδιωτική αίθουσα"
+ "Ο καθένας μπορεί να βρει αυτή την αίθουσα.
+Αυτό μπορείτε να το αλλάξετε ανά πάσα στιγμή στις ρυθμίσεις της αίθουσας."
+ "Δημόσια αίθουσα"
+ "Οποιοσδήποτε μπορεί να συμμετάσχει σε αυτή την αίθουσα"
"Οποιοσδήποτε"
- "Πρόσβαση Δωματίου"
- "Οποιοσδήποτε μπορεί να ζητήσει να συμμετάσχει στο δωμάτιο, αλλά ένας διαχειριστής ή συντονιστής θα πρέπει να αποδεχθεί το αίτημα"
+ "Πρόσβαση στην Αίθουσα"
+ "Οποιοσδήποτε μπορεί να ζητήσει να συμμετάσχει στην αίθουσα, αλλά ένας διαχειριστής ή ένας συντονιστής θα πρέπει να αποδεχτεί το αίτημα"
"Αίτημα συμμετοχής"
- "Για να είναι ορατό αυτό το δωμάτιο στον κατάλογο των δημόσιων δωματίων, θα χρειαστείς μια διεύθυνση δωματίου."
- "Διεύθυνση δωματίου"
- "Όνομα δωματίου"
- "Ορατότητα δωματίου"
- "Δημιούργησε ένα δωμάτιο"
+ "Για να είναι ορατή αυτή η αίθουσα στον δημόσιο κατάλογο αιθουσών, θα χρειαστείτε μια διεύθυνση αίθουσας."
+ "Διεύθυνση αίθουσας"
+ "Όνομα αίθουσας"
+ "Ορατότητα αίθουσας"
+ "Δημιουργία αίθουσας"
"Θέμα (προαιρετικό)"
- "Κατάλογος δωματίων"
+ "Κατάλογος αιθουσών"
"Παρουσιάστηκε σφάλμα κατά την προσπάθεια έναρξης μιας συνομιλίας"
- "Συμμετοχή σε δωμάτιο μέσω διεύθυνσης"
+ "Συμμετοχή σε αίθουσα μέσω διεύθυνσης"
"Μη έγκυρη διεύθυνση"
"Εισάγετε…"
- "Βρέθηκε το αντίστοιχο δωμάτιο"
- "Το δωμάτιο δε βρέθηκε"
- "π.χ. #όνομα-δωματίου:matrix.org"
+ "Βρέθηκε η αντίστοιχη αίθουσα"
+ "Η αίθουσα δεν βρέθηκε"
+ "π.χ. #όνομα-αίθουσας:matrix.org"
diff --git a/features/deactivation/impl/src/main/res/values-bg/translations.xml b/features/deactivation/impl/src/main/res/values-bg/translations.xml
new file mode 100644
index 0000000000..34ad5b4772
--- /dev/null
+++ b/features/deactivation/impl/src/main/res/values-bg/translations.xml
@@ -0,0 +1,5 @@
+
+
+ "Моля, потвърдете, че искате да деактивирате акаунта си. Това действие не може да бъде отменено."
+ "Деактивиране на акаунта"
+
diff --git a/features/deactivation/impl/src/main/res/values-da/translations.xml b/features/deactivation/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..e9d5d9fdda
--- /dev/null
+++ b/features/deactivation/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,14 @@
+
+
+ "Bekræft venligst, at du vil deaktivere din konto. Denne handling kan ikke fortrydes."
+ "Slet alle mine beskeder"
+ "Advarsel: Fremtidige brugere kan muligvis se ufuldstændige samtaler."
+ "Deaktivering af din konto er %1$s, det vil:"
+ "irreversibel"
+ "%1$s din konto (du kan ikke logge ind igen, og dit ID kan ikke genbruges)."
+ "Deaktiver permanent"
+ "Fjern dig fra alle samtalerum"
+ "Slette dine kontooplysninger fra vores identitetsserver."
+ "Dine beskeder vil stadig være synlige for registrerede brugere, men vil ikke være tilgængelige for nye eller uregistrerede brugere, hvis du vælger at slette dem."
+ "Deaktiver konto"
+
diff --git a/features/deactivation/impl/src/main/res/values-el/translations.xml b/features/deactivation/impl/src/main/res/values-el/translations.xml
index 53bd1bbbea..ac645f3063 100644
--- a/features/deactivation/impl/src/main/res/values-el/translations.xml
+++ b/features/deactivation/impl/src/main/res/values-el/translations.xml
@@ -7,7 +7,7 @@
"μη αναστρέψιμο"
"%1$s τον λογαριασμό σου (δεν μπορείς να συνδεθείς ξανά και το αναγνωριστικό σου δεν μπορεί να επαναχρησιμοποιηθεί)."
"Μόνιμη απενεργοποίηση"
- "Σε αφαιρέσει από όλα τα δωμάτια συνομιλίας."
+ "Αποχώρησή σας από όλες τις αίθουσες συνομιλίας."
"Διαγράψει τα στοιχεία του λογαριασμού σου από τον διακομιστή ταυτότητάς μας."
"Τα μηνύματά σου θα εξακολουθούν να είναι ορατά στους εγγεγραμμένους χρήστες, αλλά δεν θα είναι διαθέσιμα σε νέους ή μη εγγεγραμμένους χρήστες εάν επιλέξεις να τα διαγράψεις."
"Απενεργοποίηση λογαριασμού"
diff --git a/features/ftue/impl/src/main/res/values-bg/translations.xml b/features/ftue/impl/src/main/res/values-bg/translations.xml
index 180c2bb7c3..7918ac7a0c 100644
--- a/features/ftue/impl/src/main/res/values-bg/translations.xml
+++ b/features/ftue/impl/src/main/res/values-bg/translations.xml
@@ -1,5 +1,12 @@
+ "Не можете да потвърдите?"
+ "Потвърдете това устройство, за да настроите защитени съобщения."
+ "Потвърдете самоличността си"
+ "Използване на друго устройство"
+ "Използване на ключ за възстановяване"
+ "Устройството е потвърдено"
+ "Използване на друго устройство"
"Можете да промените настройките си по-късно."
"Разрешете известията и никога не пропускайте съобщение"
"Въвеждане на ключ за възстановяване"
diff --git a/features/ftue/impl/src/main/res/values-da/translations.xml b/features/ftue/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..b1ae89a3b4
--- /dev/null
+++ b/features/ftue/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,22 @@
+
+
+ "Kan ikke bekræfte?"
+ "Opret en ny gendannelsesnøgle"
+ "Verificér denne enhed for at konfigurere sikre meddelelser."
+ "Bekræft din identitet"
+ "Brug en anden enhed"
+ "Brug gendannelsesnøgle"
+ "Nu kan du læse eller sende beskeder sikkert, og enhver du samtaler med kan også stole på denne enhed."
+ "Enhed verificeret"
+ "Brug en anden enhed"
+ "Venter på en anden enhed…"
+ "Du kan ændre dine indstillinger senere."
+ "Tillad notifikationer, og gå aldrig glip af en besked"
+ "Indtast gendannelsesnøgle"
+ "Opkald, afstemninger, søgninger og mere vil blive tilføjet senere på året."
+ "Beskedhistorik for krypterede rum er ikke tilgængelig endnu."
+ "Vi vil meget gerne høre fra dig. Fortæl os din mening via indstillingssiden."
+ "Lad os komme i gang!"
+ "Her er, hvad du har brug for at vide:"
+ "Velkommen til %1$s!"
+
diff --git a/features/ftue/impl/src/main/res/values-el/translations.xml b/features/ftue/impl/src/main/res/values-el/translations.xml
index 82686850eb..585f5f0952 100644
--- a/features/ftue/impl/src/main/res/values-el/translations.xml
+++ b/features/ftue/impl/src/main/res/values-el/translations.xml
@@ -14,7 +14,7 @@
"Επέτρεψε τις ειδοποιήσεις και μην χάσεις ούτε ένα μήνυμα"
"Εισαγωγή κλειδιού ανάκτησης"
"Κλήσεις, δημοσκοπήσεις, αναζήτηση και άλλα, θα προστεθούν αργότερα φέτος."
- "Το ιστορικό μηνυμάτων για κρυπτογραφημένα δωμάτια δεν είναι ακόμα διαθέσιμο."
+ "Το ιστορικό μηνυμάτων για κρυπτογραφημένες αίθουσες δεν είναι ακόμη διαθέσιμο."
"Θα θέλαμε να ακούσουμε τη γνώμη σου, πες μας τη γνώμη σου μέσω της σελίδας ρυθμίσεων."
"Πάμε!"
"Να τί πρέπει να ξέρεις:"
diff --git a/features/roomlist/api/build.gradle.kts b/features/home/api/build.gradle.kts
similarity index 86%
rename from features/roomlist/api/build.gradle.kts
rename to features/home/api/build.gradle.kts
index e7486a80c0..c1aee95e67 100644
--- a/features/roomlist/api/build.gradle.kts
+++ b/features/home/api/build.gradle.kts
@@ -9,7 +9,7 @@ plugins {
}
android {
- namespace = "io.element.android.features.roomlist.api"
+ namespace = "io.element.android.features.home.api"
}
dependencies {
diff --git a/features/roomlist/api/src/main/kotlin/io/element/android/features/roomlist/api/RoomListEntryPoint.kt b/features/home/api/src/main/kotlin/io/element/android/features/home/api/HomeEntryPoint.kt
similarity index 91%
rename from features/roomlist/api/src/main/kotlin/io/element/android/features/roomlist/api/RoomListEntryPoint.kt
rename to features/home/api/src/main/kotlin/io/element/android/features/home/api/HomeEntryPoint.kt
index 44a44f26cb..0f6ee581bb 100644
--- a/features/roomlist/api/src/main/kotlin/io/element/android/features/roomlist/api/RoomListEntryPoint.kt
+++ b/features/home/api/src/main/kotlin/io/element/android/features/home/api/HomeEntryPoint.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.api
+package io.element.android.features.home.api
import com.bumble.appyx.core.modality.BuildContext
import com.bumble.appyx.core.node.Node
@@ -13,7 +13,7 @@ import com.bumble.appyx.core.plugin.Plugin
import io.element.android.libraries.architecture.FeatureEntryPoint
import io.element.android.libraries.matrix.api.core.RoomId
-interface RoomListEntryPoint : FeatureEntryPoint {
+interface HomeEntryPoint : FeatureEntryPoint {
fun nodeBuilder(parentNode: Node, buildContext: BuildContext): NodeBuilder
interface NodeBuilder {
fun callback(callback: Callback): NodeBuilder
diff --git a/features/roomlist/impl/build.gradle.kts b/features/home/impl/build.gradle.kts
similarity index 96%
rename from features/roomlist/impl/build.gradle.kts
rename to features/home/impl/build.gradle.kts
index e0d795efd6..5ea238081b 100644
--- a/features/roomlist/impl/build.gradle.kts
+++ b/features/home/impl/build.gradle.kts
@@ -13,7 +13,7 @@ plugins {
}
android {
- namespace = "io.element.android.features.roomlist.impl"
+ namespace = "io.element.android.features.home.impl"
testOptions {
unitTests {
@@ -52,7 +52,7 @@ dependencies {
implementation(projects.services.analytics.api)
implementation(libs.androidx.datastore.preferences)
implementation(projects.features.reportroom.api)
- api(projects.features.roomlist.api)
+ api(projects.features.home.api)
testImplementation(libs.androidx.compose.ui.test.junit)
testReleaseImplementation(libs.androidx.compose.ui.test.manifest)
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/DefaultRoomListEntryPoint.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/DefaultHomeEntryPoint.kt
similarity index 62%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/DefaultRoomListEntryPoint.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/DefaultHomeEntryPoint.kt
index cb97dda171..3fe5c533d7 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/DefaultRoomListEntryPoint.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/DefaultHomeEntryPoint.kt
@@ -5,30 +5,30 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl
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.roomlist.api.RoomListEntryPoint
+import io.element.android.features.home.api.HomeEntryPoint
import io.element.android.libraries.architecture.createNode
import io.element.android.libraries.di.AppScope
import javax.inject.Inject
@ContributesBinding(AppScope::class)
-class DefaultRoomListEntryPoint @Inject constructor() : RoomListEntryPoint {
- override fun nodeBuilder(parentNode: Node, buildContext: BuildContext): RoomListEntryPoint.NodeBuilder {
+class DefaultHomeEntryPoint @Inject constructor() : HomeEntryPoint {
+ override fun nodeBuilder(parentNode: Node, buildContext: BuildContext): HomeEntryPoint.NodeBuilder {
val plugins = ArrayList()
- return object : RoomListEntryPoint.NodeBuilder {
- override fun callback(callback: RoomListEntryPoint.Callback): RoomListEntryPoint.NodeBuilder {
+ return object : HomeEntryPoint.NodeBuilder {
+ override fun callback(callback: HomeEntryPoint.Callback): HomeEntryPoint.NodeBuilder {
plugins += callback
return this
}
override fun build(): Node {
- return parentNode.createNode(buildContext, plugins)
+ return parentNode.createNode(buildContext, plugins)
}
}
}
diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeEvents.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeEvents.kt
new file mode 100644
index 0000000000..0762bbfb5a
--- /dev/null
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeEvents.kt
@@ -0,0 +1,10 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.features.home.impl
+
+sealed interface HomeEvents
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListFlowNode.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeFlowNode.kt
similarity index 82%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListFlowNode.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeFlowNode.kt
index 208a90e606..4a7e5eb258 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListFlowNode.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeFlowNode.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl
import android.app.Activity
import android.os.Parcelable
@@ -24,14 +24,14 @@ import dagger.assisted.Assisted
import dagger.assisted.AssistedInject
import im.vector.app.features.analytics.plan.MobileScreen
import io.element.android.anvilannotations.ContributesNode
+import io.element.android.features.home.api.HomeEntryPoint
+import io.element.android.features.home.impl.components.RoomListMenuAction
+import io.element.android.features.home.impl.model.RoomListRoomSummary
import io.element.android.features.invite.api.InviteData
import io.element.android.features.invite.api.acceptdecline.AcceptDeclineInviteView
import io.element.android.features.invite.api.declineandblock.DeclineInviteAndBlockEntryPoint
import io.element.android.features.logout.api.direct.DirectLogoutView
import io.element.android.features.reportroom.api.ReportRoomEntryPoint
-import io.element.android.features.roomlist.api.RoomListEntryPoint
-import io.element.android.features.roomlist.impl.components.RoomListMenuAction
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
import io.element.android.libraries.architecture.BackstackView
import io.element.android.libraries.architecture.BaseFlowNode
import io.element.android.libraries.deeplink.usecase.InviteFriendsUseCase
@@ -41,17 +41,17 @@ import io.element.android.services.analytics.api.AnalyticsService
import kotlinx.parcelize.Parcelize
@ContributesNode(SessionScope::class)
-class RoomListFlowNode @AssistedInject constructor(
+class HomeFlowNode @AssistedInject constructor(
@Assisted buildContext: BuildContext,
@Assisted plugins: List,
- private val presenter: RoomListPresenter,
+ private val presenter: HomePresenter,
private val inviteFriendsUseCase: InviteFriendsUseCase,
private val analyticsService: AnalyticsService,
private val acceptDeclineInviteView: AcceptDeclineInviteView,
private val directLogoutView: DirectLogoutView,
private val reportRoomEntryPoint: ReportRoomEntryPoint,
private val declineInviteAndBlockUserEntryPoint: DeclineInviteAndBlockEntryPoint,
-) : BaseFlowNode(
+) : BaseFlowNode(
backstack = BackStack(
initialElement = NavTarget.Root,
savedStateMap = buildContext.savedStateMap,
@@ -79,27 +79,27 @@ class RoomListFlowNode @AssistedInject constructor(
}
private fun onRoomClick(roomId: RoomId) {
- plugins().forEach { it.onRoomClick(roomId) }
+ plugins().forEach { it.onRoomClick(roomId) }
}
private fun onOpenSettings() {
- plugins().forEach { it.onSettingsClick() }
+ plugins().forEach { it.onSettingsClick() }
}
private fun onCreateRoomClick() {
- plugins().forEach { it.onCreateRoomClick() }
+ plugins().forEach { it.onCreateRoomClick() }
}
private fun onSetUpRecoveryClick() {
- plugins().forEach { it.onSetUpRecoveryClick() }
+ plugins().forEach { it.onSetUpRecoveryClick() }
}
private fun onSessionConfirmRecoveryKeyClick() {
- plugins().forEach { it.onSessionConfirmRecoveryKeyClick() }
+ plugins().forEach { it.onSessionConfirmRecoveryKeyClick() }
}
private fun onRoomSettingsClick(roomId: RoomId) {
- plugins().forEach { it.onRoomSettingsClick(roomId) }
+ plugins().forEach { it.onRoomSettingsClick(roomId) }
}
private fun onReportRoomClick(roomId: RoomId) {
@@ -116,7 +116,7 @@ class RoomListFlowNode @AssistedInject constructor(
inviteFriendsUseCase.execute(activity)
}
RoomListMenuAction.ReportBug -> {
- plugins().forEach { it.onReportBugClick() }
+ plugins().forEach { it.onReportBugClick() }
}
}
}
@@ -126,8 +126,8 @@ class RoomListFlowNode @AssistedInject constructor(
val state = presenter.present()
val activity = requireNotNull(LocalActivity.current)
- RoomListView(
- state = state,
+ HomeView(
+ homeState = state,
onRoomClick = this::onRoomClick,
onSettingsClick = this::onOpenSettings,
onCreateRoomClick = this::onCreateRoomClick,
@@ -140,7 +140,7 @@ class RoomListFlowNode @AssistedInject constructor(
modifier = modifier,
) {
acceptDeclineInviteView.Render(
- state = state.acceptDeclineInviteState,
+ state = state.roomListState.acceptDeclineInviteState,
onAcceptInviteSuccess = this::onRoomClick,
onDeclineInviteSuccess = { },
modifier = Modifier
diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomePresenter.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomePresenter.kt
new file mode 100644
index 0000000000..b1160b4b6b
--- /dev/null
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomePresenter.kt
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.features.home.impl
+
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.collectAsState
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.remember
+import io.element.android.features.home.impl.roomlist.RoomListState
+import io.element.android.features.logout.api.direct.DirectLogoutState
+import io.element.android.features.rageshake.api.RageshakeFeatureAvailability
+import io.element.android.libraries.architecture.Presenter
+import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher
+import io.element.android.libraries.designsystem.utils.snackbar.collectSnackbarMessageAsState
+import io.element.android.libraries.indicator.api.IndicatorService
+import io.element.android.libraries.matrix.api.MatrixClient
+import io.element.android.libraries.matrix.api.sync.SyncService
+import javax.inject.Inject
+
+class HomePresenter @Inject constructor(
+ private val client: MatrixClient,
+ private val syncService: SyncService,
+ private val snackbarDispatcher: SnackbarDispatcher,
+ private val indicatorService: IndicatorService,
+ private val roomListPresenter: Presenter,
+ private val logoutPresenter: Presenter,
+ private val rageshakeFeatureAvailability: RageshakeFeatureAvailability,
+) : Presenter {
+ @Composable
+ override fun present(): HomeState {
+ val matrixUser = client.userProfile.collectAsState()
+ val isOnline by syncService.isOnline.collectAsState()
+ val canReportBug = remember { rageshakeFeatureAvailability.isAvailable() }
+ val roomListState = roomListPresenter.present()
+
+ LaunchedEffect(Unit) {
+ // Force a refresh of the profile
+ client.getUserProfile()
+ }
+
+ // Avatar indicator
+ val showAvatarIndicator by indicatorService.showRoomListTopBarIndicator()
+
+ val directLogoutState = logoutPresenter.present()
+
+ fun handleEvents(event: HomeEvents) {
+ // TODO
+ }
+
+ val snackbarMessage by snackbarDispatcher.collectSnackbarMessageAsState()
+
+ return HomeState(
+ matrixUser = matrixUser.value,
+ showAvatarIndicator = showAvatarIndicator,
+ hasNetworkConnection = isOnline,
+ roomListState = roomListState,
+ snackbarMessage = snackbarMessage,
+ canReportBug = canReportBug,
+ directLogoutState = directLogoutState,
+ eventSink = ::handleEvents,
+ )
+ }
+}
diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeState.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeState.kt
new file mode 100644
index 0000000000..f7b4f644a6
--- /dev/null
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeState.kt
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2023, 2024 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.features.home.impl
+
+import androidx.compose.runtime.Immutable
+import io.element.android.features.home.impl.roomlist.RoomListState
+import io.element.android.features.logout.api.direct.DirectLogoutState
+import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage
+import io.element.android.libraries.matrix.api.user.MatrixUser
+
+@Immutable
+data class HomeState(
+ val matrixUser: MatrixUser,
+ val showAvatarIndicator: Boolean,
+ val hasNetworkConnection: Boolean,
+ val roomListState: RoomListState,
+ val snackbarMessage: SnackbarMessage?,
+ val canReportBug: Boolean,
+ val directLogoutState: DirectLogoutState,
+ val eventSink: (HomeEvents) -> Unit,
+) {
+ val displayActions = true
+}
diff --git a/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeStateProvider.kt
new file mode 100644
index 0000000000..621a36bf5e
--- /dev/null
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeStateProvider.kt
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.features.home.impl
+
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import io.element.android.features.home.impl.roomlist.RoomListState
+import io.element.android.features.home.impl.roomlist.RoomListStateProvider
+import io.element.android.features.home.impl.roomlist.aRoomListState
+import io.element.android.features.logout.api.direct.DirectLogoutState
+import io.element.android.features.logout.api.direct.aDirectLogoutState
+import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage
+import io.element.android.libraries.matrix.api.core.UserId
+import io.element.android.libraries.matrix.api.user.MatrixUser
+import io.element.android.libraries.ui.strings.CommonStrings
+
+open class HomeStateProvider : PreviewParameterProvider {
+ override val values: Sequence
+ get() = sequenceOf(
+ aHomeState(),
+ aHomeState(hasNetworkConnection = false),
+ aHomeState(snackbarMessage = SnackbarMessage(CommonStrings.common_verification_complete)),
+ ) + RoomListStateProvider().values.map {
+ aHomeState(roomListState = it)
+ }
+}
+
+internal fun aHomeState(
+ matrixUser: MatrixUser = MatrixUser(userId = UserId("@id:domain"), displayName = "User#1"),
+ showAvatarIndicator: Boolean = false,
+ hasNetworkConnection: Boolean = true,
+ snackbarMessage: SnackbarMessage? = null,
+ roomListState: RoomListState = aRoomListState(),
+ canReportBug: Boolean = true,
+ directLogoutState: DirectLogoutState = aDirectLogoutState(),
+ eventSink: (HomeEvents) -> Unit = {}
+) = HomeState(
+ matrixUser = matrixUser,
+ showAvatarIndicator = showAvatarIndicator,
+ hasNetworkConnection = hasNetworkConnection,
+ snackbarMessage = snackbarMessage,
+ canReportBug = canReportBug,
+ directLogoutState = directLogoutState,
+ roomListState = roomListState,
+ eventSink = eventSink,
+)
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeView.kt
similarity index 81%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeView.kt
index b00796c1fe..fbd47bf52b 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListView.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeView.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
@@ -25,13 +25,17 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
import io.element.android.compound.theme.ElementTheme
import io.element.android.compound.tokens.generated.CompoundIcons
+import io.element.android.features.home.impl.components.RoomListContentView
+import io.element.android.features.home.impl.components.RoomListMenuAction
+import io.element.android.features.home.impl.components.RoomListTopBar
+import io.element.android.features.home.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.roomlist.RoomListContextMenu
+import io.element.android.features.home.impl.roomlist.RoomListDeclineInviteMenu
+import io.element.android.features.home.impl.roomlist.RoomListEvents
+import io.element.android.features.home.impl.roomlist.RoomListState
+import io.element.android.features.home.impl.search.RoomListSearchView
import io.element.android.features.leaveroom.api.LeaveRoomView
import io.element.android.features.networkmonitor.api.ui.ConnectivityIndicatorContainer
-import io.element.android.features.roomlist.impl.components.RoomListContentView
-import io.element.android.features.roomlist.impl.components.RoomListMenuAction
-import io.element.android.features.roomlist.impl.components.RoomListTopBar
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
-import io.element.android.features.roomlist.impl.search.RoomListSearchView
import io.element.android.libraries.androidutils.throttler.FirstThrottler
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
@@ -43,8 +47,8 @@ import io.element.android.libraries.designsystem.utils.snackbar.rememberSnackbar
import io.element.android.libraries.matrix.api.core.RoomId
@Composable
-fun RoomListView(
- state: RoomListState,
+fun HomeView(
+ homeState: HomeState,
onRoomClick: (RoomId) -> Unit,
onSettingsClick: () -> Unit,
onSetUpRecoveryClick: () -> Unit,
@@ -57,12 +61,13 @@ fun RoomListView(
modifier: Modifier = Modifier,
acceptDeclineInviteView: @Composable () -> Unit,
) {
+ val state: RoomListState = homeState.roomListState
val coroutineScope = rememberCoroutineScope()
val firstThrottler = remember { FirstThrottler(300, coroutineScope) }
ConnectivityIndicatorContainer(
modifier = modifier,
- isOnline = state.hasNetworkConnection,
+ isOnline = homeState.hasNetworkConnection,
) { topPadding ->
Box {
if (state.contextMenu is RoomListState.ContextMenu.Shown) {
@@ -85,8 +90,8 @@ fun RoomListView(
LeaveRoomView(state = state.leaveRoomState)
- RoomListScaffold(
- state = state,
+ HomeScaffold(
+ state = homeState,
onSetUpRecoveryClick = onSetUpRecoveryClick,
onConfirmRecoveryKeyClick = onConfirmRecoveryKeyClick,
onRoomClick = { if (firstThrottler.canHandle()) onRoomClick(it) },
@@ -114,8 +119,8 @@ fun RoomListView(
@OptIn(ExperimentalMaterial3Api::class)
@Composable
-private fun RoomListScaffold(
- state: RoomListState,
+private fun HomeScaffold(
+ state: HomeState,
onSetUpRecoveryClick: () -> Unit,
onConfirmRecoveryKeyClick: () -> Unit,
onRoomClick: (RoomId) -> Unit,
@@ -131,6 +136,7 @@ private fun RoomListScaffold(
val appBarState = rememberTopAppBarState()
val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(appBarState)
val snackbarHostState = rememberSnackbarHostState(snackbarMessage = state.snackbarMessage)
+ val roomListState: RoomListState = state.roomListState
Scaffold(
modifier = modifier.nestedScroll(scrollBehavior.nestedScrollConnection),
@@ -138,23 +144,23 @@ private fun RoomListScaffold(
RoomListTopBar(
matrixUser = state.matrixUser,
showAvatarIndicator = state.showAvatarIndicator,
- areSearchResultsDisplayed = state.searchState.isSearchActive,
- onToggleSearch = { state.eventSink(RoomListEvents.ToggleSearchResults) },
+ areSearchResultsDisplayed = roomListState.searchState.isSearchActive,
+ onToggleSearch = { roomListState.eventSink(RoomListEvents.ToggleSearchResults) },
onMenuActionClick = onMenuActionClick,
onOpenSettings = onOpenSettings,
scrollBehavior = scrollBehavior,
displayMenuItems = state.displayActions,
- displayFilters = state.displayFilters,
- filtersState = state.filtersState,
+ displayFilters = roomListState.displayFilters,
+ filtersState = roomListState.filtersState,
canReportBug = state.canReportBug,
)
},
content = { padding ->
RoomListContentView(
- contentState = state.contentState,
- filtersState = state.filtersState,
- hideInvitesAvatars = state.hideInvitesAvatars,
- eventSink = state.eventSink,
+ contentState = roomListState.contentState,
+ filtersState = roomListState.filtersState,
+ hideInvitesAvatars = roomListState.hideInvitesAvatars,
+ eventSink = roomListState.eventSink,
onSetUpRecoveryClick = onSetUpRecoveryClick,
onConfirmRecoveryKeyClick = onConfirmRecoveryKeyClick,
onRoomClick = ::onRoomClick,
@@ -186,9 +192,9 @@ internal fun RoomListRoomSummary.contentType() = displayType.ordinal
@PreviewsDayNight
@Composable
-internal fun RoomListViewPreview(@PreviewParameter(RoomListStateProvider::class) state: RoomListState) = ElementPreview {
- RoomListView(
- state = state,
+internal fun HomeViewPreview(@PreviewParameter(HomeStateProvider::class) state: HomeState) = ElementPreview {
+ HomeView(
+ homeState = state,
onRoomClick = {},
onSettingsClick = {},
onSetUpRecoveryClick = {},
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/BannerPadding.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/BannerPadding.kt
similarity index 88%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/BannerPadding.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/BannerPadding.kt
index a609d5dc7d..389c2aecfb 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/BannerPadding.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/BannerPadding.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.components
+package io.element.android.features.home.impl.components
import androidx.compose.foundation.layout.padding
import androidx.compose.ui.Modifier
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/BatteryOptimizationBanner.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/BatteryOptimizationBanner.kt
similarity index 93%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/BatteryOptimizationBanner.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/BatteryOptimizationBanner.kt
index 8fde1834d2..017ca9592d 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/BatteryOptimizationBanner.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/BatteryOptimizationBanner.kt
@@ -5,12 +5,12 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.components
+package io.element.android.features.home.impl.components
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
-import io.element.android.features.roomlist.impl.R
+import io.element.android.features.home.impl.R
import io.element.android.libraries.designsystem.components.Announcement
import io.element.android.libraries.designsystem.components.AnnouncementType
import io.element.android.libraries.designsystem.preview.ElementPreview
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/ConfirmRecoveryKeyBanner.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/ConfirmRecoveryKeyBanner.kt
similarity index 92%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/ConfirmRecoveryKeyBanner.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/ConfirmRecoveryKeyBanner.kt
index 3ae7750fa3..c833e2914a 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/ConfirmRecoveryKeyBanner.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/ConfirmRecoveryKeyBanner.kt
@@ -5,12 +5,12 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.components
+package io.element.android.features.home.impl.components
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
-import io.element.android.features.roomlist.impl.R
+import io.element.android.features.home.impl.R
import io.element.android.libraries.designsystem.components.Announcement
import io.element.android.libraries.designsystem.components.AnnouncementType
import io.element.android.libraries.designsystem.preview.ElementPreview
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/FullScreenIntentPermissionBanner.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/FullScreenIntentPermissionBanner.kt
similarity index 94%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/FullScreenIntentPermissionBanner.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/FullScreenIntentPermissionBanner.kt
index 339b5f4fa6..e89392da62 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/FullScreenIntentPermissionBanner.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/FullScreenIntentPermissionBanner.kt
@@ -5,12 +5,12 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.components
+package io.element.android.features.home.impl.components
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
-import io.element.android.features.roomlist.impl.R
+import io.element.android.features.home.impl.R
import io.element.android.libraries.designsystem.components.Announcement
import io.element.android.libraries.designsystem.components.AnnouncementType
import io.element.android.libraries.designsystem.preview.ElementPreview
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListContentView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListContentView.kt
similarity index 90%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListContentView.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListContentView.kt
index b27f21c7f6..c4144b22e9 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListContentView.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListContentView.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.components
+package io.element.android.features.home.impl.components
import androidx.annotation.StringRes
import androidx.compose.foundation.layout.Arrangement
@@ -34,19 +34,19 @@ 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.RoomListContentState
-import io.element.android.features.roomlist.impl.RoomListContentStateProvider
-import io.element.android.features.roomlist.impl.RoomListEvents
-import io.element.android.features.roomlist.impl.SecurityBannerState
-import io.element.android.features.roomlist.impl.contentType
-import io.element.android.features.roomlist.impl.filters.RoomListFilter
-import io.element.android.features.roomlist.impl.filters.RoomListFiltersEmptyStateResources
-import io.element.android.features.roomlist.impl.filters.RoomListFiltersState
-import io.element.android.features.roomlist.impl.filters.aRoomListFiltersState
-import io.element.android.features.roomlist.impl.filters.selection.FilterSelectionState
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
-import io.element.android.features.roomlist.impl.model.RoomSummaryDisplayType
+import io.element.android.features.home.impl.R
+import io.element.android.features.home.impl.contentType
+import io.element.android.features.home.impl.filters.RoomListFilter
+import io.element.android.features.home.impl.filters.RoomListFiltersEmptyStateResources
+import io.element.android.features.home.impl.filters.RoomListFiltersState
+import io.element.android.features.home.impl.filters.aRoomListFiltersState
+import io.element.android.features.home.impl.filters.selection.FilterSelectionState
+import io.element.android.features.home.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.model.RoomSummaryDisplayType
+import io.element.android.features.home.impl.roomlist.RoomListContentState
+import io.element.android.features.home.impl.roomlist.RoomListContentStateProvider
+import io.element.android.features.home.impl.roomlist.RoomListEvents
+import io.element.android.features.home.impl.roomlist.SecurityBannerState
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
@@ -311,7 +311,12 @@ internal fun RoomListContentViewPreview(@PreviewParameter(RoomListContentStatePr
RoomListContentView(
contentState = state,
filtersState = aRoomListFiltersState(
- filterSelectionStates = RoomListFilter.entries.map { FilterSelectionState(it, isSelected = true) }
+ filterSelectionStates = RoomListFilter.entries.map {
+ FilterSelectionState(
+ filter = it,
+ isSelected = true
+ )
+ }
),
hideInvitesAvatars = false,
eventSink = {},
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListMenuAction.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListMenuAction.kt
similarity index 81%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListMenuAction.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListMenuAction.kt
index 14f46098ac..9f17fc835e 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListMenuAction.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListMenuAction.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.components
+package io.element.android.features.home.impl.components
enum class RoomListMenuAction {
InviteFriends,
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListTopBar.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListTopBar.kt
similarity index 97%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListTopBar.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListTopBar.kt
index bee535d8cd..1b7edcbfd4 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomListTopBar.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomListTopBar.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.components
+package io.element.android.features.home.impl.components
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
@@ -40,10 +40,10 @@ import androidx.compose.ui.unit.dp
import io.element.android.appconfig.RoomListConfig
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.filters.RoomListFiltersState
-import io.element.android.features.roomlist.impl.filters.RoomListFiltersView
-import io.element.android.features.roomlist.impl.filters.aRoomListFiltersState
+import io.element.android.features.home.impl.R
+import io.element.android.features.home.impl.filters.RoomListFiltersState
+import io.element.android.features.home.impl.filters.RoomListFiltersView
+import io.element.android.features.home.impl.filters.aRoomListFiltersState
import io.element.android.libraries.designsystem.atomic.atoms.RedIndicatorAtom
import io.element.android.libraries.designsystem.components.avatar.Avatar
import io.element.android.libraries.designsystem.components.avatar.AvatarData
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryPlaceholderRow.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomSummaryPlaceholderRow.kt
similarity index 98%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryPlaceholderRow.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomSummaryPlaceholderRow.kt
index af980c1b09..f07fe880b3 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryPlaceholderRow.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomSummaryPlaceholderRow.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.components
+package io.element.android.features.home.impl.components
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomSummaryRow.kt
similarity index 97%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomSummaryRow.kt
index d6ad371beb..0baa0e66d9 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/RoomSummaryRow.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/RoomSummaryRow.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.components
+package io.element.android.features.home.impl.components
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.interaction.MutableInteractionSource
@@ -37,11 +37,11 @@ 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
-import io.element.android.features.roomlist.impl.model.RoomSummaryDisplayType
+import io.element.android.features.home.impl.R
+import io.element.android.features.home.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.model.RoomListRoomSummaryProvider
+import io.element.android.features.home.impl.model.RoomSummaryDisplayType
+import io.element.android.features.home.impl.roomlist.RoomListEvents
import io.element.android.libraries.core.extensions.orEmpty
import io.element.android.libraries.designsystem.atomic.atoms.UnreadIndicatorAtom
import io.element.android.libraries.designsystem.components.avatar.Avatar
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/SetUpRecoveryKeyBanner.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/SetUpRecoveryKeyBanner.kt
similarity index 92%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/SetUpRecoveryKeyBanner.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/SetUpRecoveryKeyBanner.kt
index e1d251de8b..37aed6d130 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/components/SetUpRecoveryKeyBanner.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/components/SetUpRecoveryKeyBanner.kt
@@ -5,12 +5,12 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.components
+package io.element.android.features.home.impl.components
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
-import io.element.android.features.roomlist.impl.R
+import io.element.android.features.home.impl.R
import io.element.android.libraries.designsystem.components.Announcement
import io.element.android.libraries.designsystem.components.AnnouncementType
import io.element.android.libraries.designsystem.preview.ElementPreview
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListDataSource.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/datasource/RoomListDataSource.kt
similarity index 97%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListDataSource.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/datasource/RoomListDataSource.kt
index 6d59837988..dcda64ca9c 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListDataSource.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/datasource/RoomListDataSource.kt
@@ -5,9 +5,9 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.datasource
+package io.element.android.features.home.impl.datasource
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.model.RoomListRoomSummary
import io.element.android.libraries.androidutils.diff.DiffCacheUpdater
import io.element.android.libraries.androidutils.diff.MutableListDiffCache
import io.element.android.libraries.androidutils.system.DateTimeObserver
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactory.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/datasource/RoomListRoomSummaryFactory.kt
similarity index 93%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactory.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/datasource/RoomListRoomSummaryFactory.kt
index 98b7f8d853..3d77662188 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactory.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/datasource/RoomListRoomSummaryFactory.kt
@@ -5,10 +5,10 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.datasource
+package io.element.android.features.home.impl.datasource
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
-import io.element.android.features.roomlist.impl.model.RoomSummaryDisplayType
+import io.element.android.features.home.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.model.RoomSummaryDisplayType
import io.element.android.libraries.core.extensions.orEmpty
import io.element.android.libraries.dateformatter.api.DateFormatter
import io.element.android.libraries.dateformatter.api.DateFormatterMode
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/di/RoomListModule.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/RoomListModule.kt
similarity index 53%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/di/RoomListModule.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/RoomListModule.kt
index a9c2f1c80b..ef64512462 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/di/RoomListModule.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/di/RoomListModule.kt
@@ -5,21 +5,26 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.di
+package io.element.android.features.home.impl.di
import com.squareup.anvil.annotations.ContributesTo
import dagger.Binds
import dagger.Module
-import io.element.android.features.roomlist.impl.filters.RoomListFiltersPresenter
-import io.element.android.features.roomlist.impl.filters.RoomListFiltersState
-import io.element.android.features.roomlist.impl.search.RoomListSearchPresenter
-import io.element.android.features.roomlist.impl.search.RoomListSearchState
+import io.element.android.features.home.impl.filters.RoomListFiltersPresenter
+import io.element.android.features.home.impl.filters.RoomListFiltersState
+import io.element.android.features.home.impl.roomlist.RoomListPresenter
+import io.element.android.features.home.impl.roomlist.RoomListState
+import io.element.android.features.home.impl.search.RoomListSearchPresenter
+import io.element.android.features.home.impl.search.RoomListSearchState
import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.di.SessionScope
@ContributesTo(SessionScope::class)
@Module
interface RoomListModule {
+ @Binds
+ fun bindRoomListPresenter(presenter: RoomListPresenter): Presenter
+
@Binds
fun bindSearchPresenter(presenter: RoomListSearchPresenter): Presenter
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFilter.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFilter.kt
similarity index 90%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFilter.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFilter.kt
index 324dd1eb3d..2c7ebc3573 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFilter.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFilter.kt
@@ -5,9 +5,9 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters
+package io.element.android.features.home.impl.filters
-import io.element.android.features.roomlist.impl.R
+import io.element.android.features.home.impl.R
/**
* Enum class representing the different filters that can be applied to the room list.
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersEmptyStateResources.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersEmptyStateResources.kt
similarity index 96%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersEmptyStateResources.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersEmptyStateResources.kt
index a0c4878715..61436a0054 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersEmptyStateResources.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersEmptyStateResources.kt
@@ -5,10 +5,10 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters
+package io.element.android.features.home.impl.filters
import androidx.annotation.StringRes
-import io.element.android.features.roomlist.impl.R
+import io.element.android.features.home.impl.R
/**
* Holds the resources for the empty state when filters are applied to the room list.
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersEvents.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersEvents.kt
similarity index 86%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersEvents.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersEvents.kt
index 42559995f6..13fcc656e8 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersEvents.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersEvents.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters
+package io.element.android.features.home.impl.filters
sealed interface RoomListFiltersEvents {
data class ToggleFilter(val filter: RoomListFilter) : RoomListFiltersEvents
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersPresenter.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersPresenter.kt
similarity index 94%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersPresenter.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersPresenter.kt
index 0213d3fc15..de3f7eaa0b 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersPresenter.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersPresenter.kt
@@ -5,12 +5,12 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters
+package io.element.android.features.home.impl.filters
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.produceState
-import io.element.android.features.roomlist.impl.filters.selection.FilterSelectionStrategy
+import io.element.android.features.home.impl.filters.selection.FilterSelectionStrategy
import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.matrix.api.roomlist.RoomListService
import kotlinx.collections.immutable.toPersistentList
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersState.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersState.kt
similarity index 83%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersState.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersState.kt
index 3e72aa680b..bb4146ce84 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersState.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersState.kt
@@ -5,9 +5,9 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters
+package io.element.android.features.home.impl.filters
-import io.element.android.features.roomlist.impl.filters.selection.FilterSelectionState
+import io.element.android.features.home.impl.filters.selection.FilterSelectionState
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toPersistentList
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersStateProvider.kt
similarity index 87%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersStateProvider.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersStateProvider.kt
index e104651af9..8cba01163c 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersStateProvider.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersStateProvider.kt
@@ -5,10 +5,10 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters
+package io.element.android.features.home.impl.filters
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
-import io.element.android.features.roomlist.impl.filters.selection.FilterSelectionState
+import io.element.android.features.home.impl.filters.selection.FilterSelectionState
import kotlinx.collections.immutable.toImmutableList
class RoomListFiltersStateProvider : PreviewParameterProvider {
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersView.kt
similarity index 97%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersView.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersView.kt
index 214ac44cfd..91b00b1180 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersView.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersView.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters
+package io.element.android.features.home.impl.filters
import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.Spring
@@ -40,6 +40,7 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.zIndex
import io.element.android.compound.theme.ElementTheme
import io.element.android.compound.tokens.generated.CompoundIcons
+import io.element.android.features.home.impl.R
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.components.Icon
@@ -147,7 +148,7 @@ private fun RoomListClearFiltersButton(
modifier = Modifier.align(Alignment.Center),
imageVector = CompoundIcons.Close(),
tint = ElementTheme.colors.iconOnSolidPrimary,
- contentDescription = stringResource(id = io.element.android.libraries.ui.strings.R.string.action_clear),
+ contentDescription = stringResource(id = R.string.screen_roomlist_clear_filters),
)
}
}
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/selection/DefaultFilterSelectionStrategy.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/selection/DefaultFilterSelectionStrategy.kt
similarity index 92%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/selection/DefaultFilterSelectionStrategy.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/selection/DefaultFilterSelectionStrategy.kt
index c89615fea7..26a77da5c7 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/selection/DefaultFilterSelectionStrategy.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/selection/DefaultFilterSelectionStrategy.kt
@@ -5,10 +5,10 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters.selection
+package io.element.android.features.home.impl.filters.selection
import com.squareup.anvil.annotations.ContributesBinding
-import io.element.android.features.roomlist.impl.filters.RoomListFilter
+import io.element.android.features.home.impl.filters.RoomListFilter
import io.element.android.libraries.di.SessionScope
import kotlinx.coroutines.flow.MutableStateFlow
import javax.inject.Inject
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/selection/FilterSelectionState.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/selection/FilterSelectionState.kt
similarity index 67%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/selection/FilterSelectionState.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/selection/FilterSelectionState.kt
index 62ed9f08a3..d604e51f84 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/selection/FilterSelectionState.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/selection/FilterSelectionState.kt
@@ -5,9 +5,9 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters.selection
+package io.element.android.features.home.impl.filters.selection
-import io.element.android.features.roomlist.impl.filters.RoomListFilter
+import io.element.android.features.home.impl.filters.RoomListFilter
data class FilterSelectionState(
val filter: RoomListFilter,
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/selection/FilterSelectionStrategy.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/selection/FilterSelectionStrategy.kt
similarity index 82%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/selection/FilterSelectionStrategy.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/selection/FilterSelectionStrategy.kt
index c8d3c09fec..8396a4e2a2 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/filters/selection/FilterSelectionStrategy.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/filters/selection/FilterSelectionStrategy.kt
@@ -5,9 +5,9 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters.selection
+package io.element.android.features.home.impl.filters.selection
-import io.element.android.features.roomlist.impl.filters.RoomListFilter
+import io.element.android.features.home.impl.filters.RoomListFilter
import kotlinx.coroutines.flow.StateFlow
interface FilterSelectionStrategy {
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummary.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummary.kt
similarity index 97%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummary.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummary.kt
index 4b2c1e7afc..3f166a66b4 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummary.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummary.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.model
+package io.element.android.features.home.impl.model
import androidx.compose.runtime.Immutable
import io.element.android.features.invite.api.InviteData
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummaryProvider.kt
similarity index 99%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummaryProvider.kt
index 111c4bc86b..f06e5a1a27 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomListRoomSummaryProvider.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomListRoomSummaryProvider.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.model
+package io.element.android.features.home.impl.model
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.designsystem.components.avatar.AvatarData
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomSummaryDisplayType.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomSummaryDisplayType.kt
similarity index 86%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomSummaryDisplayType.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomSummaryDisplayType.kt
index 4b472d8847..8fcef46faf 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/model/RoomSummaryDisplayType.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/model/RoomSummaryDisplayType.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.model
+package io.element.android.features.home.impl.model
/**
* Represents the type of display for a room list item.
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContentStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContentStateProvider.kt
similarity index 94%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContentStateProvider.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContentStateProvider.kt
index 5825c0a1e5..a421c239cb 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContentStateProvider.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContentStateProvider.kt
@@ -5,10 +5,10 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.model.RoomListRoomSummary
import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState
import io.element.android.libraries.fullscreenintent.api.aFullScreenIntentPermissionsState
import io.element.android.libraries.matrix.api.core.RoomId
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContextMenu.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt
similarity index 98%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContextMenu.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt
index 10a591bcbd..27883e88d5 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListContextMenu.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenu.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column
@@ -19,6 +19,7 @@ import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.tooling.preview.PreviewParameter
import io.element.android.compound.theme.ElementTheme
import io.element.android.compound.tokens.generated.CompoundIcons
+import io.element.android.features.home.impl.R
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
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListDeclineInviteMenu.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListDeclineInviteMenu.kt
similarity index 96%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListDeclineInviteMenu.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListDeclineInviteMenu.kt
index 0f986999f8..c6b91a02fc 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListDeclineInviteMenu.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListDeclineInviteMenu.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
@@ -20,7 +20,8 @@ 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.features.roomlist.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.R
+import io.element.android.features.home.impl.model.RoomListRoomSummary
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
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListEvents.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListEvents.kt
similarity index 91%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListEvents.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListEvents.kt
index b17b45b86b..4ba37d810b 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListEvents.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListEvents.kt
@@ -5,9 +5,9 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.model.RoomListRoomSummary
import io.element.android.libraries.matrix.api.core.RoomId
sealed interface RoomListEvents {
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenter.kt
similarity index 89%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenter.kt
index 59ff6bc379..444ddb7a86 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListPresenter.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenter.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
@@ -23,18 +23,16 @@ import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.runtime.snapshotFlow
import im.vector.app.features.analytics.plan.Interaction
+import io.element.android.features.home.impl.datasource.RoomListDataSource
+import io.element.android.features.home.impl.filters.RoomListFiltersState
+import io.element.android.features.home.impl.search.RoomListSearchEvents
+import io.element.android.features.home.impl.search.RoomListSearchState
import io.element.android.features.invite.api.SeenInvitesStore
import io.element.android.features.invite.api.acceptdecline.AcceptDeclineInviteEvents.AcceptInvite
import io.element.android.features.invite.api.acceptdecline.AcceptDeclineInviteEvents.DeclineInvite
import io.element.android.features.invite.api.acceptdecline.AcceptDeclineInviteState
import io.element.android.features.leaveroom.api.LeaveRoomEvent.ShowConfirmation
import io.element.android.features.leaveroom.api.LeaveRoomState
-import io.element.android.features.logout.api.direct.DirectLogoutState
-import io.element.android.features.rageshake.api.RageshakeFeatureAvailability
-import io.element.android.features.roomlist.impl.datasource.RoomListDataSource
-import io.element.android.features.roomlist.impl.filters.RoomListFiltersState
-import io.element.android.features.roomlist.impl.search.RoomListSearchEvents
-import io.element.android.features.roomlist.impl.search.RoomListSearchState
import io.element.android.libraries.architecture.AsyncData
import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.core.coroutine.mapState
@@ -43,13 +41,11 @@ import io.element.android.libraries.designsystem.utils.snackbar.collectSnackbarM
import io.element.android.libraries.featureflag.api.FeatureFlagService
import io.element.android.libraries.featureflag.api.FeatureFlags
import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState
-import io.element.android.libraries.indicator.api.IndicatorService
import io.element.android.libraries.matrix.api.MatrixClient
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.encryption.EncryptionService
import io.element.android.libraries.matrix.api.encryption.RecoveryState
import io.element.android.libraries.matrix.api.roomlist.RoomList
-import io.element.android.libraries.matrix.api.sync.SyncService
import io.element.android.libraries.matrix.api.timeline.ReceiptType
import io.element.android.libraries.preferences.api.store.AppPreferencesStore
import io.element.android.libraries.preferences.api.store.SessionPreferencesStore
@@ -78,12 +74,9 @@ private const val SUBSCRIBE_TO_VISIBLE_ROOMS_DEBOUNCE_IN_MILLIS = 300L
class RoomListPresenter @Inject constructor(
private val client: MatrixClient,
- private val syncService: SyncService,
- private val snackbarDispatcher: SnackbarDispatcher,
private val leaveRoomPresenter: Presenter,
private val roomListDataSource: RoomListDataSource,
private val featureFlagService: FeatureFlagService,
- private val indicatorService: IndicatorService,
private val filtersPresenter: Presenter,
private val searchPresenter: Presenter,
private val sessionPreferencesStore: SessionPreferencesStore,
@@ -92,9 +85,7 @@ class RoomListPresenter @Inject constructor(
private val fullScreenIntentPermissionsPresenter: Presenter,
private val batteryOptimizationPresenter: Presenter,
private val notificationCleaner: NotificationCleaner,
- private val logoutPresenter: Presenter,
private val appPreferencesStore: AppPreferencesStore,
- private val rageshakeFeatureAvailability: RageshakeFeatureAvailability,
private val seenInvitesStore: SeenInvitesStore,
) : Presenter {
private val encryptionService: EncryptionService = client.encryptionService()
@@ -103,23 +94,17 @@ class RoomListPresenter @Inject constructor(
override fun present(): RoomListState {
val coroutineScope = rememberCoroutineScope()
val leaveRoomState = leaveRoomPresenter.present()
- val matrixUser = client.userProfile.collectAsState()
- val isOnline by syncService.isOnline.collectAsState()
val filtersState = filtersPresenter.present()
val searchState = searchPresenter.present()
val acceptDeclineInviteState = acceptDeclineInvitePresenter.present()
- val canReportBug = remember { rageshakeFeatureAvailability.isAvailable() }
LaunchedEffect(Unit) {
roomListDataSource.launchIn(this)
- // Force a refresh of the profile
- client.getUserProfile()
}
var securityBannerDismissed by rememberSaveable { mutableStateOf(false) }
// Avatar indicator
- val showAvatarIndicator by indicatorService.showRoomListTopBarIndicator()
val hideInvitesAvatar by remember {
client
.mediaPreviewService()
@@ -130,8 +115,6 @@ class RoomListPresenter @Inject constructor(
val contextMenu = remember { mutableStateOf(RoomListState.ContextMenu.Hidden) }
val declineInviteMenu = remember { mutableStateOf(RoomListState.DeclineInviteMenu.Hidden) }
- val directLogoutState = logoutPresenter.present()
-
fun handleEvents(event: RoomListEvents) {
when (event) {
is RoomListEvents.UpdateVisibleRange -> coroutineScope.launch {
@@ -166,26 +149,18 @@ class RoomListPresenter @Inject constructor(
}
}
- val snackbarMessage by snackbarDispatcher.collectSnackbarMessageAsState()
-
val contentState = roomListContentState(securityBannerDismissed)
val canReportRoom by produceState(false) { value = client.canReportRoom() }
return RoomListState(
- matrixUser = matrixUser.value,
- showAvatarIndicator = showAvatarIndicator,
- snackbarMessage = snackbarMessage,
- hasNetworkConnection = isOnline,
contextMenu = contextMenu.value,
declineInviteMenu = declineInviteMenu.value,
leaveRoomState = leaveRoomState,
filtersState = filtersState,
- canReportBug = canReportBug,
searchState = searchState,
contentState = contentState,
acceptDeclineInviteState = acceptDeclineInviteState,
- directLogoutState = directLogoutState,
hideInvitesAvatars = hideInvitesAvatar,
canReportRoom = canReportRoom,
eventSink = ::handleEvents,
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListState.kt
similarity index 77%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListState.kt
index 0cf6147df7..4cfa82fbfc 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListState.kt
@@ -5,44 +5,34 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
import androidx.compose.runtime.Immutable
+import io.element.android.features.home.impl.filters.RoomListFiltersState
+import io.element.android.features.home.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.search.RoomListSearchState
import io.element.android.features.invite.api.acceptdecline.AcceptDeclineInviteState
import io.element.android.features.leaveroom.api.LeaveRoomState
-import io.element.android.features.logout.api.direct.DirectLogoutState
-import io.element.android.features.roomlist.impl.filters.RoomListFiltersState
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
-import io.element.android.features.roomlist.impl.search.RoomListSearchState
-import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage
import io.element.android.libraries.fullscreenintent.api.FullScreenIntentPermissionsState
import io.element.android.libraries.matrix.api.core.RoomId
-import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.push.api.battery.BatteryOptimizationState
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.ImmutableSet
@Immutable
data class RoomListState(
- val matrixUser: MatrixUser,
- val showAvatarIndicator: Boolean,
- val hasNetworkConnection: Boolean,
- val snackbarMessage: SnackbarMessage?,
val contextMenu: ContextMenu,
val declineInviteMenu: DeclineInviteMenu,
val leaveRoomState: LeaveRoomState,
val filtersState: RoomListFiltersState,
- val canReportBug: Boolean,
val searchState: RoomListSearchState,
val contentState: RoomListContentState,
val acceptDeclineInviteState: AcceptDeclineInviteState,
- val directLogoutState: DirectLogoutState,
val hideInvitesAvatars: Boolean,
val canReportRoom: Boolean,
val eventSink: (RoomListEvents) -> Unit,
) {
val displayFilters = contentState is RoomListContentState.Rooms
- val displayActions = true
sealed interface ContextMenu {
data object Hidden : ContextMenu
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateContextMenuShownProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownProvider.kt
similarity index 95%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateContextMenuShownProvider.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownProvider.kt
index 2f347a1659..0cd3117de4 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateContextMenuShownProvider.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateContextMenuShownProvider.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
import io.element.android.libraries.matrix.api.core.RoomId
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateProvider.kt
similarity index 73%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateProvider.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateProvider.kt
index 6b8b3f5ff9..9fd5324d57 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/RoomListStateProvider.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/roomlist/RoomListStateProvider.kt
@@ -5,32 +5,26 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import io.element.android.features.home.impl.filters.RoomListFiltersState
+import io.element.android.features.home.impl.filters.aRoomListFiltersState
+import io.element.android.features.home.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.model.RoomSummaryDisplayType
+import io.element.android.features.home.impl.model.aRoomListRoomSummary
+import io.element.android.features.home.impl.model.anInviteSender
+import io.element.android.features.home.impl.search.RoomListSearchState
+import io.element.android.features.home.impl.search.aRoomListSearchState
import io.element.android.features.invite.api.acceptdecline.AcceptDeclineInviteEvents
import io.element.android.features.invite.api.acceptdecline.AcceptDeclineInviteState
import io.element.android.features.leaveroom.api.LeaveRoomState
import io.element.android.features.leaveroom.api.aLeaveRoomState
-import io.element.android.features.logout.api.direct.DirectLogoutState
-import io.element.android.features.logout.api.direct.aDirectLogoutState
-import io.element.android.features.roomlist.impl.filters.RoomListFiltersState
-import io.element.android.features.roomlist.impl.filters.aRoomListFiltersState
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
-import io.element.android.features.roomlist.impl.model.RoomSummaryDisplayType
-import io.element.android.features.roomlist.impl.model.aRoomListRoomSummary
-import io.element.android.features.roomlist.impl.model.anInviteSender
-import io.element.android.features.roomlist.impl.search.RoomListSearchState
-import io.element.android.features.roomlist.impl.search.aRoomListSearchState
import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.designsystem.components.avatar.AvatarData
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
-import io.element.android.libraries.designsystem.utils.snackbar.SnackbarMessage
import io.element.android.libraries.matrix.api.core.RoomId
-import io.element.android.libraries.matrix.api.core.UserId
-import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.push.api.battery.aBatteryOptimizationState
-import io.element.android.libraries.ui.strings.CommonStrings
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
@@ -38,8 +32,6 @@ open class RoomListStateProvider : PreviewParameterProvider {
override val values: Sequence
get() = sequenceOf(
aRoomListState(),
- aRoomListState(snackbarMessage = SnackbarMessage(CommonStrings.common_verification_complete)),
- aRoomListState(hasNetworkConnection = false),
aRoomListState(contextMenu = aContextMenuShown(roomName = null)),
aRoomListState(contextMenu = aContextMenuShown(roomName = "A nice room name")),
aRoomListState(contextMenu = aContextMenuShown(isFavorite = true)),
@@ -53,36 +45,24 @@ open class RoomListStateProvider : PreviewParameterProvider {
}
internal fun aRoomListState(
- matrixUser: MatrixUser = MatrixUser(userId = UserId("@id:domain"), displayName = "User#1"),
- showAvatarIndicator: Boolean = false,
- hasNetworkConnection: Boolean = true,
- snackbarMessage: SnackbarMessage? = null,
contextMenu: RoomListState.ContextMenu = RoomListState.ContextMenu.Hidden,
declineInviteMenu: RoomListState.DeclineInviteMenu = RoomListState.DeclineInviteMenu.Hidden,
leaveRoomState: LeaveRoomState = aLeaveRoomState(),
searchState: RoomListSearchState = aRoomListSearchState(),
filtersState: RoomListFiltersState = aRoomListFiltersState(),
- canReportBug: Boolean = true,
contentState: RoomListContentState = aRoomsContentState(),
acceptDeclineInviteState: AcceptDeclineInviteState = anAcceptDeclineInviteState(),
- directLogoutState: DirectLogoutState = aDirectLogoutState(),
hideInvitesAvatars: Boolean = false,
canReportRoom: Boolean = true,
eventSink: (RoomListEvents) -> Unit = {}
) = RoomListState(
- matrixUser = matrixUser,
- showAvatarIndicator = showAvatarIndicator,
- hasNetworkConnection = hasNetworkConnection,
- snackbarMessage = snackbarMessage,
contextMenu = contextMenu,
declineInviteMenu = declineInviteMenu,
leaveRoomState = leaveRoomState,
filtersState = filtersState,
- canReportBug = canReportBug,
searchState = searchState,
contentState = contentState,
acceptDeclineInviteState = acceptDeclineInviteState,
- directLogoutState = directLogoutState,
hideInvitesAvatars = hideInvitesAvatars,
canReportRoom = canReportRoom,
eventSink = eventSink,
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchDataSource.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchDataSource.kt
similarity index 90%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchDataSource.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchDataSource.kt
index 34152a7e65..6840809480 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchDataSource.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchDataSource.kt
@@ -5,10 +5,10 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.search
+package io.element.android.features.home.impl.search
-import io.element.android.features.roomlist.impl.datasource.RoomListRoomSummaryFactory
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.datasource.RoomListRoomSummaryFactory
+import io.element.android.features.home.impl.model.RoomListRoomSummary
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
import io.element.android.libraries.matrix.api.roomlist.RoomList
import io.element.android.libraries.matrix.api.roomlist.RoomListFilter
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchEvents.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchEvents.kt
similarity index 87%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchEvents.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchEvents.kt
index b8248d09f5..26f713da81 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchEvents.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchEvents.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.search
+package io.element.android.features.home.impl.search
sealed interface RoomListSearchEvents {
data object ToggleSearchVisibility : RoomListSearchEvents
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchPresenter.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchPresenter.kt
similarity index 97%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchPresenter.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchPresenter.kt
index 7a6ec51259..b4d151fe02 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchPresenter.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchPresenter.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.search
+package io.element.android.features.home.impl.search
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchState.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchState.kt
similarity index 76%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchState.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchState.kt
index e6bac06ca5..9d50f52a33 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchState.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchState.kt
@@ -5,9 +5,9 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.search
+package io.element.android.features.home.impl.search
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.model.RoomListRoomSummary
import kotlinx.collections.immutable.ImmutableList
data class RoomListSearchState(
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchStateProvider.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchStateProvider.kt
similarity index 84%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchStateProvider.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchStateProvider.kt
index 640adc7306..503e334418 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchStateProvider.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchStateProvider.kt
@@ -5,11 +5,11 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.search
+package io.element.android.features.home.impl.search
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
-import io.element.android.features.roomlist.impl.aRoomListRoomSummaryList
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.roomlist.aRoomListRoomSummaryList
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
diff --git a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchView.kt b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchView.kt
similarity index 95%
rename from features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchView.kt
rename to features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchView.kt
index bfb2011dd5..29c8078c09 100644
--- a/features/roomlist/impl/src/main/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchView.kt
+++ b/features/home/impl/src/main/kotlin/io/element/android/features/home/impl/search/RoomListSearchView.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.search
+package io.element.android.features.home.impl.search
import androidx.activity.compose.BackHandler
import androidx.compose.animation.AnimatedVisibility
@@ -34,10 +34,10 @@ 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.roomlist.impl.RoomListEvents
-import io.element.android.features.roomlist.impl.components.RoomSummaryRow
-import io.element.android.features.roomlist.impl.contentType
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.components.RoomSummaryRow
+import io.element.android.features.home.impl.contentType
+import io.element.android.features.home.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.roomlist.RoomListEvents
import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.modifiers.applyIf
import io.element.android.libraries.designsystem.preview.ElementPreview
diff --git a/features/roomlist/impl/src/main/res/values-be/translations.xml b/features/home/impl/src/main/res/values-be/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-be/translations.xml
rename to features/home/impl/src/main/res/values-be/translations.xml
diff --git a/features/home/impl/src/main/res/values-bg/translations.xml b/features/home/impl/src/main/res/values-bg/translations.xml
new file mode 100644
index 0000000000..8a555ebbb8
--- /dev/null
+++ b/features/home/impl/src/main/res/values-bg/translations.xml
@@ -0,0 +1,33 @@
+
+
+ "Потвърдете ключа си за възстановяване, за да запазите достъп до хранилището за ключове и историята на съобщенията си."
+ "Въведете ключа си за възстановяване"
+ "Хранилището ви за ключове не е синхронизирано"
+ "Сигурни ли сте, че искате да отхвърлите поканата за присъединяване в %1$s?"
+ "Отказване на покана"
+ "Няма покани"
+ "%1$s (%2$s) ви покани"
+ "Създаване на нов разговор или стая"
+ "Започнете, като изпратите съобщение на някого."
+ "Все още няма чатове."
+ "Любими"
+ "Можете да добавите чат към фаворизираните си в настройките на чата.
+Засега можете да премахнете избора на филтрите, за да видите другите си чатове."
+ "Все още нямате фаворизирани чатове"
+ "Покани"
+ "Нямате чакащи покани."
+ "Нисък приоритет"
+ "Можете да премахнете избора на филтрите, за да видите другите си чатове"
+ "Хора"
+ "Все още нямате директни съобщения"
+ "Стаи"
+ "Все още не сте в никоя стая"
+ "Непрочетени"
+ "Поздравления!
+Нямате непрочетени съобщения!"
+ "Всички чатове"
+ "Отбелязване като прочетено"
+ "Отбелязване като непрочетено"
+ "Изглежда, че използвате ново устройство. Потвърдете с друго устройство за достъп до вашите шифровани съобщения."
+ "Потвърдете, че сте вие"
+
diff --git a/features/roomlist/impl/src/main/res/values-cs/translations.xml b/features/home/impl/src/main/res/values-cs/translations.xml
similarity index 92%
rename from features/roomlist/impl/src/main/res/values-cs/translations.xml
rename to features/home/impl/src/main/res/values-cs/translations.xml
index 7c15f1c82a..9fcea2887a 100644
--- a/features/roomlist/impl/src/main/res/values-cs/translations.xml
+++ b/features/home/impl/src/main/res/values-cs/translations.xml
@@ -1,5 +1,8 @@
+ "Zakažte optimalizaci baterie pro tuto aplikaci, abyste měli jistotu, že budou přijata všechna oznámení."
+ "Zakázat optimalizaci"
+ "Nepřicházejí vám oznámení?"
"Vygenerujte nový klíč pro obnovení, který lze použít k obnovení historie šifrovaných zpráv v případě, že ztratíte přístup ke svým zařízením."
"Nastavení obnovy"
"Nastavení obnovy"
diff --git a/features/roomlist/impl/src/main/res/values-cy/translations.xml b/features/home/impl/src/main/res/values-cy/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-cy/translations.xml
rename to features/home/impl/src/main/res/values-cy/translations.xml
diff --git a/features/home/impl/src/main/res/values-da/translations.xml b/features/home/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..fe0ed70a9d
--- /dev/null
+++ b/features/home/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,49 @@
+
+
+ "Deaktiver batterioptimering for denne app for at sikre, at alle notifikationer dukker op."
+ "Deaktivér optimering"
+ "Modtager du ikke notifikationer?"
+ "Gendan din kryptografiske identitet og meddelelseshistorik med en gendannelsesnøgle, hvis du har mistet alle dine eksisterende enheder."
+ "Opsæt gendannelse"
+ "Konfigurer gendannelse for at beskytte din konto"
+ "Bekræft din gendannelsesnøgle for at bevare adgangen til nøglelager og meddelelseshistorik."
+ "Indtast din gendannelsesnøgle"
+ "Har du glemt din gendannelsesnøgle?"
+ "Dit nøglelager er ikke synkroniseret"
+ "For at sikre, at du aldrig går glip af et vigtigt opkald, skal du ændre dine indstillinger til at tillade underretninger i fuld skærm, når din telefon er låst."
+ "Gør din opkaldsoplevelse bedre"
+ "Er du sikker på, at du vil afvise invitationen til at deltage i %1$s?"
+ "Afvis invitation"
+ "Er du sikker på, at du vil afvise denne private samtale med %1$s?"
+ "Afvis samtale"
+ "Ingen invitationer"
+ "%1$s(%2$s ) inviterede dig"
+ "Dette er en engangsproces, tak for din tålmodighed."
+ "Sætter din konto op."
+ "Opret en ny samtale eller et nyt rum"
+ "Kom i gang ved at sende en besked til nogen."
+ "Ingen samtaler endnu."
+ "Favoritter"
+ "Du kan tilføje en samtale til dine favoritter i samtaleindstillingerne.
+For nu kan du fravælge filtre for at se dine andre samtaler"
+ "Du har endnu ingen foretrukne samtaler"
+ "Invitationer"
+ "Du har ingen afventende invitationer."
+ "Lav prioritet"
+ "Du kan fravælge filtre for at se dine andre samtaler"
+ "Du har ingen samtaler til dette valg"
+ "Mennesker"
+ "Du har ingen DM\'er endnu"
+ "Rum"
+ "Du er ikke i noget rum endnu"
+ "Ulæste"
+ "Tillykke!
+Du har ingen ulæste beskeder!"
+ "Anmodning om at deltage sendt"
+ "Samtaler"
+ "Marker som læst"
+ "Marker som ulæst"
+ "Dette rum er blevet opgraderet"
+ "Det ser ud til, at du bruger en ny enhed. Bekræft med en anden enhed for at få adgang til dine krypterede meddelelser."
+ "Bekræft, at det er dig"
+
diff --git a/features/roomlist/impl/src/main/res/values-de/translations.xml b/features/home/impl/src/main/res/values-de/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-de/translations.xml
rename to features/home/impl/src/main/res/values-de/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-el/translations.xml b/features/home/impl/src/main/res/values-el/translations.xml
similarity index 82%
rename from features/roomlist/impl/src/main/res/values-el/translations.xml
rename to features/home/impl/src/main/res/values-el/translations.xml
index 596592f594..692aace0ab 100644
--- a/features/roomlist/impl/src/main/res/values-el/translations.xml
+++ b/features/home/impl/src/main/res/values-el/translations.xml
@@ -1,5 +1,8 @@
+ "Απενεργοποίησε τη βελτιστοποίηση μπαταρίας για αυτήν την εφαρμογή, για να βεβαιωθείς ότι λαμβάνονται όλες οι ειδοποιήσεις."
+ "Απενεργοποίηση βελτιστοποίησης"
+ "Δεν φτάνουν οι ειδοποιήσεις;"
"Δημιούργησε ένα νέο κλειδί ανάκτησης που μπορεί να χρησιμοποιηθεί για την επαναφορά του ιστορικού των κρυπτογραφημένων μηνυμάτων σου σε περίπτωση που χάσεις την πρόσβαση στις συσκευές σου."
"Ρύθμιση ανάκτησης"
"Ρύθμιση ανάκτησης"
@@ -7,7 +10,7 @@
"Εισήγαγε το κλειδί ανάκτησης"
"Ξέχασες το κλειδί ανάκτησης;"
"Ο χώρος αποθήκευσης κλειδιών σου δεν είναι συγχρονισμένος"
- "Για να διασφαλίσεις ότι δεν θα χάσεις ποτέ μια σημαντική κλήση, άλλαξε τις ρυθμίσεις σου για να επιτρέψεις τις ειδοποιήσεις πλήρους οθόνης όταν το τηλέφωνό σου είναι κλειδωμένο."
+ "Για να διασφαλίσετε ότι δεν θα χάσετε ποτέ μια σημαντική κλήση, αλλάξτε τις ρυθμίσεις σας ώστε να επιτρέπονται οι ειδοποιήσεις πλήρους οθόνης όταν το τηλέφωνό σας είναι κλειδωμένο."
"Βελτίωσε την εμπειρία κλήσεων"
"Σίγουρα θες να απορρίψεις την πρόσκληση συμμετοχής στο %1$s;"
"Απόρριψη πρόσκλησης"
@@ -17,7 +20,7 @@
"%1$s (%2$s) σέ προσκάλεσε"
"Αυτή είναι μια εφάπαξ διαδικασία, ευχαριστώ που περίμενες."
"Ρύθμιση του λογαριασμού σου."
- "Δημιουργία νέας συνομιλίας ή δωματίου"
+ "Δημιουργία νέας συνομιλίας ή αίθουσας"
"Ξεκίνησε στέλνοντας μηνύματα σε κάποιον."
"Δεν υπάρχουν συνομιλίες ακόμα."
"Αγαπημένα"
@@ -31,8 +34,8 @@
"Δεν έχεις συνομιλίες για αυτήν την επιλογή"
"Άτομα"
"Δεν έχεις ακόμα ΠΜ"
- "Δωμάτια"
- "Δεν είσαι ακόμα σε κανένα δωμάτιο"
+ "Αίθουσες"
+ "Δεν είστε ακόμα σε κάποια αίθουσα"
"Μη αναγνωσμένα"
"Συγχαρητήρια!
Δεν έχεις μη αναγνωσμένα μηνύματα!"
@@ -40,6 +43,7 @@
"Συνομιλίες"
"Επισήμανση ως αναγνωσμένου"
"Επισήμανση ως μη αναγνωσμένου"
+ "Αυτή η αίθουσα έχει αναβαθμιστεί"
"Φαίνεται ότι χρησιμοποιείς μια νέα συσκευή. Επαλήθευσε με άλλη συσκευή για πρόσβαση στα κρυπτογραφημένα σου μηνύματα."
"Επαλήθευσε ότι είσαι εσύ"
diff --git a/features/roomlist/impl/src/main/res/values-en-rUS/translations.xml b/features/home/impl/src/main/res/values-en-rUS/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-en-rUS/translations.xml
rename to features/home/impl/src/main/res/values-en-rUS/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-es/translations.xml b/features/home/impl/src/main/res/values-es/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-es/translations.xml
rename to features/home/impl/src/main/res/values-es/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-et/translations.xml b/features/home/impl/src/main/res/values-et/translations.xml
similarity index 88%
rename from features/roomlist/impl/src/main/res/values-et/translations.xml
rename to features/home/impl/src/main/res/values-et/translations.xml
index ecba029e6e..f8dd7fc086 100644
--- a/features/roomlist/impl/src/main/res/values-et/translations.xml
+++ b/features/home/impl/src/main/res/values-et/translations.xml
@@ -1,5 +1,8 @@
+ "Kui tahad olla kindel, et näed õigel ajal kõiki teavitusi, siis palun lülita akukasutuse optimeerimine välja."
+ "Lülita akukasutuse optimeerimine välja"
+ "Sa ei näe kõiki teavitusi?"
"Loo uus taastevõti, mida saad kasutada oma krüptitud sõnumite ajaloo taastamisel olukorras, kus kaotad ligipääsu oma seadmetele."
"Seadista andmete taastamine"
"Seadista taastamine"
@@ -18,6 +21,7 @@
"Tänud, et ootad - seda toimingut on vaja teha vaid üks kord."
"Seadistame sinu kasutajakontot."
"Loo uus vestlus või jututuba"
+ "Tühjenda filtrid"
"Alustamiseks saada kellelegi sõnum."
"Veel pole vestlusi."
"Lemmikud"
@@ -40,6 +44,7 @@ Sul pole ühtegi lugemata sõnumit!"
"Vestlused"
"Märgi loetuks"
"Märgi mitteloetuks"
+ "See jututuba on uuendatud"
"Tundub, et kasutad uut seadet. Oma krüptitud sõnumite lugemiseks verifitseeri ta mõne muu oma seadmega."
"Verifitseeri, et see oled sina"
diff --git a/features/roomlist/impl/src/main/res/values-eu/translations.xml b/features/home/impl/src/main/res/values-eu/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-eu/translations.xml
rename to features/home/impl/src/main/res/values-eu/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-fa/translations.xml b/features/home/impl/src/main/res/values-fa/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-fa/translations.xml
rename to features/home/impl/src/main/res/values-fa/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-fi/translations.xml b/features/home/impl/src/main/res/values-fi/translations.xml
similarity index 97%
rename from features/roomlist/impl/src/main/res/values-fi/translations.xml
rename to features/home/impl/src/main/res/values-fi/translations.xml
index 910564ba32..10da41c88b 100644
--- a/features/roomlist/impl/src/main/res/values-fi/translations.xml
+++ b/features/home/impl/src/main/res/values-fi/translations.xml
@@ -40,6 +40,7 @@ Sinulla ei ole lukemattomia viestejä!"
"Keskustelut"
"Merkitse luetuksi"
"Merkitse lukemattomaksi"
+ "Tämä huone on päivitetty"
"Vaikuttaisi siltä, että käytät uutta laitetta. Vahvista toisella laitteella nähdäksesi salatut viestit."
"Vahvista, että se olet sinä"
diff --git a/features/roomlist/impl/src/main/res/values-fr/translations.xml b/features/home/impl/src/main/res/values-fr/translations.xml
similarity index 88%
rename from features/roomlist/impl/src/main/res/values-fr/translations.xml
rename to features/home/impl/src/main/res/values-fr/translations.xml
index 4ffd377d4f..3f86a64810 100644
--- a/features/roomlist/impl/src/main/res/values-fr/translations.xml
+++ b/features/home/impl/src/main/res/values-fr/translations.xml
@@ -1,5 +1,8 @@
+ "Désactivez l’optimisation de la batterie pour cette application afin de vous assurer que toutes les notifications sont reçues."
+ "Désactiver l’optimisation"
+ "Ils vous manque des notifications?"
"Générez une nouvelle clé de récupération qui peut être utilisée pour restaurer l’historique de vos messages chiffrés au cas où vous perdriez l’accès à vos appareils."
"Configurer la sauvegarde"
"Configurer la récupération"
@@ -18,6 +21,7 @@
"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"
+ "Supprimer les filtres"
"Commencez par envoyer un message à quelqu’un."
"Aucune discussion pour le moment."
"Favoris"
@@ -40,6 +44,7 @@ Vous n’avez plus de messages non-lus !"
"Conversations"
"Marquer comme lu"
"Marquer comme non lu"
+ "Ce salon a été mis à niveau."
"Il semblerait que vous utilisiez un nouvel appareil. Vérifiez la session avec un autre de vos appareils pour accéder à vos messages chiffrés."
"Vérifier que c’est bien vous"
diff --git a/features/roomlist/impl/src/main/res/values-hu/translations.xml b/features/home/impl/src/main/res/values-hu/translations.xml
similarity index 88%
rename from features/roomlist/impl/src/main/res/values-hu/translations.xml
rename to features/home/impl/src/main/res/values-hu/translations.xml
index 4c1b882ef6..e0763e4c6f 100644
--- a/features/roomlist/impl/src/main/res/values-hu/translations.xml
+++ b/features/home/impl/src/main/res/values-hu/translations.xml
@@ -1,5 +1,8 @@
+ "Kapcsolja ki az alkalmazás akkumulátor-optimalizálását, hogy biztosan megkapja az összes értesítést."
+ "Optimalizálás letiltása"
+ "Nem érkeznek meg az értesítések?"
"Hozzon létre egy új helyreállítási kulcsot, amellyel visszaállíthatja a titkosított üzenetek előzményeit, ha elveszíti az eszközökhöz való hozzáférést."
"Helyreállítás beállítása"
"Helyreállítás beállítása a fiókja védelméhez"
@@ -18,6 +21,7 @@
"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"
+ "Szűrők törlése"
"Kezdje azzal, hogy üzenetet küld valakinek."
"Még nincsenek csevegések."
"Kedvencek"
@@ -40,6 +44,7 @@ Nincs olvasatlan üzenete!"
"Összes csevegés"
"Megjelölés olvasottként"
"Megjelölés olvasatlanként"
+ "A szoba verzióját frissítették"
"Úgy tűnik, hogy új eszközt használ. Ellenőrizze egy másik eszközzel, hogy a továbbiakban elérje a titkosított üzeneteket."
"Ellenőrizze, hogy Ön az"
diff --git a/features/roomlist/impl/src/main/res/values-in/translations.xml b/features/home/impl/src/main/res/values-in/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-in/translations.xml
rename to features/home/impl/src/main/res/values-in/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-it/translations.xml b/features/home/impl/src/main/res/values-it/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-it/translations.xml
rename to features/home/impl/src/main/res/values-it/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-ka/translations.xml b/features/home/impl/src/main/res/values-ka/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-ka/translations.xml
rename to features/home/impl/src/main/res/values-ka/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-lt/translations.xml b/features/home/impl/src/main/res/values-lt/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-lt/translations.xml
rename to features/home/impl/src/main/res/values-lt/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-nb/translations.xml b/features/home/impl/src/main/res/values-nb/translations.xml
similarity index 90%
rename from features/roomlist/impl/src/main/res/values-nb/translations.xml
rename to features/home/impl/src/main/res/values-nb/translations.xml
index b4fc0b1950..2ce6733b8a 100644
--- a/features/roomlist/impl/src/main/res/values-nb/translations.xml
+++ b/features/home/impl/src/main/res/values-nb/translations.xml
@@ -1,5 +1,8 @@
+ "Deaktiver batterioptimalisering for denne appen for å sikre at alle varsler mottas."
+ "Deaktiver optimalisering"
+ "Kommer ikke varslene frem?"
"Gjenopprett din kryptografiske identitet og meldingshistorikk med en gjenopprettingsnøkkel hvis du har mistet alle dine brukte enheter."
"Konfigurer gjenoppretting"
"Konfigurer gjenoppretting for å beskytte kontoen din"
@@ -40,6 +43,7 @@ Du har ingen uleste meldinger!"
"Chatter"
"Marker som lest"
"Merk som ulest"
+ "Dette rommet har blitt oppgradert"
"Det ser ut til at du bruker en ny enhet. Bekreft med en annen enhet for å få tilgang til de krypterte meldingene dine."
"Bekreft at det er deg"
diff --git a/features/roomlist/impl/src/main/res/values-nl/translations.xml b/features/home/impl/src/main/res/values-nl/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-nl/translations.xml
rename to features/home/impl/src/main/res/values-nl/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-pl/translations.xml b/features/home/impl/src/main/res/values-pl/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-pl/translations.xml
rename to features/home/impl/src/main/res/values-pl/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-pt-rBR/translations.xml b/features/home/impl/src/main/res/values-pt-rBR/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-pt-rBR/translations.xml
rename to features/home/impl/src/main/res/values-pt-rBR/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-pt/translations.xml b/features/home/impl/src/main/res/values-pt/translations.xml
similarity index 89%
rename from features/roomlist/impl/src/main/res/values-pt/translations.xml
rename to features/home/impl/src/main/res/values-pt/translations.xml
index b332c4f1f8..daba977faa 100644
--- a/features/roomlist/impl/src/main/res/values-pt/translations.xml
+++ b/features/home/impl/src/main/res/values-pt/translations.xml
@@ -1,5 +1,8 @@
+ "Desativa as otimizações de bateria para esta aplicação, de modo a garantir que todas as notificações chegam."
+ "Desativar otimizações"
+ "As notificações não chegam?"
"Recupera a tua identidade criptográfica e o histórico de mensagens com uma chave de recuperação se tiveres perdido todos os teus dispositivos existentes."
"Configurar recuperação"
"Configurar a recuperação"
@@ -18,6 +21,7 @@
"Este processo só acontece uma única vez, obrigado por esperares."
"A configurar a tua conta…"
"Criar uma nova conversa ou sala"
+ "Limpar filtros"
"Começa por enviar uma mensagem a alguém."
"Ainda não tens conversas."
"Favoritas"
@@ -40,6 +44,7 @@ Não tens nenhuma mensagem por ler!"
"Conversas"
"Marcar como lida"
"Marcar como não lida"
+ "Esta sala foi atualizada"
"Parece que estás a utilizar um novo dispositivo. Verifica-o com um outro para poderes aceder às tuas mensagens cifradas."
"Verifica que és tu"
diff --git a/features/roomlist/impl/src/main/res/values-ro/translations.xml b/features/home/impl/src/main/res/values-ro/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-ro/translations.xml
rename to features/home/impl/src/main/res/values-ro/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-ru/translations.xml b/features/home/impl/src/main/res/values-ru/translations.xml
similarity index 97%
rename from features/roomlist/impl/src/main/res/values-ru/translations.xml
rename to features/home/impl/src/main/res/values-ru/translations.xml
index 1ae52ac1a5..a70efcfdfd 100644
--- a/features/roomlist/impl/src/main/res/values-ru/translations.xml
+++ b/features/home/impl/src/main/res/values-ru/translations.xml
@@ -40,6 +40,7 @@
"Все чаты"
"Пометить как прочитанное"
"Отметить как непрочитанное"
+ "Эта комната была обновлена"
"Похоже, вы используете новое устройство. Чтобы получить доступ к зашифрованным сообщениям пройдите подтверждение с другим устройством."
"Подтвердите, что это вы"
diff --git a/features/roomlist/impl/src/main/res/values-sk/translations.xml b/features/home/impl/src/main/res/values-sk/translations.xml
similarity index 89%
rename from features/roomlist/impl/src/main/res/values-sk/translations.xml
rename to features/home/impl/src/main/res/values-sk/translations.xml
index 9898a0cbad..ade2c192c7 100644
--- a/features/roomlist/impl/src/main/res/values-sk/translations.xml
+++ b/features/home/impl/src/main/res/values-sk/translations.xml
@@ -1,5 +1,8 @@
+ "Vypnite optimalizáciu batérie pre túto aplikáciu, aby ste sa uistili, že sú prijaté všetky upozornenia."
+ "Zakázať optimalizáciu"
+ "Oznámenia neprichádzajú?"
"Vytvorte nový kľúč na obnovenie, ktorý môžete použiť na obnovenie vašej histórie šifrovaných správ v prípade straty prístupu k vašim zariadeniam."
"Nastaviť obnovenie"
"Nastaviť obnovenie"
@@ -18,6 +21,7 @@
"Ide o jednorazový proces, ďakujeme za trpezlivosť."
"Nastavenie vášho účtu."
"Vytvorte novú konverzáciu alebo miestnosť"
+ "Vyčistiť filtre"
"Začnite tým, že niekomu pošlete správu."
"Zatiaľ žiadne konverzácie."
"Obľúbené"
@@ -40,6 +44,7 @@ Nemáte žiadne neprečítané správy!"
"Všetky konverzácie"
"Označiť ako prečítané"
"Označiť ako neprečítané"
+ "Táto miestnosť bola aktualizovaná"
"Vyzerá to tak, že používate nové zariadenie. Overte svoj prístup k zašifrovaným správam pomocou vášho druhého zariadenia."
"Overte, že ste to vy"
diff --git a/features/roomlist/impl/src/main/res/values-sv/translations.xml b/features/home/impl/src/main/res/values-sv/translations.xml
similarity index 97%
rename from features/roomlist/impl/src/main/res/values-sv/translations.xml
rename to features/home/impl/src/main/res/values-sv/translations.xml
index 9cc2fe2f99..ab00fd3dd3 100644
--- a/features/roomlist/impl/src/main/res/values-sv/translations.xml
+++ b/features/home/impl/src/main/res/values-sv/translations.xml
@@ -40,6 +40,7 @@ Du har inga olästa meddelanden!"
"Alla chattar"
"Markera som läst"
"Markera som oläst"
+ "Det här rummet har uppgraderats"
"Det verkar som om du använder en ny enhet. Verifiera med en annan enhet för att komma åt dina krypterade meddelanden."
"Verifiera att det är du"
diff --git a/features/roomlist/impl/src/main/res/values-tr/translations.xml b/features/home/impl/src/main/res/values-tr/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-tr/translations.xml
rename to features/home/impl/src/main/res/values-tr/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-uk/translations.xml b/features/home/impl/src/main/res/values-uk/translations.xml
similarity index 90%
rename from features/roomlist/impl/src/main/res/values-uk/translations.xml
rename to features/home/impl/src/main/res/values-uk/translations.xml
index 16836724df..57d750d029 100644
--- a/features/roomlist/impl/src/main/res/values-uk/translations.xml
+++ b/features/home/impl/src/main/res/values-uk/translations.xml
@@ -1,5 +1,8 @@
+ "Вимкніть оптимізацію акумулятора для цього застосунку, щоб надходили всі сповіщення."
+ "Вимкнути оптимізацію"
+ "Не надходять сповіщення?"
"Відновіть свою криптографічну ідентичність та історію повідомлень за допомогою ключа відновлення, якщо ви втратили всі наявні пристрої."
"Налаштувати відновлення"
"Налаштуйте відновлення для захисту свого облікового запису"
@@ -40,6 +43,7 @@
"Бесіди"
"Позначити прочитаним"
"Позначити непрочитаним"
+ "Цю кімнату оновлено"
"Схоже, ви використовуєте новий пристрій. Щоб отримати доступ до зашифрованих повідомлень, підтвердьте особу за допомогою іншого пристрою."
"Підтвердьте, що це ви"
diff --git a/features/roomlist/impl/src/main/res/values-ur/translations.xml b/features/home/impl/src/main/res/values-ur/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-ur/translations.xml
rename to features/home/impl/src/main/res/values-ur/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-uz/translations.xml b/features/home/impl/src/main/res/values-uz/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-uz/translations.xml
rename to features/home/impl/src/main/res/values-uz/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-zh-rTW/translations.xml b/features/home/impl/src/main/res/values-zh-rTW/translations.xml
similarity index 100%
rename from features/roomlist/impl/src/main/res/values-zh-rTW/translations.xml
rename to features/home/impl/src/main/res/values-zh-rTW/translations.xml
diff --git a/features/roomlist/impl/src/main/res/values-zh/translations.xml b/features/home/impl/src/main/res/values-zh/translations.xml
similarity index 95%
rename from features/roomlist/impl/src/main/res/values-zh/translations.xml
rename to features/home/impl/src/main/res/values-zh/translations.xml
index e7e97040dd..4ca91cb796 100644
--- a/features/roomlist/impl/src/main/res/values-zh/translations.xml
+++ b/features/home/impl/src/main/res/values-zh/translations.xml
@@ -1,5 +1,7 @@
+ "禁用优化"
+ "通知未送达?"
"生成新的恢复密钥,该密钥可用于在您无法访问设备时恢复加密的消息历史记录。"
"设置恢复"
"设置恢复"
diff --git a/features/roomlist/impl/src/main/res/values/localazy.xml b/features/home/impl/src/main/res/values/localazy.xml
similarity index 98%
rename from features/roomlist/impl/src/main/res/values/localazy.xml
rename to features/home/impl/src/main/res/values/localazy.xml
index 90432433c2..58afb06591 100644
--- a/features/roomlist/impl/src/main/res/values/localazy.xml
+++ b/features/home/impl/src/main/res/values/localazy.xml
@@ -21,6 +21,7 @@
"This is a one time process, thanks for waiting."
"Setting up your account."
"Create a new conversation or room"
+ "Clear filters"
"Get started by messaging someone."
"No chats yet."
"Favourites"
diff --git a/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/FakeDateTimeObserver.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/FakeDateTimeObserver.kt
new file mode 100644
index 0000000000..6cbebb3135
--- /dev/null
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/FakeDateTimeObserver.kt
@@ -0,0 +1,19 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.features.home.impl
+
+import io.element.android.libraries.androidutils.system.DateTimeObserver
+import kotlinx.coroutines.flow.MutableSharedFlow
+
+class FakeDateTimeObserver : DateTimeObserver {
+ override val changes = MutableSharedFlow(extraBufferCapacity = 1)
+
+ fun given(event: DateTimeObserver.Event) {
+ changes.tryEmit(event)
+ }
+}
diff --git a/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/HomePresenterTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/HomePresenterTest.kt
new file mode 100644
index 0000000000..0ca344cafd
--- /dev/null
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/HomePresenterTest.kt
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.features.home.impl
+
+import app.cash.molecule.RecompositionMode
+import app.cash.molecule.moleculeFlow
+import app.cash.turbine.test
+import com.google.common.truth.Truth.assertThat
+import io.element.android.features.home.impl.roomlist.aRoomListState
+import io.element.android.features.logout.api.direct.aDirectLogoutState
+import io.element.android.features.rageshake.api.RageshakeFeatureAvailability
+import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher
+import io.element.android.libraries.indicator.api.IndicatorService
+import io.element.android.libraries.indicator.test.FakeIndicatorService
+import io.element.android.libraries.matrix.api.MatrixClient
+import io.element.android.libraries.matrix.api.sync.SyncService
+import io.element.android.libraries.matrix.api.user.MatrixUser
+import io.element.android.libraries.matrix.test.AN_AVATAR_URL
+import io.element.android.libraries.matrix.test.AN_EXCEPTION
+import io.element.android.libraries.matrix.test.A_USER_ID
+import io.element.android.libraries.matrix.test.A_USER_NAME
+import io.element.android.libraries.matrix.test.FakeMatrixClient
+import io.element.android.libraries.matrix.test.sync.FakeSyncService
+import io.element.android.tests.testutils.WarmUpRule
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.runTest
+import org.junit.Rule
+import org.junit.Test
+
+class HomePresenterTest {
+ @get:Rule
+ val warmUpRule = WarmUpRule()
+
+ @Test
+ fun `present - should start with no user and then load user with success`() = runTest {
+ val matrixClient = FakeMatrixClient(
+ userDisplayName = null,
+ userAvatarUrl = null,
+ )
+ matrixClient.givenGetProfileResult(matrixClient.sessionId, Result.success(MatrixUser(matrixClient.sessionId, A_USER_NAME, AN_AVATAR_URL)))
+ val presenter = createHomePresenter(
+ client = matrixClient,
+ rageshakeFeatureAvailability = { false },
+ )
+ moleculeFlow(RecompositionMode.Immediate) {
+ presenter.present()
+ }.test {
+ val initialState = awaitItem()
+ assertThat(initialState.matrixUser).isEqualTo(MatrixUser(A_USER_ID))
+ assertThat(initialState.canReportBug).isFalse()
+ val withUserState = awaitItem()
+ assertThat(withUserState.matrixUser.userId).isEqualTo(A_USER_ID)
+ assertThat(withUserState.matrixUser.displayName).isEqualTo(A_USER_NAME)
+ assertThat(withUserState.matrixUser.avatarUrl).isEqualTo(AN_AVATAR_URL)
+ assertThat(withUserState.showAvatarIndicator).isFalse()
+ }
+ }
+
+ @Test
+ fun `present - show avatar indicator`() = runTest {
+ val indicatorService = FakeIndicatorService()
+ val presenter = createHomePresenter(
+ indicatorService = indicatorService,
+ )
+ moleculeFlow(RecompositionMode.Immediate) {
+ presenter.present()
+ }.test {
+ val initialState = awaitItem()
+ assertThat(initialState.showAvatarIndicator).isFalse()
+ indicatorService.setShowRoomListTopBarIndicator(true)
+ val finalState = awaitItem()
+ assertThat(finalState.showAvatarIndicator).isTrue()
+ }
+ }
+
+ @Test
+ fun `present - should start with no user and then load user with error`() = runTest {
+ val matrixClient = FakeMatrixClient(
+ userDisplayName = null,
+ userAvatarUrl = null,
+ )
+ matrixClient.givenGetProfileResult(matrixClient.sessionId, Result.failure(AN_EXCEPTION))
+ val presenter = createHomePresenter(client = matrixClient)
+ moleculeFlow(RecompositionMode.Immediate) {
+ presenter.present()
+ }.test {
+ val initialState = awaitItem()
+ assertThat(initialState.matrixUser).isEqualTo(MatrixUser(matrixClient.sessionId))
+ // No new state is coming
+ }
+ }
+
+ private fun TestScope.createHomePresenter(
+ client: MatrixClient = FakeMatrixClient(),
+ syncService: SyncService = FakeSyncService(),
+ snackbarDispatcher: SnackbarDispatcher = SnackbarDispatcher(),
+ rageshakeFeatureAvailability: RageshakeFeatureAvailability = RageshakeFeatureAvailability { true },
+ indicatorService: IndicatorService = FakeIndicatorService(),
+ ) = HomePresenter(
+ client = client,
+ syncService = syncService,
+ snackbarDispatcher = snackbarDispatcher,
+ indicatorService = indicatorService,
+ logoutPresenter = { aDirectLogoutState() },
+ roomListPresenter = { aRoomListState() },
+ rageshakeFeatureAvailability = rageshakeFeatureAvailability,
+ )
+}
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListDataSourceTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/datasource/RoomListDataSourceTest.kt
similarity index 97%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListDataSourceTest.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/datasource/RoomListDataSourceTest.kt
index bcb6552d30..03fe2efd94 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListDataSourceTest.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/datasource/RoomListDataSourceTest.kt
@@ -5,11 +5,11 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.datasource
+package io.element.android.features.home.impl.datasource
import app.cash.turbine.test
import com.google.common.truth.Truth.assertThat
-import io.element.android.features.roomlist.impl.FakeDateTimeObserver
+import io.element.android.features.home.impl.FakeDateTimeObserver
import io.element.android.libraries.androidutils.system.DateTimeObserver
import io.element.android.libraries.dateformatter.test.FakeDateFormatter
import io.element.android.libraries.matrix.api.roomlist.RoomListService
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactoryTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/datasource/RoomListRoomSummaryFactoryTest.kt
similarity index 92%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactoryTest.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/datasource/RoomListRoomSummaryFactoryTest.kt
index 86c0981d4f..95444b6c4f 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/datasource/RoomListRoomSummaryFactoryTest.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/datasource/RoomListRoomSummaryFactoryTest.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.datasource
+package io.element.android.features.home.impl.datasource
import io.element.android.libraries.dateformatter.api.DateFormatter
import io.element.android.libraries.dateformatter.test.FakeDateFormatter
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersEmptyStateResourcesTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersEmptyStateResourcesTest.kt
similarity index 97%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersEmptyStateResourcesTest.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersEmptyStateResourcesTest.kt
index 67ef79ac81..3f4f45afae 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersEmptyStateResourcesTest.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersEmptyStateResourcesTest.kt
@@ -5,10 +5,10 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters
+package io.element.android.features.home.impl.filters
import com.google.common.truth.Truth.assertThat
-import io.element.android.features.roomlist.impl.R
+import io.element.android.features.home.impl.R
import org.junit.Test
class RoomListFiltersEmptyStateResourcesTest {
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersPresenterTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersPresenterTest.kt
similarity index 95%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersPresenterTest.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersPresenterTest.kt
index 560e5f938e..a71afca607 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersPresenterTest.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersPresenterTest.kt
@@ -5,14 +5,14 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters
+package io.element.android.features.home.impl.filters
import app.cash.molecule.RecompositionMode
import app.cash.molecule.moleculeFlow
import app.cash.turbine.test
import com.google.common.truth.Truth.assertThat
-import io.element.android.features.roomlist.impl.filters.selection.DefaultFilterSelectionStrategy
-import io.element.android.features.roomlist.impl.filters.selection.FilterSelectionState
+import io.element.android.features.home.impl.filters.selection.DefaultFilterSelectionStrategy
+import io.element.android.features.home.impl.filters.selection.FilterSelectionState
import io.element.android.libraries.matrix.api.roomlist.RoomListService
import io.element.android.libraries.matrix.test.roomlist.FakeRoomListService
import io.element.android.tests.testutils.awaitLastSequentialItem
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersViewTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersViewTest.kt
similarity index 90%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersViewTest.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersViewTest.kt
index 0041ef988d..1fd37d9252 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/filters/RoomListFiltersViewTest.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/filters/RoomListFiltersViewTest.kt
@@ -5,13 +5,13 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.filters
+package io.element.android.features.home.impl.filters
import androidx.activity.ComponentActivity
import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.test.ext.junit.runners.AndroidJUnit4
-import io.element.android.features.roomlist.impl.R
-import io.element.android.features.roomlist.impl.filters.selection.FilterSelectionState
+import io.element.android.features.home.impl.R
+import io.element.android.features.home.impl.filters.selection.FilterSelectionState
import io.element.android.libraries.testtags.TestTags
import io.element.android.tests.testutils.EventsRecorder
import io.element.android.tests.testutils.clickOn
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/model/RoomListBaseRoomSummaryTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/model/RoomListBaseRoomSummaryTest.kt
similarity index 98%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/model/RoomListBaseRoomSummaryTest.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/model/RoomListBaseRoomSummaryTest.kt
index e6bfb1a9cb..55b3f1ffee 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/model/RoomListBaseRoomSummaryTest.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/model/RoomListBaseRoomSummaryTest.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.model
+package io.element.android.features.home.impl.model
import com.google.common.truth.Truth.assertThat
import io.element.android.libraries.designsystem.components.avatar.AvatarData
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListContextMenuTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenuTest.kt
similarity index 98%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListContextMenuTest.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenuTest.kt
index 6becb39e7a..b336178d22 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListContextMenuTest.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListContextMenuTest.kt
@@ -5,12 +5,13 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
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.home.impl.R
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.ui.strings.CommonStrings
import io.element.android.tests.testutils.EnsureCalledOnceWithParam
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListDeclineInviteMenuTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListDeclineInviteMenuTest.kt
similarity index 96%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListDeclineInviteMenuTest.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListDeclineInviteMenuTest.kt
index 8c75027ec5..48a51b87bb 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListDeclineInviteMenuTest.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListDeclineInviteMenuTest.kt
@@ -5,12 +5,12 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
import androidx.activity.ComponentActivity
import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.test.ext.junit.runners.AndroidJUnit4
-import io.element.android.features.roomlist.impl.model.aRoomListRoomSummary
+import io.element.android.features.home.impl.model.aRoomListRoomSummary
import io.element.android.libraries.ui.strings.CommonStrings
import io.element.android.tests.testutils.EnsureCalledOnceWithParam
import io.element.android.tests.testutils.EnsureNeverCalledWithParam
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenterTest.kt
similarity index 86%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenterTest.kt
index db605b5b6c..bc0163585f 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListPresenterTest.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListPresenterTest.kt
@@ -5,13 +5,22 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
import app.cash.molecule.RecompositionMode
import app.cash.molecule.moleculeFlow
import app.cash.turbine.test
import com.google.common.truth.Truth.assertThat
import im.vector.app.features.analytics.plan.Interaction
+import io.element.android.features.home.impl.FakeDateTimeObserver
+import io.element.android.features.home.impl.datasource.RoomListDataSource
+import io.element.android.features.home.impl.datasource.aRoomListRoomSummaryFactory
+import io.element.android.features.home.impl.filters.RoomListFiltersState
+import io.element.android.features.home.impl.filters.aRoomListFiltersState
+import io.element.android.features.home.impl.model.createRoomListRoomSummary
+import io.element.android.features.home.impl.search.RoomListSearchEvents
+import io.element.android.features.home.impl.search.RoomListSearchState
+import io.element.android.features.home.impl.search.aRoomListSearchState
import io.element.android.features.invite.api.SeenInvitesStore
import io.element.android.features.invite.api.acceptdecline.AcceptDeclineInviteEvents
import io.element.android.features.invite.api.acceptdecline.AcceptDeclineInviteState
@@ -19,28 +28,14 @@ import io.element.android.features.invite.test.InMemorySeenInvitesStore
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.logout.api.direct.aDirectLogoutState
-import io.element.android.features.rageshake.api.RageshakeFeatureAvailability
-import io.element.android.features.roomlist.impl.datasource.RoomListDataSource
-import io.element.android.features.roomlist.impl.datasource.aRoomListRoomSummaryFactory
-import io.element.android.features.roomlist.impl.filters.RoomListFiltersState
-import io.element.android.features.roomlist.impl.filters.aRoomListFiltersState
-import io.element.android.features.roomlist.impl.model.createRoomListRoomSummary
-import io.element.android.features.roomlist.impl.search.RoomListSearchEvents
-import io.element.android.features.roomlist.impl.search.RoomListSearchState
-import io.element.android.features.roomlist.impl.search.aRoomListSearchState
-import io.element.android.libraries.androidutils.system.DateTimeObserver
import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.dateformatter.api.DateFormatter
import io.element.android.libraries.dateformatter.test.FakeDateFormatter
-import io.element.android.libraries.designsystem.utils.snackbar.SnackbarDispatcher
import io.element.android.libraries.eventformatter.api.RoomLastMessageFormatter
import io.element.android.libraries.eventformatter.test.FakeRoomLastMessageFormatter
import io.element.android.libraries.featureflag.api.FeatureFlagService
import io.element.android.libraries.featureflag.test.FakeFeatureFlagService
import io.element.android.libraries.fullscreenintent.api.aFullScreenIntentPermissionsState
-import io.element.android.libraries.indicator.api.IndicatorService
-import io.element.android.libraries.indicator.test.FakeIndicatorService
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.SessionId
@@ -48,18 +43,12 @@ import io.element.android.libraries.matrix.api.encryption.RecoveryState
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
import io.element.android.libraries.matrix.api.roomlist.RoomList
-import io.element.android.libraries.matrix.api.sync.SyncService
import io.element.android.libraries.matrix.api.sync.SyncState
import io.element.android.libraries.matrix.api.timeline.ReceiptType
-import io.element.android.libraries.matrix.api.user.MatrixUser
-import io.element.android.libraries.matrix.test.AN_AVATAR_URL
-import io.element.android.libraries.matrix.test.AN_EXCEPTION
import io.element.android.libraries.matrix.test.A_ROOM_ID
import io.element.android.libraries.matrix.test.A_ROOM_ID_2
import io.element.android.libraries.matrix.test.A_ROOM_ID_3
import io.element.android.libraries.matrix.test.A_SESSION_ID
-import io.element.android.libraries.matrix.test.A_USER_ID
-import io.element.android.libraries.matrix.test.A_USER_NAME
import io.element.android.libraries.matrix.test.FakeMatrixClient
import io.element.android.libraries.matrix.test.encryption.FakeEncryptionService
import io.element.android.libraries.matrix.test.notificationsettings.FakeNotificationSettingsService
@@ -88,7 +77,6 @@ import io.element.android.tests.testutils.lambda.value
import io.element.android.tests.testutils.test
import io.element.android.tests.testutils.testCoroutineDispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.advanceTimeBy
import kotlinx.coroutines.test.runTest
@@ -100,65 +88,6 @@ class RoomListPresenterTest {
@get:Rule
val warmUpRule = WarmUpRule()
- @Test
- fun `present - should start with no user and then load user with success`() = runTest {
- val matrixClient = FakeMatrixClient(
- userDisplayName = null,
- userAvatarUrl = null,
- )
- matrixClient.givenGetProfileResult(matrixClient.sessionId, Result.success(MatrixUser(matrixClient.sessionId, A_USER_NAME, AN_AVATAR_URL)))
- val presenter = createRoomListPresenter(
- client = matrixClient,
- rageshakeFeatureAvailability = { false },
- )
- moleculeFlow(RecompositionMode.Immediate) {
- presenter.present()
- }.test {
- val initialState = awaitItem()
- assertThat(initialState.matrixUser).isEqualTo(MatrixUser(A_USER_ID))
- assertThat(initialState.canReportBug).isFalse()
- val withUserState = awaitItem()
- assertThat(withUserState.matrixUser.userId).isEqualTo(A_USER_ID)
- assertThat(withUserState.matrixUser.displayName).isEqualTo(A_USER_NAME)
- assertThat(withUserState.matrixUser.avatarUrl).isEqualTo(AN_AVATAR_URL)
- assertThat(withUserState.showAvatarIndicator).isFalse()
- }
- }
-
- @Test
- fun `present - show avatar indicator`() = runTest {
- val indicatorService = FakeIndicatorService()
- val presenter = createRoomListPresenter(
- indicatorService = indicatorService,
- )
- moleculeFlow(RecompositionMode.Immediate) {
- presenter.present()
- }.test {
- val initialState = awaitItem()
- assertThat(initialState.showAvatarIndicator).isFalse()
- indicatorService.setShowRoomListTopBarIndicator(true)
- val finalState = awaitItem()
- assertThat(finalState.showAvatarIndicator).isTrue()
- }
- }
-
- @Test
- fun `present - should start with no user and then load user with error`() = runTest {
- val matrixClient = FakeMatrixClient(
- userDisplayName = null,
- userAvatarUrl = null,
- )
- matrixClient.givenGetProfileResult(matrixClient.sessionId, Result.failure(AN_EXCEPTION))
- val presenter = createRoomListPresenter(client = matrixClient)
- moleculeFlow(RecompositionMode.Immediate) {
- presenter.present()
- }.test {
- val initialState = awaitItem()
- assertThat(initialState.matrixUser).isEqualTo(MatrixUser(matrixClient.sessionId))
- // No new state is coming
- }
- }
-
@Test
fun `present - load 1 room with success`() = runTest {
val roomListService = FakeRoomListService()
@@ -672,8 +601,6 @@ class RoomListPresenterTest {
private fun TestScope.createRoomListPresenter(
client: MatrixClient = FakeMatrixClient(),
- syncService: SyncService = FakeSyncService(),
- snackbarDispatcher: SnackbarDispatcher = SnackbarDispatcher(),
leaveRoomState: LeaveRoomState = aLeaveRoomState(),
dateFormatter: DateFormatter = FakeDateFormatter(),
roomLastMessageFormatter: RoomLastMessageFormatter = FakeRoomLastMessageFormatter(),
@@ -685,13 +612,9 @@ class RoomListPresenterTest {
acceptDeclineInvitePresenter: Presenter = Presenter { anAcceptDeclineInviteState() },
notificationCleaner: NotificationCleaner = FakeNotificationCleaner(),
appPreferencesStore: AppPreferencesStore = InMemoryAppPreferencesStore(),
- rageshakeFeatureAvailability: RageshakeFeatureAvailability = RageshakeFeatureAvailability { true },
seenInvitesStore: SeenInvitesStore = InMemorySeenInvitesStore(),
- indicatorService: IndicatorService = FakeIndicatorService(),
) = RoomListPresenter(
client = client,
- syncService = syncService,
- snackbarDispatcher = snackbarDispatcher,
leaveRoomPresenter = { leaveRoomState },
roomListDataSource = RoomListDataSource(
roomListService = client.roomListService,
@@ -705,7 +628,6 @@ class RoomListPresenterTest {
dateTimeObserver = FakeDateTimeObserver(),
),
featureFlagService = featureFlagService,
- indicatorService = indicatorService,
searchPresenter = searchPresenter,
sessionPreferencesStore = sessionPreferencesStore,
filtersPresenter = filtersPresenter,
@@ -714,17 +636,7 @@ class RoomListPresenterTest {
fullScreenIntentPermissionsPresenter = { aFullScreenIntentPermissionsState() },
batteryOptimizationPresenter = { aBatteryOptimizationState() },
notificationCleaner = notificationCleaner,
- logoutPresenter = { aDirectLogoutState() },
appPreferencesStore = appPreferencesStore,
- rageshakeFeatureAvailability = rageshakeFeatureAvailability,
seenInvitesStore = seenInvitesStore,
)
}
-
-class FakeDateTimeObserver : DateTimeObserver {
- override val changes = MutableSharedFlow(extraBufferCapacity = 1)
-
- fun given(event: DateTimeObserver.Event) {
- changes.tryEmit(event)
- }
-}
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListState.kt
similarity index 83%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListState.kt
index faf3fcfb5c..3837fe6f55 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListState.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListState.kt
@@ -5,6 +5,6 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
internal fun RoomListState.contentAsRooms() = contentState as RoomListContentState.Rooms
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListViewTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListViewTest.kt
similarity index 94%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListViewTest.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListViewTest.kt
index 60da841e96..1b241ab294 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/RoomListViewTest.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/roomlist/RoomListViewTest.kt
@@ -5,7 +5,7 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl
+package io.element.android.features.home.impl.roomlist
import androidx.activity.ComponentActivity
import androidx.compose.ui.test.junit4.AndroidComposeTestRule
@@ -16,9 +16,12 @@ import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.performClick
import androidx.compose.ui.test.performTouchInput
import androidx.test.ext.junit.runners.AndroidJUnit4
-import io.element.android.features.roomlist.impl.components.RoomListMenuAction
-import io.element.android.features.roomlist.impl.model.RoomListRoomSummary
-import io.element.android.features.roomlist.impl.model.RoomSummaryDisplayType
+import io.element.android.features.home.impl.HomeView
+import io.element.android.features.home.impl.R
+import io.element.android.features.home.impl.aHomeState
+import io.element.android.features.home.impl.components.RoomListMenuAction
+import io.element.android.features.home.impl.model.RoomListRoomSummary
+import io.element.android.features.home.impl.model.RoomSummaryDisplayType
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.ui.strings.CommonStrings
import io.element.android.tests.testutils.EnsureNeverCalled
@@ -35,7 +38,8 @@ import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
class RoomListViewTest {
- @get:Rule val rule = createAndroidComposeRule()
+ @get:Rule
+ val rule = createAndroidComposeRule()
@Test
fun `displaying the view automatically sends a couple of UpdateVisibleRangeEvents`() {
@@ -272,8 +276,8 @@ private fun AndroidComposeTestRule.setRoomL
onDeclineInviteAndBlockUser: (RoomListRoomSummary) -> Unit = EnsureNeverCalledWithParam(),
) {
setSafeContent {
- RoomListView(
- state = state,
+ HomeView(
+ homeState = aHomeState(roomListState = state),
onRoomClick = onRoomClick,
onSettingsClick = onSettingsClick,
onSetUpRecoveryClick = onSetUpRecoveryClick,
diff --git a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchPresenterTest.kt b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/search/RoomListSearchPresenterTest.kt
similarity index 97%
rename from features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchPresenterTest.kt
rename to features/home/impl/src/test/kotlin/io/element/android/features/home/impl/search/RoomListSearchPresenterTest.kt
index 5d69d21c1e..7649b6141e 100644
--- a/features/roomlist/impl/src/test/kotlin/io/element/android/features/roomlist/impl/search/RoomListSearchPresenterTest.kt
+++ b/features/home/impl/src/test/kotlin/io/element/android/features/home/impl/search/RoomListSearchPresenterTest.kt
@@ -5,13 +5,13 @@
* Please see LICENSE files in the repository root for full details.
*/
-package io.element.android.features.roomlist.impl.search
+package io.element.android.features.home.impl.search
import app.cash.molecule.RecompositionMode
import app.cash.molecule.moleculeFlow
import app.cash.turbine.test
import com.google.common.truth.Truth.assertThat
-import io.element.android.features.roomlist.impl.datasource.aRoomListRoomSummaryFactory
+import io.element.android.features.home.impl.datasource.aRoomListRoomSummaryFactory
import io.element.android.libraries.dateformatter.test.FakeDateFormatter
import io.element.android.libraries.eventformatter.test.FakeRoomLastMessageFormatter
import io.element.android.libraries.matrix.api.roomlist.RoomListFilter
diff --git a/features/invite/impl/src/main/res/values-bg/translations.xml b/features/invite/impl/src/main/res/values-bg/translations.xml
index 3418954ad6..5e3c9a6fbd 100644
--- a/features/invite/impl/src/main/res/values-bg/translations.xml
+++ b/features/invite/impl/src/main/res/values-bg/translations.xml
@@ -1,5 +1,6 @@
+ "Блокиране на потребителя"
"Сигурни ли сте, че искате да отхвърлите поканата за присъединяване в %1$s?"
"Отказване на покана"
"Няма покани"
diff --git a/features/invite/impl/src/main/res/values-da/translations.xml b/features/invite/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..6093a431bc
--- /dev/null
+++ b/features/invite/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,18 @@
+
+
+ "Du vil ikke se nogen beskeder eller rum-invitationer fra denne bruger"
+ "Bloker bruger"
+ "Anmeld dette rum til din kontoudbyder."
+ "Beskriv årsagen til anmeldelsen…"
+ "Afvis og blokér"
+ "Er du sikker på, at du vil afvise invitationen til at deltage i %1$s?"
+ "Afvis invitation"
+ "Er du sikker på, at du vil afvise denne private samtale med %1$s?"
+ "Afvis samtale"
+ "Ingen invitationer"
+ "%1$s(%2$s ) inviterede dig"
+ "Ja, afvis og blokér"
+ "Er du sikker på, at du vil afvise invitationen til at deltage i dette rum? Dette forhindrer også %1$s i at kontakte dig eller invitere dig til andre rum."
+ "Afvis invitation og blokér"
+ "Afvis og blokér"
+
diff --git a/features/invite/impl/src/main/res/values-el/translations.xml b/features/invite/impl/src/main/res/values-el/translations.xml
index e7e55379f6..96f10b2950 100644
--- a/features/invite/impl/src/main/res/values-el/translations.xml
+++ b/features/invite/impl/src/main/res/values-el/translations.xml
@@ -1,8 +1,8 @@
- "Δε θα δείτε μηνύματα ή προσκλήσεις δωματίου από αυτόν τον χρήστη"
+ "Δεν θα βλέπετε μηνύματα ή προσκλήσεις αίθουσας από αυτόν τον χρήστη"
"Αποκλεισμός χρήστη"
- "Αναφέρετε αυτό το δωμάτιο στον πάροχο του λογαριασμού σας."
+ "Αναφέρετε αυτή την αίθουσα στον πάροχο του λογαριασμού σας."
"Περιγράψτε τον λόγο αναφοράς…"
"Απόρριψη και αποκλεισμός"
"Σίγουρα θες να απορρίψεις την πρόσκληση συμμετοχής στο %1$s;"
@@ -12,7 +12,7 @@
"Χωρίς προσκλήσεις"
"%1$s (%2$s) σέ προσκάλεσε"
"Ναι, απόρριψη και αποκλεισμός"
- "Είστε βέβαιοι ότι θέλετε να απορρίψετε την πρόσκληση συμμετοχής σε αυτό το δωμάτιο; Αυτό θα εμποδίσει επίσης το χρήστη %1$s να επικοινωνήσει μαζί σας ή να σας προσκαλέσει σε δωμάτια."
+ "Είστε βέβαιοι ότι θέλετε να απορρίψετε την πρόσκληση συμμετοχής σε αυτήν την αίθουσα; Αυτό θα εμποδίσει επίσης τον χρήστη %1$s να επικοινωνήσει μαζί σας ή να σας προσκαλέσει σε αίθουσες."
"Απόρριψη πρόσκλησης και αποκλεισμός"
"Απόρριψη και αποκλεισμός"
diff --git a/features/joinroom/impl/src/main/res/values-bg/translations.xml b/features/joinroom/impl/src/main/res/values-bg/translations.xml
new file mode 100644
index 0000000000..e9f7c38fcf
--- /dev/null
+++ b/features/joinroom/impl/src/main/res/values-bg/translations.xml
@@ -0,0 +1,4 @@
+
+
+ "Присъединяване към стаята"
+
diff --git a/features/joinroom/impl/src/main/res/values-da/translations.xml b/features/joinroom/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..c27ff74145
--- /dev/null
+++ b/features/joinroom/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,32 @@
+
+
+ "Du blev spærret fra dette rum af %1$s."
+ "Du blev spærret fra dette rum"
+ "Årsag: %1$s."
+ "Annuller anmodning"
+ "Ja, annullér"
+ "Er du sikker på, at du vil annullere din anmodning om at deltage i dette rum?"
+ "Annullér anmodning om at deltage"
+ "Ja, afvis og blokér"
+ "Er du sikker på, at du vil afvise invitationen til at deltage i dette rum? Dette forhindrer også %1$s i at kontakte dig eller invitere dig til andre rum."
+ "Afvis invitation og blokér"
+ "Afvis og blokér"
+ "Deltagelse i rummet fejlede."
+ "Dette rum er enten kun for gæster, eller der kan være sat begrænsninger for adgangen på klyngeniveau."
+ "Glem dette rum"
+ "Du har brug for en invitation for at deltage i dette rum"
+ "Deltag i rummet"
+ "Du skal muligvis være inviteret eller være medlem af en klynge for at deltage."
+ "Send anmodning om at deltage"
+ "Besked (valgfrit)"
+ "Du vil modtage en invitation til at deltage i rummet, hvis din anmodning accepteres."
+ "Anmodning om at deltage sendt"
+ "Vi kunne ikke forhåndsvise rummet. Dette kan skyldes netværks- eller serverproblemer."
+ "Vi kunne ikke forhåndsvise rummet"
+ "%1$s understøtter ikke klynger endnu. Du kan få adgang til klynger på nettet."
+ "Klynger er ikke understøttet endnu"
+ "Klik på knappen nedenfor, og en rumadministrator vil blive underrettet. Du kan deltage i samtalen, når din anmodning er godkendt."
+ "Du skal være medlem af dette rum for at kunne se meddelelseshistorikken."
+ "Vil du deltage i dette rum?"
+ "Forhåndsvisning er ikke tilgængelig"
+
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 aea667f51c..9a7296b93b 100644
--- a/features/joinroom/impl/src/main/res/values-el/translations.xml
+++ b/features/joinroom/impl/src/main/res/values-el/translations.xml
@@ -1,32 +1,32 @@
- "Σας απαγορεύτηκε η είσοδος σε αυτό το δωμάτιο από το χρήστη %1$s."
- "Σας απαγορεύτηκε η είσοδος σε αυτό το δωμάτιο"
+ "Αποκλειστήκατε από αυτή την αίθουσα από το χρήστη %1$s."
+ "Σας απαγορεύτηκε η είσοδος σε αυτή την αίθουσα"
"Αιτία: %1$s."
"Ακύρωση αιτήματος"
"Ναι, ακύρωση"
- "Σίγουρα θες να ακυρώσεις το αίτημά σου για συμμετοχή σε αυτό το δωμάτιο;"
+ "Είστε βέβαιοι ότι θέλετε να ακυρώσετε το αίτημά σας να συμμετάσχετε σε αυτή την αίθουσα;"
"Ακύρωση αίτησης συμμετοχής"
"Ναι, απόρριψη και αποκλεισμός"
- "Είστε βέβαιοι ότι θέλετε να απορρίψετε την πρόσκληση συμμετοχής σε αυτό το δωμάτιο; Αυτό θα εμποδίσει επίσης το χρήστη %1$s να επικοινωνήσει μαζί σας ή να σας προσκαλέσει σε δωμάτια."
+ "Είστε βέβαιοι ότι θέλετε να απορρίψετε την πρόσκληση συμμετοχής σε αυτήν την αίθουσα; Αυτό θα εμποδίσει επίσης τον χρήστη %1$s να επικοινωνήσει μαζί σας ή να σας προσκαλέσει σε αίθουσες."
"Απόρριψη πρόσκλησης και αποκλεισμός"
"Απόρριψη και αποκλεισμός"
- "Η είσοδος στο δωμάτιο απέτυχε."
- "Αυτό το δωμάτιο είναι είτε μόνο για πρόσκληση είτε ενδέχεται να υπάρχουν περιορισμοί στην πρόσβαση σε επίπεδο χώρου."
- "Ξεχάστε αυτό το δωμάτιο"
- "Χρειάζεστε πρόσκληση για να συμμετάσχετε σε αυτό το δωμάτιο"
- "Συμμετοχή στο δωμάτιο"
+ "Η συμμετοχή στην αίθουσα απέτυχε."
+ "Αυτή η αίθουσα είναι είτε μόνο για προσκεκλημένους είτε ενδέχεται να υπάρχουν περιορισμοί πρόσβασης σε επίπεδο χώρου."
+ "Ξεχάστε αυτή την αίθουσα"
+ "Χρειάζεστε πρόσκληση για να συμμετάσχετε σε αυτή την αίθουσα"
+ "Συμμετοχή στην αίθουσα"
"Ενδέχεται να χρειαστεί να προσκληθείτε ή να είστε μέλος ενός χώρου για να συμμετάσχετε."
"Χτύπα για συμμετοχή"
"Μήνυμα (προαιρετικό)"
- "Θα λάβεις πρόσκληση για συμμετοχή στο δωμάτιο εάν το αίτημά σου γίνει αποδεκτό."
+ "Θα λάβετε πρόσκληση για να συμμετάσχετε στην αίθουσα, εάν το αίτημά σας γίνει αποδεκτό."
"Το αίτημα συμμετοχής στάλθηκε"
- "Δεν μπορέσαμε να εμφανίσουμε την προεπισκόπηση δωματίου. Αυτό μπορεί να οφείλεται σε προβλήματα δικτύου ή διακομιστή."
- "Δεν μπορέσαμε να εμφανίσουμε αυτήν την προεπισκόπηση δωματίου"
+ "Δεν μπορέσαμε να εμφανίσουμε την προεπισκόπηση της αίθουσας. Αυτό μπορεί να οφείλεται σε προβλήματα δικτύου ή διακομιστή."
+ "Δεν μπορέσαμε να εμφανίσουμε αυτή την προεπισκόπηση αίθουσας"
"Το %1$s δεν υποστηρίζει ακόμα χώρους. Μπορείς να έχεις πρόσβαση σε χώρους στον ιστό."
"Οι Χώροι δεν υποστηρίζονται ακόμα"
- "Κάνε κλικ στο παρακάτω κουμπί και ένας διαχειριστής δωματίου θα ειδοποιηθεί. Θα μπορείς να συμμετάσχεις στη συνομιλία μόλις εγκριθεί."
- "Πρέπει να είσαι μέλος αυτού του δωματίου για να δεις το ιστορικό μηνυμάτων."
- "Θες να συμμετάσχεις σε αυτό το δωμάτιο;"
+ "Κάντε κλικ στο παρακάτω κουμπί και θα ειδοποιηθεί ένας διαχειριστής της αίθουσας. Μόλις εγκριθείτε, θα μπορείτε να συμμετάσχετε στη συζήτηση."
+ "Πρέπει να είστε μέλος αυτής της αίθουσας για να δείτε το ιστορικό των μηνυμάτων."
+ "Θέλετε να συμμετάσχετε σε αυτή την αίθουσα;"
"Η προεπισκόπηση δεν είναι διαθέσιμη"
diff --git a/features/knockrequests/impl/src/main/res/values-da/translations.xml b/features/knockrequests/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..30ac6a8d30
--- /dev/null
+++ b/features/knockrequests/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,36 @@
+
+
+ "Ja, acceptér alle"
+ "Er du sikker på, at du vil acceptere alle anmodninger om at deltage?"
+ "Acceptér alle anmodninger"
+ "Acceptér alle"
+ "Vi kunne ikke acceptere alle anmodninger. Vil du prøve igen?"
+ "Kunne ikke acceptere alle anmodninger"
+ "Accepterer alle anmodninger om at deltage"
+ "Vi kunne ikke acceptere denne anmodning. Vil du prøve igen?"
+ "Kunne ikke acceptere anmodningen"
+ "Accepterer anmodning om at deltage"
+ "Ja, afvis og spær"
+ "Er du sikker på, at du vil afvise og spærre %1$s? Denne bruger vil ikke kunne anmode om adgang til at deltage i dette rum igen."
+ "Afvis og spær for deres adgang til rummet"
+ "Afviser og spærrer for adgang"
+ "Ja, afvis"
+ "Er du sikker på, at du vil afvise %1$ss anmodning om at deltage i dette rum?"
+ "Afvis adgang"
+ "Afvis og spær"
+ "Vi kunne ikke afvise denne anmodning. Vil du prøve igen?"
+ "Anmodningen kunne ikke afvises"
+ "Afviser anmodning om at deltage"
+ "Når nogen beder om at deltage i rummet, kan du se deres anmodning her."
+ "Ingen ventende anmodning om at deltage"
+ "Indlæser anmodninger om at deltage…"
+ "Anmodninger om at deltage"
+
+ - "%1$s + %2$d anden ønsker at deltage i dette rum"
+ - "%1$s + %2$d andre ønsker at deltage i dette rum"
+
+ "Se alle"
+ "Accepter"
+ "%1$s ønsker at deltage i dette rum"
+ "Se"
+
diff --git a/features/knockrequests/impl/src/main/res/values-el/translations.xml b/features/knockrequests/impl/src/main/res/values-el/translations.xml
index 8d9bbd4f6d..2066b2e293 100644
--- a/features/knockrequests/impl/src/main/res/values-el/translations.xml
+++ b/features/knockrequests/impl/src/main/res/values-el/translations.xml
@@ -11,26 +11,26 @@
"Αποτυχία αποδοχής αιτήματος"
"Γίνεται αποδοχή αιτήματος συμμετοχής"
"Ναι, απόρριψη και αποκλεισμός"
- "Σίγουρα θες να απορρίψειε και να αποκλείσεις τον χρήστη %1$s; Αυτός ο χρήστης δεν θα μπορεί να ζητήσει πρόσβαση για να συμμετάσχει ξανά σε αυτό το δωμάτιο."
+ "Είστε σίγουροι ότι θέλετε να απορρίψετε και να αποκλείσετε το χρήστη %1$s; Αυτός ο χρήστης δεν θα μπορέσει να ζητήσει ξανά πρόσβαση για να συμμετάσχει σε αυτή την αίθουσα."
"Απόρριψη και αποκλεισμός πρόσβασης"
"Γίνεται απόρριψη και αποκλεισμός πρόσβασης"
"Ναι, απόρριψη"
- "Σίγουρα θες να απορρίψεις το αίτημα του χρήστη %1$s να συμμετάσχει στο δωμάτιο;"
+ "Είστε σίγουροι ότι θέλετε να απορρίψετε το αίτημα του %1$s να συμμετάσχετε σε αυτήν την αίθουσα;"
"Απόρριψη πρόσβασης"
"Απόρριψη και αποκλεισμός"
"Δεν μπορέσαμε να απορρίψουμε αυτό το αίτημα. Θα θέλατε να προσπαθήσετε ξανά;"
"Απέτυχε η απόρριψη του αιτήματος"
"Γίνεται απόρριψη αιτήματος συμμετοχής"
- "Όταν κάποιος θα ζητήσει να συμμετάσχει στο δωμάτιο, θα μπορείς να δεις το αίτημά του εδώ."
+ "Όταν κάποιος θα ζητήσει να συμμετάσχει στην αίθουσα, θα μπορείτε να δείτε το αίτημά του εδώ."
"Δεν υπάρχει εκκρεμές αίτημα συμμετοχής"
"Φόρτωση αιτημάτων συμμετοχής…"
"Αιτήματα συμμετοχής"
- - "Οι χρήστες %1$s +%2$d ακόμη θέλουν να συμμετάσχουν σε αυτό το δωμάτιο"
- - "Οι χρήστες %1$s +%2$d ακόμη θέλουν να συμμετάσχουν σε αυτό το δωμάτιο"
+ - "%1$s +%2$d άλλοι θέλουν να συμμετάσχουν σε αυτή την αίθουσα"
+ - "%1$s +%2$d άλλοι θέλουν να συμμετάσχουν σε αυτή την αίθουσα"
"Προβολή όλων"
"Αποδοχή"
- "Ο χρήστης %1$s θέλει να μπει σε αυτό το δωμάτιο"
+ "%1$s θέλει να συμμετάσχει σε αυτή την αίθουσα"
"Προβολή"
diff --git a/features/leaveroom/api/src/main/res/values-da/translations.xml b/features/leaveroom/api/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..5a1364be0c
--- /dev/null
+++ b/features/leaveroom/api/src/main/res/values-da/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "Er du sikker på, at du vil forlade denne samtale? Denne samtale er ikke offentlig, og du kan ikke deltage igen uden en invitation."
+ "Er du sikker på, at du vil forlade dette rum? Du er den eneste person her. Hvis du går, vil ingen kunne tilslutte sig det i fremtiden, heller ikke dig."
+ "Er du sikker på, at du vil forlade dette rum? Rummet er ikke offentligt, så du vil ikke kunne deltage igen uden en invitation."
+ "Er du sikker på, at du ønsker at forlade rummet?"
+
diff --git a/features/leaveroom/api/src/main/res/values-el/translations.xml b/features/leaveroom/api/src/main/res/values-el/translations.xml
index 09295f805b..b6ea1a6caf 100644
--- a/features/leaveroom/api/src/main/res/values-el/translations.xml
+++ b/features/leaveroom/api/src/main/res/values-el/translations.xml
@@ -1,7 +1,7 @@
"Είσαι σίγουρος ότι θέλεις να αποχωρήσεις από αυτή τη συζήτηση; Αυτή η συνομιλία δεν είναι δημόσια και δεν θα μπορείς να συμμετάσχεις ξανά χωρίς πρόσκληση."
- "Σίγουρα θες να φύγεις από αυτό το δωμάτιο; Είσαι το μόνο άτομο εδώ. Εάν φύγεις, κανείς δεν θα μπορεί να συμμετάσχει στο μέλλον, ούτε και \'σύ."
- "Σίγουρα θες να φύγεις από αυτό το δωμάτιο; Αυτό το δωμάτιο δεν είναι δημόσιο και δεν θα μπορείς να συμμετάσχεις ξανά χωρίς πρόσκληση."
- "Θες σίγουρα να φύγεις από το δωμάτιο;"
+ "Είστε σίγουροι ότι θέλετε να αποχωρήσετε από αυτή την αίθουσα; Είστε το μόνο άτομο εδώ. Αν αποχωρήσετε, κανείς δεν θα μπορεί να ενταχθεί στο μέλλον, ούτε εσείς."
+ "Είστε σίγουροι ότι θέλετε να αποχωρήσετε από αυτήν την αίθουσα; Αυτή η αίθουσα δεν είναι δημόσια και δεν θα μπορέσετε να επανενταχτείτε χωρίς πρόσκληση."
+ "Είστε σίγουροι ότι θέλετε να αποχωρήσετε από την αίθουσα;"
diff --git a/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomPresenter.kt b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomPresenter.kt
index 4943e75185..915d65b71f 100644
--- a/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomPresenter.kt
+++ b/features/leaveroom/impl/src/main/kotlin/io/element/android/features/leaveroom/impl/LeaveRoomPresenter.kt
@@ -78,7 +78,8 @@ private suspend fun showLeaveRoomAlert(
val roomInfo = room.roomInfoFlow.first()
confirmation.value = when {
roomInfo.isDm -> Dm(roomId)
- !roomInfo.isPublic -> PrivateRoom(roomId)
+ // If unknown, assume the room is private
+ roomInfo.isPublic == null || roomInfo.isPublic == false -> PrivateRoom(roomId)
roomInfo.joinedMembersCount == 1L -> LastUserInRoom(roomId)
else -> Generic(roomId)
}
diff --git a/features/lockscreen/impl/src/main/res/values-da/translations.xml b/features/lockscreen/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..ffbd657970
--- /dev/null
+++ b/features/lockscreen/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,38 @@
+
+
+ "biometrisk godkendelse"
+ "biometrisk oplåsning"
+ "Lås op med biometri"
+ "Bekræft biometri"
+ "Glemt PIN-kode?"
+ "Skift PIN-kode"
+ "Tillad biometrisk oplåsning"
+ "Fjern PIN-koden"
+ "Er du sikker på, at du vil fjerne PIN-koden?"
+ "Fjern PIN-koden?"
+ "Tillad %1$s"
+ "Jeg foretrækker at bruge PIN-kode"
+ "Spar dig selv lidt tid og brug den %1$s til at låse appen op hver gang"
+ "Vælg PIN-kode"
+ "Bekræft PIN-kode"
+ "Lås %1$s for at tilføje ekstra sikkerhed til dine samtaler.
+
+Vælg noget mindeværdigt. Hvis du glemmer denne pinkode, bliver du logget ud af appen."
+ "Du kan ikke vælge dette som din PIN-kode af sikkerhedsmæssige årsager"
+ "Vælg en anden PIN-kode"
+ "Indtast venligst den samme PIN-kode to gange"
+ "PIN-koderne stemmer ikke overens"
+ "Du vil være nødt til at logge ind igen og oprette en ny PIN-kode for at fortsætte."
+ "Du bliver logget ud"
+
+ - "Du har %1$d forsøg på at låse op"
+ - "Du har %1$d forsøg på at låse op"
+
+
+ - "Forkert PIN-kode. Du har %1$d chance mere"
+ - "Forkert PIN-kode. Du har %1$d flere chancer"
+
+ "Brug biometri"
+ "Brug PIN-kode"
+ "Logger ud…"
+
diff --git a/features/lockscreen/impl/src/main/res/values-el/translations.xml b/features/lockscreen/impl/src/main/res/values-el/translations.xml
index e4e7d566b6..d36cbd4e84 100644
--- a/features/lockscreen/impl/src/main/res/values-el/translations.xml
+++ b/features/lockscreen/impl/src/main/res/values-el/translations.xml
@@ -2,7 +2,7 @@
"βιομετρική ταυτοποίηση"
"βιομετρικό ξεκλείδωμα"
- "Ξεκλείδωμα με βιομετρικά"
+ "Ξεκλείδωμα με βιομετρικά στοιχεία"
"Επιβεβαίωσε τον βιομετρικό έλεγχο ταυτότητας"
"Ξέχασες το PIN;"
"Αλλαγή κωδικού PIN"
@@ -15,9 +15,9 @@
"Εξοικονόμησε χρόνο και χρησιμοποίησε %1$s για να ξεκλειδώσεις την εφαρμογή κάθε φορά"
"Επέλεξε PIN"
"Επιβεβαίωση PIN"
- "Κλείδωμα του %1$s για να προσθέσεις επιπλέον ασφάλεια στις συνομιλίες σου.
+ "Κλειδώστε το %1$s για να προσθέσετε επιπλέον ασφάλεια στις συνομιλίες σας.
-Επέλεξε κάτι αξιομνημόνευτο. Εάν ξεχάσεις αυτό το PIN, θα αποσυνδεθείς από την εφαρμογή."
+Επιλέξτε κάτι που θα θυμάστε εύκολα. Εάν ξεχάσετε αυτό το PIN, θα αποσυνδεθείτε από την εφαρμογή."
"Δεν μπορείς να το επιλέξεις ως κωδικό PIN για λόγους ασφαλείας"
"Επέλεξε διαφορετικό PIN"
"Παρακαλώ εισήγαγε το ίδιο PIN δύο φορές"
@@ -25,8 +25,8 @@
"Θα χρειαστεί να συνδεθείς ξανά και να δημιουργήσεις ένα νέο PIN για να προχωρήσεις"
"Έχεις αποσυνδεθεί"
- - "Έχεις %1$d προσπάθεια για ξεκλείδωμα"
- - "Έχεις %1$d προσπάθειες για ξεκλείδωμα"
+ - "Έχετε %1$d προσπάθεια να ξεκλειδώσετε"
+ - "Έχετε %1$d προσπάθειες να ξεκλειδώσετε"
- "Λάθος PIN. Έχεις %1$d ακόμη ευκαιρία"
diff --git a/features/login/impl/build.gradle.kts b/features/login/impl/build.gradle.kts
index 1d92cf00c9..a4f20fb97d 100644
--- a/features/login/impl/build.gradle.kts
+++ b/features/login/impl/build.gradle.kts
@@ -43,6 +43,7 @@ dependencies {
implementation(projects.libraries.permissions.api)
implementation(projects.libraries.qrcode)
implementation(projects.libraries.oidc.api)
+ implementation(projects.libraries.uiUtils)
implementation(libs.androidx.browser)
implementation(platform(libs.network.retrofit.bom))
implementation(libs.androidx.webkit)
diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingEvents.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingEvents.kt
index 6ea5bfa488..5e0cc054fc 100644
--- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingEvents.kt
+++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingEvents.kt
@@ -12,5 +12,6 @@ sealed interface OnBoardingEvents {
val defaultAccountProvider: String
) : OnBoardingEvents
+ data object OnVersionClick : OnBoardingEvents
data object ClearError : OnBoardingEvents
}
diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingPresenter.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingPresenter.kt
index f4696133fe..37dce8e4b5 100644
--- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingPresenter.kt
+++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingPresenter.kt
@@ -9,9 +9,12 @@ package io.element.android.features.login.impl.screens.onboarding
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.produceState
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.runtime.setValue
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
@@ -24,6 +27,7 @@ import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.core.meta.BuildMeta
import io.element.android.libraries.featureflag.api.FeatureFlagService
import io.element.android.libraries.featureflag.api.FeatureFlags
+import io.element.android.libraries.ui.utils.MultipleTapToUnlock
class OnBoardingPresenter @AssistedInject constructor(
@Assisted private val params: OnBoardingNode.Params,
@@ -40,6 +44,8 @@ class OnBoardingPresenter @AssistedInject constructor(
): OnBoardingPresenter
}
+ private val multipleTapToUnlock = MultipleTapToUnlock()
+
@Composable
override fun present(): OnBoardingState {
val localCoroutineScope = rememberCoroutineScope()
@@ -70,6 +76,7 @@ class OnBoardingPresenter @AssistedInject constructor(
featureFlagService.isFeatureEnabled(FeatureFlags.QrCodeLogin)
}
val canReportBug = remember { rageshakeFeatureAvailability.isAvailable() }
+ var showReportBug by rememberSaveable { mutableStateOf(false) }
val loginMode by loginHelper.collectLoginMode()
@@ -82,6 +89,13 @@ class OnBoardingPresenter @AssistedInject constructor(
loginHint = params.loginHint?.takeIf { forcedAccountProvider == null },
)
OnBoardingEvents.ClearError -> loginHelper.clearError()
+ OnBoardingEvents.OnVersionClick -> {
+ if (canReportBug) {
+ if (multipleTapToUnlock.unlock(localCoroutineScope)) {
+ showReportBug = true
+ }
+ }
+ }
}
}
@@ -91,8 +105,9 @@ class OnBoardingPresenter @AssistedInject constructor(
mustChooseAccountProvider = mustChooseAccountProvider,
canLoginWithQrCode = canLoginWithQrCode,
canCreateAccount = defaultAccountProvider == null && canConnectToAnyHomeserver && OnBoardingConfig.CAN_CREATE_ACCOUNT,
- canReportBug = canReportBug,
+ canReportBug = canReportBug && showReportBug,
loginMode = loginMode,
+ version = buildMeta.versionName,
eventSink = ::handleEvent,
)
}
diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingState.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingState.kt
index 98484a1fc2..1e55c3af2d 100644
--- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingState.kt
+++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingState.kt
@@ -17,6 +17,7 @@ data class OnBoardingState(
val canLoginWithQrCode: Boolean,
val canCreateAccount: Boolean,
val canReportBug: Boolean,
+ val version: String,
val loginMode: AsyncData,
val eventSink: (OnBoardingEvents) -> Unit,
) {
diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingStateProvider.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingStateProvider.kt
index 9be36719e2..cdf77da523 100644
--- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingStateProvider.kt
+++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingStateProvider.kt
@@ -30,6 +30,7 @@ fun anOnBoardingState(
canLoginWithQrCode: Boolean = false,
canCreateAccount: Boolean = false,
canReportBug: Boolean = false,
+ version: String = "1.0.0",
loginMode: AsyncData = AsyncData.Uninitialized,
eventSink: (OnBoardingEvents) -> Unit = {},
) = OnBoardingState(
@@ -39,6 +40,7 @@ fun anOnBoardingState(
canLoginWithQrCode = canLoginWithQrCode,
canCreateAccount = canCreateAccount,
canReportBug = canReportBug,
+ version = version,
loginMode = loginMode,
eventSink = eventSink,
)
diff --git a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingView.kt b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingView.kt
index 99ab348b06..6c67e75cd1 100644
--- a/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingView.kt
+++ b/features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingView.kt
@@ -202,12 +202,23 @@ private fun OnBoardingButtons(
// Add a report problem text button. Use a Text since we need a special theme here.
Text(
modifier = Modifier
- .padding(16.dp)
- .clickable(onClick = onReportProblem),
+ .clickable(onClick = onReportProblem)
+ .padding(16.dp),
text = stringResource(id = CommonStrings.common_report_a_problem),
style = ElementTheme.typography.fontBodySmRegular,
color = ElementTheme.colors.textSecondary,
)
+ } else {
+ Text(
+ modifier = Modifier
+ .clickable {
+ state.eventSink(OnBoardingEvents.OnVersionClick)
+ }
+ .padding(16.dp),
+ text = stringResource(id = R.string.screen_onboarding_app_version, state.version),
+ style = ElementTheme.typography.fontBodySmRegular,
+ color = ElementTheme.colors.textSecondary,
+ )
}
}
}
diff --git a/features/login/impl/src/main/res/values-bg/translations.xml b/features/login/impl/src/main/res/values-bg/translations.xml
index 808dbfade9..bd321a9c5a 100644
--- a/features/login/impl/src/main/res/values-bg/translations.xml
+++ b/features/login/impl/src/main/res/values-bg/translations.xml
@@ -26,6 +26,7 @@
"Добре дошли в %1$s. Супер зареден за скорост и простота."
"Бъдете в стихията си"
"Повторен опит"
+ "Вашият код за потвърждение"
"Промяна на доставчика на акаунт"
"Matrix е отворена мрежа за сигурна, децентрализирана комуникация."
"Това е мястото, където ще живеят вашите разговори — точно както бихте използвали имейл доставчик, за да съхранявате вашите имейли."
diff --git a/features/login/impl/src/main/res/values-da/translations.xml b/features/login/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..e996117378
--- /dev/null
+++ b/features/login/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,94 @@
+
+
+ "Skift kontoudbyder"
+ "Hjemmeserverens adresse"
+ "Indtast et søgeudtryk eller en domæneadresse."
+ "Søg efter en virksomhed, et fællesskab eller en privat server."
+ "Find en kontoudbyder"
+ "Det er her, dine samtaler vil bo - ligesom du ville bruge en e-mail-udbyder til at opbevare dine e-mails."
+ "Du er ved at logge ind på %s"
+ "Det er her, dine samtaler vil bo - ligesom du ville bruge en e-mail-udbyder til at opbevare dine e-mails."
+ "Du er ved at oprette en konto på %s"
+ "Matrix.org er en stor, gratis server på det offentlige Matrix-netværk til sikker, decentraliseret kommunikation, drevet af Matrix.org Foundation."
+ "Anden"
+ "Brug en anden kontoudbyder, f.eks. din egen private server eller en arbejdskonto."
+ "Skift kontoudbyder"
+ "Vi kunne ikke nå denne hjemmeserver. Kontroller, at du har indtastet hjemmeserverens URL korrekt. Hvis URL-adressen er korrekt, skal du kontakte administratoren på din hjemmeserver for at få yderligere hjælp."
+ "Serveren er ikke tilgængelig på grund af et problem i .well-known-filen:
+%1$s"
+ "Den valgte kontoudbyder understøtter ikke sliding sync. En opgradering af serveren er nødvendig for at bruge %1$s."
+ "%1$s har ikke tilladelse til at oprette forbindelse til %2$s."
+ "Denne app er konfigureret til at tillade: %1$s."
+ "Kontoudbyder %1$s er ikke tilladt."
+ "URL-adressen på din hjemmeserver"
+ "Indtast en domæneadresse."
+ "Hvad er adressen på din server?"
+ "Vælg din server"
+ "Opret konto"
+ "Denne konto er blevet deaktiveret."
+ "Forkert brugernavn og/eller adgangskode"
+ "Dette er ikke en gyldig brugeridentifikation. Forventet format: \'@bruger:hjemmeserver.org\'"
+ "Denne server er konfigureret til at bruge opdateringstokens. Disse understøttes ikke, når du bruger adgangskodebaseret login."
+ "Den valgte hjemmeserver understøtter ikke adgangskode eller OIDC-login. Kontakt venligst din administrator eller vælg en anden hjemmeserver."
+ "Indtast dine oplysninger"
+ "Matrix er et åbent netværk for sikker, decentraliseret kommunikation."
+ "Velkommen tilbage!"
+ "Log ind på %1$s"
+ "Log ind manuelt"
+ "Log ind på %1$s"
+ "Log ind med QR-kode"
+ "Opret konto"
+ "Velkommen til den hurtigste %1$s nogensinde. Supercharged til hastighed og enkelhed."
+ "Velkommen til %1$s. Ladet med hastighed og enkelhed."
+ "Vær i dit rette Element"
+ "Etablerer en sikker forbindelse"
+ "Der kunne ikke oprettes en sikker forbindelse til den nye enhed. Dine eksisterende enheder er stadig sikre, og du behøver ikke bekymre dig om dem."
+ "Hvad nu?"
+ "Prøv at logge ind igen med en QR-kode, hvis dette skyldtes et netværksproblem"
+ "Hvis du støder på det samme problem, kan du prøve et andet wifi-netværk eller bruge dine mobildata i stedet for wifi"
+ "Hvis det ikke virker, skal du logge ind manuelt"
+ "Forbindelsen er ikke sikker"
+ "Du bliver bedt om at indtaste de to cifre, der vises på denne enhed."
+ "Indtast nummeret herunder på din anden enhed"
+ "Log på din anden enhed, og prøv derefter igen, eller brug en anden enhed, der allerede er logget på."
+ "Den anden enhed er ikke logget ind"
+ "Login blev annulleret på den anden enhed."
+ "Anmodning om login annulleret"
+ "Login blev afvist på den anden enhed."
+ "Login afvist"
+ "Login er udløbet. Prøv venligst igen."
+ "Login blev ikke afsluttet i tide"
+ "Din anden enhed understøtter ikke at logge ind på %s med en QR-kode.
+
+Prøv at logge ind manuelt, eller scan QR-koden med en anden enhed."
+ "QR-kode understøttes ikke"
+ "Din kontoudbyder understøtter ikke %1$s."
+ "%1$s understøttes ikke"
+ "Klar til at scanne"
+ "Åbn %1$s på en stationær enhed"
+ "Klik på din avatar"
+ "Vælg %1$s"
+ "\"Tilknyt ny enhed\""
+ "Scan QR-koden med denne enhed"
+ "Kun tilgængeligt, hvis din kontoudbyder understøtter det."
+ "Åbn %1$s på en anden enhed for at få QR-koden"
+ "Brug den QR-kode, der bliver vist på den anden enhed."
+ "Prøv igen"
+ "Forkert QR-kode"
+ "Gå til kameraindstillinger"
+ "Du skal give tilladelse til at %1$s kan benytte enhedens kamera, for at fortsætte."
+ "Tillad kameraadgang for at scanne QR-koden"
+ "Scan QR-koden"
+ "Begynd forfra"
+ "Der opstod en uventet fejl. Prøv venligst igen."
+ "Venter på din anden enhed"
+ "Din kontoudbyder kan bede om følgende kode for at bekræfte login."
+ "Din bekræftelseskode"
+ "Skift kontoudbyder"
+ "En privat server til Element-medarbejdere."
+ "Matrix er et åbent netværk for sikker, decentraliseret kommunikation."
+ "Det er her, dine samtaler vil bo - ligesom du ville bruge en e-mail-udbyder til at opbevare dine e-mails."
+ "Du er ved at logge ind på %1$s"
+ "Vælg din kontoudbyder"
+ "Du er ved at oprette en konto på %1$s"
+
diff --git a/features/login/impl/src/main/res/values-el/translations.xml b/features/login/impl/src/main/res/values-el/translations.xml
index 742c86ad73..047cd3baa0 100644
--- a/features/login/impl/src/main/res/values-el/translations.xml
+++ b/features/login/impl/src/main/res/values-el/translations.xml
@@ -16,7 +16,12 @@
"Δεν μπορούσαμε να επικοινωνήσουμε με αυτόν τον οικιακό διακομιστή. Βεβαιώσου ότι έχεις εισαγάγει σωστά τη διεύθυνση URL του αρχικού διακομιστή. Εάν η διεύθυνση URL είναι σωστή, επικοινώνησε με τον διαχειριστή του κεντρικού διακομιστή για περαιτέρω βοήθεια."
"Ο διακομιστής δεν είναι διαθέσιμος λόγω προβλήματος στο αρχείο .well-known:
%1$s"
+ "Ο επιλεγμένος πάροχος λογαριασμού δεν υποστηρίζει sliding sync. Απαιτείται αναβάθμιση στο διακομιστή για χρήση του %1$s."
+ "%1$s δεν επιτρέπεται να συνδεθεί με %2$s."
+ "Αυτή η εφαρμογή έχει ρυθμιστεί ώστε να επιτρέπει: %1$s."
+ "Ο πάροχος %1$s λογαριασμού δεν επιτρέπεται."
"URL οικιακού διακομιστή"
+ "Εισήγαγε μια διεύθυνση τομέα."
"Ποια είναι η διεύθυνση του διακομιστή σου;"
"Επέλεξε το διακομιστή σου"
"Δημιουργία λογαριασμού"
@@ -30,6 +35,7 @@
"Καλωσόρισες ξανά!"
"Συνδέσου στο %1$s"
"Σύνδεση χειροκίνητα"
+ "Συνδέσου στο %1$s"
"Συνδέσου με κωδικό QR"
"Δημιουργία λογαριασμού"
"Καλώς ήλθατε στο γρηγορότερο %1$s όλων των εποχών. Υπερτροφοδοτούμενο με ταχύτητα και απλότητα."
@@ -83,5 +89,6 @@
"Το Matrix είναι ένα ανοιχτό δίκτυο για ασφαλή, αποκεντρωμένη επικοινωνία."
"Εδώ θα ζουν οι συνομιλίες σου - όπως θα χρησιμοποιούσες έναν πάροχο email για να διατηρήσεις τα email σου."
"Πρόκειται να συνδεθείς στο %1$s"
+ "Επέλεξε πάροχο λογαριασμού"
"Πρόκειται να δημιουργήσεις έναν λογαριασμό στο %1$s"
diff --git a/features/login/impl/src/main/res/values-et/translations.xml b/features/login/impl/src/main/res/values-et/translations.xml
index 90451ed170..9cdc09404c 100644
--- a/features/login/impl/src/main/res/values-et/translations.xml
+++ b/features/login/impl/src/main/res/values-et/translations.xml
@@ -34,6 +34,7 @@
"Matrix on avatud võrk turvalise ja hajutatud suhtluse jaoks."
"Tere tulemast tagasi!"
"Logi sisse serverisse %1$s"
+ "Versioon %1$s"
"Logi sisse käsitsi"
"Logi sisse teenusesse %1$s"
"Logi sisse QR-koodi alusel"
diff --git a/features/login/impl/src/main/res/values-fr/translations.xml b/features/login/impl/src/main/res/values-fr/translations.xml
index 71129d054e..62d5ebc6af 100644
--- a/features/login/impl/src/main/res/values-fr/translations.xml
+++ b/features/login/impl/src/main/res/values-fr/translations.xml
@@ -34,6 +34,7 @@
"Matrix est un réseau ouvert pour une communication sécurisée et décentralisée."
"Content de vous revoir !"
"Connectez-vous à %1$s"
+ "Version %1$s"
"Se connecter manuellement"
"Se connecter à %1$s"
"Se connecter avec un QR code"
diff --git a/features/login/impl/src/main/res/values-pt/translations.xml b/features/login/impl/src/main/res/values-pt/translations.xml
index d74a35ec92..1b60edf146 100644
--- a/features/login/impl/src/main/res/values-pt/translations.xml
+++ b/features/login/impl/src/main/res/values-pt/translations.xml
@@ -34,6 +34,7 @@
"A Matrix é uma rede aberta de comunicação descentralizada e segura."
"Bem-vindo(a) de volta!"
"Iniciar sessão em %1$s"
+ "Versão %1$s"
"Iniciar sessão manualmente"
"Iniciar sessão em %1$s"
"Iniciar sessão com código QR"
diff --git a/features/login/impl/src/main/res/values-sk/translations.xml b/features/login/impl/src/main/res/values-sk/translations.xml
index 81ebff5711..e9ce127552 100644
--- a/features/login/impl/src/main/res/values-sk/translations.xml
+++ b/features/login/impl/src/main/res/values-sk/translations.xml
@@ -34,6 +34,7 @@
"Matrix je otvorená sieť pre bezpečnú a decentralizovanú komunikáciu."
"Vitajte späť!"
"Prihlásiť sa do %1$s"
+ "Verzia %1$s"
"Prihlásiť sa manuálne"
"Prihlásiť sa do %1$s"
"Prihlásiť sa pomocou QR kódu"
diff --git a/features/login/impl/src/main/res/values-uk/translations.xml b/features/login/impl/src/main/res/values-uk/translations.xml
index b1cff7d9d9..47e0933d05 100644
--- a/features/login/impl/src/main/res/values-uk/translations.xml
+++ b/features/login/impl/src/main/res/values-uk/translations.xml
@@ -89,5 +89,6 @@
"Matrix — це відкрита мережа для безпечної, децентралізованої комунікації."
"Тут розміщуватимуться ваші розмови — так само як у поштовій скриньці для зберігання своїх електронних листів."
"Ви збираєтесь увійти в %1$s"
+ "Вибір постачальника облікового запису"
"Ви збираєтеся створити обліковий запис на %1$s"
diff --git a/features/login/impl/src/main/res/values/localazy.xml b/features/login/impl/src/main/res/values/localazy.xml
index 4f4d98baaf..d0840f1983 100644
--- a/features/login/impl/src/main/res/values/localazy.xml
+++ b/features/login/impl/src/main/res/values/localazy.xml
@@ -34,6 +34,7 @@
"Matrix is an open network for secure, decentralised communication."
"Welcome back!"
"Sign in to %1$s"
+ "Version %1$s"
"Sign in manually"
"Sign in to %1$s"
"Sign in with QR code"
diff --git a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingPresenterTest.kt b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingPresenterTest.kt
index 7749d1502b..3e59528427 100644
--- a/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingPresenterTest.kt
+++ b/features/login/impl/src/test/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingPresenterTest.kt
@@ -83,19 +83,40 @@ class OnBoardingPresenterTest {
assertThat(initialState.canLoginWithQrCode).isFalse()
assertThat(initialState.productionApplicationName).isEqualTo("B")
assertThat(initialState.canCreateAccount).isEqualTo(OnBoardingConfig.CAN_CREATE_ACCOUNT)
- assertThat(initialState.canReportBug).isTrue()
+ assertThat(initialState.canReportBug).isFalse()
assertThat(awaitItem().canLoginWithQrCode).isTrue()
}
}
@Test
- fun `present - rageshake not available`() = runTest {
+ fun `present - clicking on version 7 times has no effect if rageshake not available`() = runTest {
val presenter = createPresenter(
rageshakeFeatureAvailability = { false },
)
presenter.test {
skipItems(1)
- assertThat(awaitItem().canReportBug).isFalse()
+ awaitItem().also { state ->
+ assertThat(state.canReportBug).isFalse()
+ repeat(7) {
+ state.eventSink(OnBoardingEvents.OnVersionClick)
+ }
+ }
+ expectNoEvents()
+ }
+ }
+
+ @Test
+ fun `present - clicking on version 7 times will reveal the report a problem button`() = runTest {
+ val presenter = createPresenter()
+ presenter.test {
+ skipItems(1)
+ awaitItem().also { state ->
+ assertThat(state.canReportBug).isFalse()
+ repeat(7) {
+ state.eventSink(OnBoardingEvents.OnVersionClick)
+ }
+ }
+ assertThat(awaitItem().canReportBug).isTrue()
}
}
diff --git a/features/logout/impl/src/main/res/values-da/translations.xml b/features/logout/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..bbf6a49399
--- /dev/null
+++ b/features/logout/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,18 @@
+
+
+ "Er du sikker på, at du vil logge ud?"
+ "Log ud"
+ "Log ud"
+ "Logger ud…"
+ "Du er ved at logge ud af din sidste session. Hvis du logger ud nu, mister du adgangen til dine krypterede meddelelser."
+ "Du har slået sikkerhedskopiering fra"
+ "Dine nøgler blev stadig sikkerhedskopieret, da du gik offline. Opret forbindelse igen, så dine nøgler kan sikkerhedskopieres, før du logger ud."
+ "Dine nøgler bliver stadig sikkerhedskopieret"
+ "Vent på, at dette er fuldført, før du logger ud."
+ "Dine nøgler bliver stadig sikkerhedskopieret"
+ "Log ud"
+ "Du er ved at logge ud af din sidste session. Hvis du logger af nu, mister du adgangen til dine krypterede meddelelser."
+ "Gendannelse er ikke konfigureret"
+ "Du er ved at logge ud af din sidste session. Hvis du logger af nu, kan du miste adgangen til dine krypterede meddelelser."
+ "Har du gemt din gendannelsesnøgle?"
+
diff --git a/features/messages/impl/src/main/res/values-bg/translations.xml b/features/messages/impl/src/main/res/values-bg/translations.xml
index 284177448c..bd910f2e58 100644
--- a/features/messages/impl/src/main/res/values-bg/translations.xml
+++ b/features/messages/impl/src/main/res/values-bg/translations.xml
@@ -18,6 +18,7 @@
"Анкета"
"Форматиране на текст"
"Хронологията на съобщенията не е налична в момента."
+ "Всеки"
"Добавяне на емоджи"
"Това е началото на %1$s."
"Това е началото на този разговор."
diff --git a/features/messages/impl/src/main/res/values-cs/translations.xml b/features/messages/impl/src/main/res/values-cs/translations.xml
index 3b43f897e2..3f5f94e595 100644
--- a/features/messages/impl/src/main/res/values-cs/translations.xml
+++ b/features/messages/impl/src/main/res/values-cs/translations.xml
@@ -35,8 +35,20 @@
"Zobrazit méně"
"Zpráva zkopírována"
"Nemáte oprávnění zveřejňovat příspěvky v této místnosti"
+
+ - "%1$d člen reagoval s %2$s"
+ - "%1$d členové reagovali s %2$s"
+ - "%1$d členů reagovalo s %2$s"
+
+
+ - "Vy a %1$d člen jste reagovali s %2$s"
+ - "Vy a %1$d členové jste reagovali s %2$s"
+ - "Vy a %1$d členů reagovalo s %2$s"
+
+ "Reagovali jste s %1$s"
"Zobrazit méně"
"Zobrazit více"
+ "Zobrazit souhrn reakcí"
"Nové"
- "%1$d změna místnosti"
diff --git a/features/messages/impl/src/main/res/values-da/translations.xml b/features/messages/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..1498428e98
--- /dev/null
+++ b/features/messages/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,67 @@
+
+
+ "Aktiviteter"
+ "Flag"
+ "Mad og drikke"
+ "Dyr og natur"
+ "Objekter"
+ "Smileys og mennesker"
+ "Rejser og steder"
+ "Symboler"
+ "Bloker bruger"
+ "Marker, hvis du vil skjule alle nuværende og fremtidige beskeder fra denne bruger"
+ "Denne meddelelse vil blive indberettet til administratoren af din hjemmeserver. De vil ikke være i stand til at læse nogen krypterede meddelelser."
+ "Årsag til indberetning af dette indhold"
+ "Kamera"
+ "Tag billede"
+ "Optag video"
+ "Vedhæftning"
+ "Foto- og videobibliotek"
+ "Lokation"
+ "Afstemning"
+ "Tekstformatering"
+ "Beskedhistorikken er i øjeblikket ikke tilgængelig."
+ "Beskedhistorikken er ikke tilgængelig i dette rum. Bekræft denne enhed for at se din beskedhistorik."
+ "Vil du invitere dem igen?"
+ "Du er alene i denne samtale"
+ "Giv hele rummet besked"
+ "Alle"
+ "Send igen"
+ "Din besked kunne ikke sendes"
+ "Tilføj emoji"
+ "Dette er begyndelsen på %1$s."
+ "Dette er begyndelsen på denne samtale."
+ "Ikke-understøttet opkald. Spørg, om den, der ringer op, kan bruge den nye Element X-app."
+ "Vis mindre"
+ "Beskeden er kopieret"
+ "Du har ikke tilladelse til at slå noget op i dette rum"
+
+ - "%1$d medlem reagerede med %2$s"
+ - "%1$d medlemmer reagerede med %2$s"
+
+
+ - "Du og %1$d medlem reagerede med %2$s"
+ - "Du og %1$d medlemmer reagerede med %2$s"
+
+ "Du reagerede med %1$s"
+ "Vis mindre"
+ "Vis mere"
+ "Ny"
+
+ - "%1$d rumændring"
+ - "%1$d rumændringer"
+
+ "Gå til nyt rum"
+ "Dette rum er blevet erstattet og er ikke længere aktivt"
+ "Se ældre beskeder"
+ "Dette rum er en fortsættelse af et andet rum"
+
+ - "%1$s, %2$s og %3$d anden"
+ - "%1$s, %2$s og %3$d andre"
+
+
+ - "%1$s skriver"
+ - "%1$s skriver"
+
+ "%1$s og %2$s"
+
diff --git a/features/messages/impl/src/main/res/values-el/translations.xml b/features/messages/impl/src/main/res/values-el/translations.xml
index 954ab07a64..2b64d3ce98 100644
--- a/features/messages/impl/src/main/res/values-el/translations.xml
+++ b/features/messages/impl/src/main/res/values-el/translations.xml
@@ -21,10 +21,10 @@
"Δημοσκόπηση"
"Μορφοποίηση Κειμένου"
"Το ιστορικό μηνυμάτων δεν είναι διαθέσιμο προς το παρόν."
- "Το ιστορικό μηνυμάτων δεν είναι διαθέσιμο σε αυτό το δωμάτιο. Επαλήθευσε αυτήν τη συσκευή για να δεις το ιστορικό μηνυμάτων σου."
+ "Το ιστορικό μηνυμάτων δεν είναι διαθέσιμο σε αυτή την αίθουσα. Επαληθεύστε αυτή τη συσκευή για να δείτε το ιστορικό των μηνυμάτων σας."
"Θα ήθελες να τους προσκαλέσεις και συ;"
"Είσαι μόνος σε αυτή τη συνομιλία"
- "Ειδοποίησε όλο το δωμάτιο"
+ "Ειδοποιήστε όλη την αίθουσα"
"Όλοι"
"Αποστολή ξανά"
"Το μήνυμά σου απέτυχε να σταλεί"
@@ -34,14 +34,28 @@
"Μη υποστηριζόμενη κλήση. Ρώτα εάν ο καλών μπορεί να χρησιμοποιήσει τη νέα εφαρμογή Element X."
"Εμφάνιση λιγότερων"
"Το μήνυμα αντιγράφηκε"
- "Δεν έχεις άδεια να δημοσιεύσεις σε αυτό το δωμάτιο"
+ "Δεν έχετε δικαιώματα για να δημοσιεύσετε σε αυτήν την αίθουσα"
+
+ - "%1$d μέλος αντέδρασε με %2$s"
+ - "%1$d μέλη αντέδρασαν με %2$s"
+
+
+ - "Εσύ και %1$d μέλος αντιδράσατε με %2$s"
+ - "Εσύ και τα %1$d μέλη αντιδράσατε με %2$s"
+
+ "Αντέδρασες με %1$s"
"Εμφάνιση λιγότερων"
"Εμφάνιση περισσότερων"
+ "Εμφάνιση περίληψης αντιδράσεων"
"Νέο"
- - "%1$d αλλαγή δωματίου"
- - "%1$d αλλαγές δωματίου"
+ - "%1$d αλλαγή αίθουσας"
+ - "%1$d αλλαγές αίθουσας"
+ "Μετάβαση σε νέα αίθουσα"
+ "Αυτή η αίθουσα έχει αντικατασταθεί και δεν είναι πλέον ενεργή"
+ "Δες παλιά μηνύματα"
+ "Αυτή η αίθουσα αποτελεί συνέχεια μιας άλλης αίθουσας"
- "%1$s, %2$s και %3$d ακόμη"
- "%1$s, %2$s και %3$d ακόμη"
diff --git a/features/messages/impl/src/main/res/values-et/translations.xml b/features/messages/impl/src/main/res/values-et/translations.xml
index 13a187cedc..6d369a083a 100644
--- a/features/messages/impl/src/main/res/values-et/translations.xml
+++ b/features/messages/impl/src/main/res/values-et/translations.xml
@@ -35,13 +35,27 @@
"Näita vähem"
"Sõnum on kopeeritud"
"Sul pole õigusi siia jututuppa kirjutada"
+
+ - "%1$d liige reageeris: %2$s"
+ - "%1$d liige reageerisid: %2$s"
+
+
+ - "Sina ja veel %1$d liige reageeris: %2$s"
+ - "Sina ja veel %1$d liiget reageerisid: %2$s"
+
+ "Sina reageerisid: %1$s"
"Näita vähem"
"Näita rohkem"
+ "Näita reageerimiste kokkuvõtet"
"Uus"
- "%1$d jututoa muudatus"
- "%1$d jututoa muudatust"
+ "Hüppa uude jututuppa"
+ "See jututuba on asendatud uuega ning pole enam aktiivne"
+ "Vaata vanu sõnumeid"
+ "See jututuba on varasema jututoa jätk"
- "%1$s, %2$s ja veel %3$d osaleja"
- "%1$s, %2$s ja veel %3$d osalejat"
diff --git a/features/messages/impl/src/main/res/values-fa/translations.xml b/features/messages/impl/src/main/res/values-fa/translations.xml
index b539950608..f25bc49b7c 100644
--- a/features/messages/impl/src/main/res/values-fa/translations.xml
+++ b/features/messages/impl/src/main/res/values-fa/translations.xml
@@ -9,6 +9,7 @@
"سفر و مکانها"
"نمادها"
"انسداد کاربر"
+ "این پیام به مدیر سرور خانگی شما گزارش خواهد شد. آنها قادر به خواندن پیام های رمزگذاری شده نخواهند بود."
"دلیل گزارش این محتوا"
"دوربین"
"عکس گرفتن"
diff --git a/features/messages/impl/src/main/res/values-fi/translations.xml b/features/messages/impl/src/main/res/values-fi/translations.xml
index e689f9e406..912e610b60 100644
--- a/features/messages/impl/src/main/res/values-fi/translations.xml
+++ b/features/messages/impl/src/main/res/values-fi/translations.xml
@@ -42,6 +42,10 @@
- "%1$d muutos huoneeseen"
- "%1$d muutosta huoneeseen"
+ "Siirry uuteen huoneeseen"
+ "Tämä huone on korvattu, eikä se ole enää aktiivinen"
+ "Katso vanhoja viestejä"
+ "Tämä huone on jatkoa toiselle huoneelle"
- "%1$s, %2$s ja %3$d muu"
- "%1$s, %2$s ja %3$d muuta"
diff --git a/features/messages/impl/src/main/res/values-fr/translations.xml b/features/messages/impl/src/main/res/values-fr/translations.xml
index 2f45ed5e56..87465ddf36 100644
--- a/features/messages/impl/src/main/res/values-fr/translations.xml
+++ b/features/messages/impl/src/main/res/values-fr/translations.xml
@@ -46,11 +46,16 @@
"Vous avez réagi avec %1$s"
"Afficher moins"
"Afficher plus"
+ "Afficher le résumé des réactions"
"Nouveau"
- "%1$d changement dans le salon"
- "%1$d changements dans le salon"
+ "Aller dans le nouveau salon"
+ "Ce salon a été remplacé et n’est plus actif"
+ "Voir les anciens messages"
+ "Ce salon est la continuation du salon précédent"
- "%1$s, %2$s et %3$d autre"
- "%1$s, %2$s et %3$d autres"
diff --git a/features/messages/impl/src/main/res/values-hu/translations.xml b/features/messages/impl/src/main/res/values-hu/translations.xml
index 6fce42474c..9e7de8616d 100644
--- a/features/messages/impl/src/main/res/values-hu/translations.xml
+++ b/features/messages/impl/src/main/res/values-hu/translations.xml
@@ -35,13 +35,27 @@
"Kevesebb megjelenítése"
"Üzenet másolva"
"Nincs jogosultsága arra, hogy bejegyzést tegyen közzé ebben a szobában"
+
+ - "%1$d tag reagált így: %2$s"
+ - "%1$d tag reagált így: %2$s"
+
+
+ - "Ön és %1$d tag reagáltak így: %2$s"
+ - "Ön és %1$d tag reagáltak így: %2$s"
+
+ "Ezzel reagált: %1$s"
"Kevesebb megjelenítése"
"Több megjelenítése"
+ "Reakció-összefoglaló megjelenítése"
"Új"
- "%1$d szobaváltozás"
- "%1$d szobaváltozás"
+ "Ugrás az új szobába"
+ "Ezt a szobát lecserélték, és már nem aktív."
+ "Régi üzenetek megtekintése"
+ "Ez a szoba egy másik szoba folytatása"
- "%1$s, %2$s és %3$d további felhasználó"
- "%1$s, %2$s és %3$d további felhasználó"
diff --git a/features/messages/impl/src/main/res/values-nb/translations.xml b/features/messages/impl/src/main/res/values-nb/translations.xml
index f5fb2229fa..acb6762a1b 100644
--- a/features/messages/impl/src/main/res/values-nb/translations.xml
+++ b/features/messages/impl/src/main/res/values-nb/translations.xml
@@ -46,11 +46,16 @@
"Du reagerte med %1$s"
"Vis mindre"
"Vis mer"
+ "Vis sammendrag av reaksjoner"
"Ny"
- "%1$d romendring"
- "%1$d romendringer"
+ "Gå til nytt rom"
+ "Dette rommet har blitt erstattet og er ikke lenger aktivt"
+ "Se gamle meldinger"
+ "Dette rommet er en fortsettelse av et annet rom"
- "%1$s, %2$s og %3$d annet"
- "%1$s, %2$s og %3$d andre"
diff --git a/features/messages/impl/src/main/res/values-pt/translations.xml b/features/messages/impl/src/main/res/values-pt/translations.xml
index 3eaa774960..4759a6aeb9 100644
--- a/features/messages/impl/src/main/res/values-pt/translations.xml
+++ b/features/messages/impl/src/main/res/values-pt/translations.xml
@@ -35,13 +35,27 @@
"Mostrar menos"
"Mensagem copiada"
"Não tens permissão para publicar nesta sala"
+
+ - "%1$d membro reagiu com %2$s"
+ - "%1$d membros reagiram com %2$s"
+
+
+ - "Tu e %1$d membro reagiram com %2$s"
+ - "Tu e %1$d membros reagiram com %2$s"
+
+ "Reagiste com %1$s"
"Mostrar menos"
"Mostrar mais"
+ "Mostrar sumário de reações"
"Novas"
- "%1$d alteração à sala"
- "%1$d alterações à sala"
+ "Ir para a nova sala"
+ "Esta sala foi substituída e já não se encontra ativa"
+ "Ver mensagens antigas"
+ "Esta sala é a continuação de uma outra"
- "%1$s, %2$s e %3$d outro"
- "%1$s, %2$s e %3$d outros"
diff --git a/features/messages/impl/src/main/res/values-ru/translations.xml b/features/messages/impl/src/main/res/values-ru/translations.xml
index 084829ba49..b8c3cc237f 100644
--- a/features/messages/impl/src/main/res/values-ru/translations.xml
+++ b/features/messages/impl/src/main/res/values-ru/translations.xml
@@ -43,6 +43,10 @@
- "%1$d изменения в комнате"
- "%1$d изменений в комнате"
+ "Перейти в новую комнату"
+ "Эта комната была заменена и больше не активна"
+ "Посмотреть старые сообщения"
+ "Эта комната является продолжением другой комнаты"
- "%1$s, %2$s и %3$d"
- "%1$s, %2$s и другие %3$d"
diff --git a/features/messages/impl/src/main/res/values-sk/translations.xml b/features/messages/impl/src/main/res/values-sk/translations.xml
index 215e7f4cc4..23c664c5d4 100644
--- a/features/messages/impl/src/main/res/values-sk/translations.xml
+++ b/features/messages/impl/src/main/res/values-sk/translations.xml
@@ -35,14 +35,30 @@
"Zobraziť menej"
"Správa skopírovaná"
"Nemáte povolenie uverejňovať príspevky v tejto miestnosti"
+
+ - "%1$d člen reagoval s %2$s"
+ - "%1$d členovia reagovali s %2$s"
+ - "%1$d členov reagovalo s %2$s"
+
+
+ - "Vy a %1$d člen reagoval s %2$s"
+ - "Vy a %1$d členovia reagovali s %2$s"
+ - "Vy a %1$d členov reagovalo s %2$s"
+
+ "Reagovali ste s %1$s"
"Zobraziť menej"
"Zobraziť viac"
+ "Zobraziť súhrn reakcií"
"Nové"
- "%1$d zmena miestnosti"
- "%1$d zmeny miestnosti"
- "%1$d zmien miestnosti"
+ "Prejsť do novej miestnosti"
+ "Táto miestnosť bola nahradená a už nie je aktívna"
+ "Zobraziť staré správy"
+ "Táto miestnosť je pokračovaním inej miestnosti"
- "%1$s, %2$s a %3$d ďalší"
- "%1$s, %2$s a %3$d ďalší"
diff --git a/features/messages/impl/src/main/res/values-sv/translations.xml b/features/messages/impl/src/main/res/values-sv/translations.xml
index 6846c7e333..bb803b396f 100644
--- a/features/messages/impl/src/main/res/values-sv/translations.xml
+++ b/features/messages/impl/src/main/res/values-sv/translations.xml
@@ -42,6 +42,10 @@
- "%1$d rumsändring"
- "%1$d rumsändringar"
+ "Hoppa till nytt rum"
+ "Det här rummet har ersatts och är inte längre aktivt"
+ "Se gamla meddelanden"
+ "Det här rummet är en fortsättning på ett annat rum"
- "%1$s, %2$s och %3$d annan"
- "%1$s, %2$s och %3$d andra"
diff --git a/features/messages/impl/src/main/res/values-uk/translations.xml b/features/messages/impl/src/main/res/values-uk/translations.xml
index bb11dec6d7..b8f9ec0b68 100644
--- a/features/messages/impl/src/main/res/values-uk/translations.xml
+++ b/features/messages/impl/src/main/res/values-uk/translations.xml
@@ -35,14 +35,30 @@
"Показувати менше"
"Повідомлення скопійовано"
"У вас немає дозволу на публікацію в цій кімнаті"
+
+ - "%1$d учасник відреагував з %2$s"
+ - "%1$d учасники відреагували з %2$s"
+ - "%1$d учасників відреагували з %2$s"
+
+
+ - "Ви та ще %1$d учасник відреагували з %2$s"
+ - "Ви та ще %1$d учасники відреагували з %2$s"
+ - "Ви та ще %1$d учасників відреагували з %2$s"
+
+ "Ви відреагували за допомогою %1$s"
"Показувати менше"
"Показати більше"
+ "Показати підсумок реакцій"
"Нове"
- "%1$d зміна в кімнаті"
- "%1$d зміни в кімнаті"
- "%1$d змін у кімнаті"
+ "Перейти до нової кімнати"
+ "Цю кімнату замінили, і вона більше не активна."
+ "Перегляд давніших повідомлень"
+ "Ця кімната є продовженням іншої кімнати"
- "%1$s%2$s та %3$d інший"
- "%1$s%2$s та %3$d інші"
diff --git a/features/messages/impl/src/main/res/values/localazy.xml b/features/messages/impl/src/main/res/values/localazy.xml
index 984eb1231f..2d208bef49 100644
--- a/features/messages/impl/src/main/res/values/localazy.xml
+++ b/features/messages/impl/src/main/res/values/localazy.xml
@@ -46,6 +46,7 @@
"You reacted with %1$s"
"Show less"
"Show more"
+ "Show reactions summary"
"New"
- "%1$d room change"
diff --git a/features/poll/api/src/main/res/values-cs/translations.xml b/features/poll/api/src/main/res/values-cs/translations.xml
new file mode 100644
index 0000000000..888f9efbad
--- /dev/null
+++ b/features/poll/api/src/main/res/values-cs/translations.xml
@@ -0,0 +1,9 @@
+
+
+
+ - "%1$d procento z celkového počtu hlasů"
+ - "%1$d procenta z celkového počtu hlasů"
+ - "%1$d procent z celkového počtu hlasů"
+
+ "Toto je vítězná odpověď"
+
diff --git a/features/poll/api/src/main/res/values-da/translations.xml b/features/poll/api/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..1024970e20
--- /dev/null
+++ b/features/poll/api/src/main/res/values-da/translations.xml
@@ -0,0 +1,8 @@
+
+
+
+ - "%1$d% af de samlede stemmer"
+ - "%1$d procent af det samlede antal stemmer"
+
+ "Dette er det vindende svar"
+
diff --git a/features/poll/api/src/main/res/values-el/translations.xml b/features/poll/api/src/main/res/values-el/translations.xml
new file mode 100644
index 0000000000..fcd34977d3
--- /dev/null
+++ b/features/poll/api/src/main/res/values-el/translations.xml
@@ -0,0 +1,8 @@
+
+
+
+ - "%1$d τοις εκατό των συνολικών ψήφων"
+ - "%1$d τοις εκατό του συνόλου των ψήφων"
+
+ "Αυτή είναι η νικητήρια απάντηση"
+
diff --git a/features/poll/api/src/main/res/values-et/translations.xml b/features/poll/api/src/main/res/values-et/translations.xml
new file mode 100644
index 0000000000..a57d937d4f
--- /dev/null
+++ b/features/poll/api/src/main/res/values-et/translations.xml
@@ -0,0 +1,8 @@
+
+
+
+ - "%1$d protsent kõikidest antud häältest"
+ - "%1$d protsenti kõikidest antud häältest"
+
+ "See vastus võitis"
+
diff --git a/features/poll/api/src/main/res/values-hu/translations.xml b/features/poll/api/src/main/res/values-hu/translations.xml
new file mode 100644
index 0000000000..3bb3181295
--- /dev/null
+++ b/features/poll/api/src/main/res/values-hu/translations.xml
@@ -0,0 +1,8 @@
+
+
+
+ - "az összes szavazat %1$d százaléka"
+ - "az összes szavazat %1$d százaléka"
+
+ "Ez a győztes válasz"
+
diff --git a/features/poll/api/src/main/res/values-pt/translations.xml b/features/poll/api/src/main/res/values-pt/translations.xml
new file mode 100644
index 0000000000..f1292fee2f
--- /dev/null
+++ b/features/poll/api/src/main/res/values-pt/translations.xml
@@ -0,0 +1,8 @@
+
+
+
+ - "%1$d porcento de todos os votos"
+ - "%1$d porcento de todos os votos"
+
+ "Esta é a reposta vencedora"
+
diff --git a/features/poll/api/src/main/res/values-sk/translations.xml b/features/poll/api/src/main/res/values-sk/translations.xml
new file mode 100644
index 0000000000..42a6d22945
--- /dev/null
+++ b/features/poll/api/src/main/res/values-sk/translations.xml
@@ -0,0 +1,9 @@
+
+
+
+ - "%1$d percento z celkového počtu hlasov"
+ - "%1$d percentá z celkového počtu hlasov"
+ - "%1$d percent z celkového počtu hlasov"
+
+ "Toto je víťazná odpoveď"
+
diff --git a/features/poll/api/src/main/res/values-uk/translations.xml b/features/poll/api/src/main/res/values-uk/translations.xml
new file mode 100644
index 0000000000..bbb1618deb
--- /dev/null
+++ b/features/poll/api/src/main/res/values-uk/translations.xml
@@ -0,0 +1,9 @@
+
+
+
+ - "%1$d відсоток від усіх голосів"
+ - "%1$d відсотки від усіх голосів"
+ - "%1$d відсотків від усіх голосів"
+
+ "Ця відповідь перемогла"
+
diff --git a/features/poll/impl/src/main/res/values-cs/translations.xml b/features/poll/impl/src/main/res/values-cs/translations.xml
index ac1ebfb8dd..b5c7f325ad 100644
--- a/features/poll/impl/src/main/res/values-cs/translations.xml
+++ b/features/poll/impl/src/main/res/values-cs/translations.xml
@@ -5,6 +5,7 @@
"Anonymní hlasování"
"Volba %1$d"
"Vaše změny nebyly uloženy. Opravdu se chcete vrátit?"
+ "Smazat možnost %1$s"
"Otázka nebo téma"
"Čeho se hlasování týká?"
"Vytvořit hlasování"
diff --git a/features/poll/impl/src/main/res/values-da/translations.xml b/features/poll/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..84ab5de145
--- /dev/null
+++ b/features/poll/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,20 @@
+
+
+ "Tilføj mulighed"
+ "Vis først resultater, når afstemningen er slut"
+ "Skjul stemmer"
+ "Mulighed %1$d"
+ "Dine ændringer er ikke blevet gemt. Er du sikker på, at du vil gå tilbage?"
+ "Slet mulighed %1$s"
+ "Spørgsmål eller emne"
+ "Hvad handler afstemningen om?"
+ "Opret afstemning"
+ "Er du sikker på, at du ønsker at slette denne afstemning?"
+ "Slet afstemning"
+ "Redigér afstemning"
+ "Kan ikke finde nogen igangværende afstemninger."
+ "Kan ikke finde nogen tidligere afstemninger."
+ "Igangværende"
+ "Tidligere"
+ "Afstemninger"
+
diff --git a/features/poll/impl/src/main/res/values-el/translations.xml b/features/poll/impl/src/main/res/values-el/translations.xml
index e13ba7746a..108c9c6bce 100644
--- a/features/poll/impl/src/main/res/values-el/translations.xml
+++ b/features/poll/impl/src/main/res/values-el/translations.xml
@@ -5,6 +5,7 @@
"Απόκρυψη ψήφων"
"Επιλογή %1$d"
"Οι αλλαγές σου δεν έχουν αποθηκευτεί. Σίγουρα θες να πας πίσω;"
+ "Διαγραφή επιλογής %1$s"
"Ερώτηση ή θέμα"
"Τί αφορά η δημοσκόπηση;"
"Δημιουργία Δημοσκόπησης"
diff --git a/features/poll/impl/src/main/res/values-et/translations.xml b/features/poll/impl/src/main/res/values-et/translations.xml
index 4257685e75..8312856e87 100644
--- a/features/poll/impl/src/main/res/values-et/translations.xml
+++ b/features/poll/impl/src/main/res/values-et/translations.xml
@@ -5,6 +5,7 @@
"Peida hääled"
"Valik %1$d"
"Sinu tehtud muudatused pole veel salvestatud. Kas sa oled kindel, et soovid minna tagasi?"
+ "Kustuta valik: %1$s"
"Küsimus või teema"
"Mis on küsitluse teema?"
"Loo küsitlus"
diff --git a/features/poll/impl/src/main/res/values-hu/translations.xml b/features/poll/impl/src/main/res/values-hu/translations.xml
index 310c1a77db..ed6a79363f 100644
--- a/features/poll/impl/src/main/res/values-hu/translations.xml
+++ b/features/poll/impl/src/main/res/values-hu/translations.xml
@@ -5,6 +5,7 @@
"Szavazatok elrejtése"
"%1$d. lehetőség"
"A módosítások nem lettek mentve. Biztos, hogy visszalép?"
+ "Lehetőség törlése: %1$s"
"Kérdés vagy téma"
"Miről szól ez a szavazás?"
"Szavazás létrehozása"
diff --git a/features/poll/impl/src/main/res/values-pt/translations.xml b/features/poll/impl/src/main/res/values-pt/translations.xml
index 456b03b317..26bacb9f13 100644
--- a/features/poll/impl/src/main/res/values-pt/translations.xml
+++ b/features/poll/impl/src/main/res/values-pt/translations.xml
@@ -5,6 +5,7 @@
"Ocultar votos"
"Opção %1$d"
"As tuas alterações não foram guardadas. Tens a certeza que queres voltar atrás?"
+ "Eliminar opção %1$s"
"Pergunta ou tópico"
"De que trata a sondagem?"
"Criar sondagem"
diff --git a/features/poll/impl/src/main/res/values-sk/translations.xml b/features/poll/impl/src/main/res/values-sk/translations.xml
index 57f2ff1fb7..a3c5129105 100644
--- a/features/poll/impl/src/main/res/values-sk/translations.xml
+++ b/features/poll/impl/src/main/res/values-sk/translations.xml
@@ -5,6 +5,7 @@
"Anonymná anketa"
"Možnosť %1$d"
"Vaše zmeny neboli uložené. Naozaj sa chcete vrátiť?"
+ "Odstrániť možnosť %1$s"
"Otázka alebo téma"
"O čom je anketa?"
"Vytvoriť anketu"
diff --git a/features/poll/impl/src/main/res/values-uk/translations.xml b/features/poll/impl/src/main/res/values-uk/translations.xml
index ec1a7bda20..1e62e17a61 100644
--- a/features/poll/impl/src/main/res/values-uk/translations.xml
+++ b/features/poll/impl/src/main/res/values-uk/translations.xml
@@ -5,6 +5,7 @@
"Приховати голоси"
"Варіант %1$d"
"Внесені зміни не збережено. Ви впевнені, що хочете повернутися?"
+ "Видалити варіант %1$s"
"Питання або тема"
"Про що йдеться в опитуванні?"
"Створити опитування"
diff --git a/features/preferences/impl/build.gradle.kts b/features/preferences/impl/build.gradle.kts
index 6fb6e4a55b..8eb3c5d860 100644
--- a/features/preferences/impl/build.gradle.kts
+++ b/features/preferences/impl/build.gradle.kts
@@ -66,6 +66,7 @@ dependencies {
implementation(projects.libraries.permissions.api)
implementation(projects.libraries.push.api)
implementation(projects.libraries.pushproviders.api)
+ implementation(projects.libraries.uiUtils)
implementation(projects.libraries.fullscreenintent.api)
implementation(projects.features.rageshake.api)
implementation(projects.features.lockscreen.api)
@@ -74,8 +75,8 @@ dependencies {
implementation(projects.features.licenses.api)
implementation(projects.features.logout.api)
implementation(projects.features.deactivation.api)
+ implementation(projects.features.home.api)
implementation(projects.features.invite.api)
- implementation(projects.features.roomlist.api)
implementation(projects.services.analytics.api)
implementation(projects.services.analytics.compose)
implementation(projects.services.appnavstate.api)
diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt
index 15a55f41ca..6fd2d635e1 100644
--- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt
+++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/root/PreferencesRootPresenter.kt
@@ -15,6 +15,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.produceState
import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.setValue
import io.element.android.features.logout.api.direct.DirectLogoutState
import io.element.android.features.preferences.impl.utils.ShowDeveloperSettingsProvider
@@ -49,6 +50,7 @@ class PreferencesRootPresenter @Inject constructor(
) : Presenter {
@Composable
override fun present(): PreferencesRootState {
+ val coroutineScope = rememberCoroutineScope()
val matrixUser = matrixClient.userProfile.collectAsState()
LaunchedEffect(Unit) {
// Force a refresh of the profile
@@ -103,7 +105,7 @@ class PreferencesRootPresenter @Inject constructor(
fun handleEvent(event: PreferencesRootEvents) {
when (event) {
is PreferencesRootEvents.OnVersionInfoClick -> {
- showDeveloperSettingsProvider.unlockDeveloperSettings()
+ showDeveloperSettingsProvider.unlockDeveloperSettings(coroutineScope)
}
}
}
diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/utils/ShowDeveloperSettingsProvider.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/utils/ShowDeveloperSettingsProvider.kt
index 6589fd1c66..2ed16d6582 100644
--- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/utils/ShowDeveloperSettingsProvider.kt
+++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/utils/ShowDeveloperSettingsProvider.kt
@@ -9,6 +9,8 @@ package io.element.android.features.preferences.impl.utils
import io.element.android.libraries.core.meta.BuildMeta
import io.element.android.libraries.core.meta.BuildType
+import io.element.android.libraries.ui.utils.MultipleTapToUnlock
+import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import javax.inject.Inject
@@ -19,18 +21,15 @@ class ShowDeveloperSettingsProvider @Inject constructor(
companion object {
const val DEVELOPER_SETTINGS_COUNTER = 7
}
- private var counter = DEVELOPER_SETTINGS_COUNTER
+
+ private val multipleTapToUnlock = MultipleTapToUnlock(DEVELOPER_SETTINGS_COUNTER)
private val isDeveloperBuild = buildMeta.buildType != BuildType.RELEASE
private val _showDeveloperSettings = MutableStateFlow(isDeveloperBuild)
val showDeveloperSettings: StateFlow = _showDeveloperSettings
- fun unlockDeveloperSettings() {
- if (counter == 0) {
- return
- }
- counter--
- if (counter == 0) {
+ fun unlockDeveloperSettings(scope: CoroutineScope) {
+ if (multipleTapToUnlock.unlock(scope)) {
_showDeveloperSettings.value = true
}
}
diff --git a/features/preferences/impl/src/main/res/values-bg/translations.xml b/features/preferences/impl/src/main/res/values-bg/translations.xml
index 9b017f6807..289c59d360 100644
--- a/features/preferences/impl/src/main/res/values-bg/translations.xml
+++ b/features/preferences/impl/src/main/res/values-bg/translations.xml
@@ -1,7 +1,14 @@
+ "Изберете как да получавате известия"
+ "Скриване на профилните снимки в заявките за покана за стая"
+ "Оптимизиране на качеството на медията"
+ "Модерация и безопасност"
"Потвърждения за прочитане"
"Споделяне на присъствието"
+ "Скриване винаги"
+ "Показване винаги"
+ "В частни стаи"
"Отблокиране"
"Отблокиране на потребителя"
"Име"
@@ -20,6 +27,7 @@
"Включване на известията на това устройство"
"Групови чатове"
"Покани"
+ "Вашият сървър не поддържа тази опция в шифровани стаи, може да не получавате известия в някои стаи."
"Споменавания"
"Споменавания"
"Да бъда известяван за"
diff --git a/features/preferences/impl/src/main/res/values-da/translations.xml b/features/preferences/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..c2edfc3d44
--- /dev/null
+++ b/features/preferences/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,69 @@
+
+
+ "For at sikre, at du aldrig går glip af et vigtigt opkald, skal du ændre dine indstillinger til at tillade underretninger i fuld skærm, når din telefon er låst."
+ "Gør din opkaldsoplevelse bedre"
+ "Vælg, hvordan du vil modtage notifikationer"
+ "Udviklertilstand"
+ "Aktivér for at få adgang til funktioner og funktionalitet for udviklere."
+ "Brugerdefineret URL til opkaldsbase for Element"
+ "Angiv en brugerdefineret basis-URL til Element Call."
+ "Ugyldig URL, sørg for at inkludere protokollen (http/https) og den korrekte adresse."
+ "Skjul avatarer i ruminvitationsanmodninger"
+ "Skjul forhåndsvisning af medier i tidslinjen"
+ "Upload fotos og videoer hurtigere, og reducér dataforbrug"
+ "Optimér mediekvaliteten"
+ "Moderation og sikkerhed"
+ "Udbyder af push-notifikationer"
+ "Deaktiver rich text-editoren for at skrive Markdown manuelt."
+ "Kvitteringer•for•læsning"
+ "Hvis deaktiveret, sendes dine læsekvitteringer ikke til nogen. Du vil stadig modtage læsekvitteringer fra andre brugere."
+ "Del tilstedeværelse"
+ "Hvis deaktiveret, kan du ikke sende eller modtage læsekvitteringer eller indtastningsmeddelelser."
+ "Skjul altid"
+ "Vis altid"
+ "I private rum"
+ "Et skjult medie kan altid vises ved at trykke på det"
+ "Vis medier i tidslinjen"
+ "Aktivér mulighed for at se meddelelseskilden i tidslinjen."
+ "Du har ingen blokerede brugere"
+ "Fjern blokering"
+ "Du vil være i stand til at se alle beskeder fra dem igen."
+ "Fjern blokering af bruger"
+ "Fjerner blokering…"
+ "Vist navn"
+ "Dit viste navn"
+ "Der opstod en ukendt fejl, og oplysningerne kunne ikke ændres."
+ "Kan ikke opdatere profilen"
+ "Redigér profil"
+ "Opdaterer profil…"
+ "Yderligere indstillinger"
+ "Lyd- og videoopkald"
+ "Uoverensstemmelse i konfigurationen"
+ "Vi har forenklet indstillingerne for notifikationer for at gøre det nemmere at finde dem. Nogle af de brugerdefinerede indstillinger, du tidligere har valgt, vises ikke her, men de er stadig aktive.
+
+Hvis du fortsætter, kan nogle af dine indstillinger blive ændret."
+ "Direkte samtaler"
+ "Brugerdefineret indstilling pr. samtale"
+ "Der opstod en fejl under opdatering af notifikationsindstillingen."
+ "Alle beskeder"
+ "Kun omtaler og nøgleord"
+ "I direkte samtaler, giv mig besked om"
+ "I gruppesamtaler, giv mig besked ved"
+ "Aktivér notifikationer på denne enhed"
+ "Konfigurationen er ikke blevet rettet, prøv igen."
+ "Gruppesamtaler"
+ "Invitationer"
+ "Din hjemmeserver understøtter ikke denne mulighed i krypterede rum, og derfor er det muligt at du ikke får besked i alle rum."
+ "Omtaler"
+ "Alle"
+ "Omtaler"
+ "Giv mig besked om"
+ "Giv mig besked på @room"
+ "For at modtage notifikationer, skal du ændre din %1$s ."
+ "systemindstillinger"
+ "Systemmeddelelser slået fra"
+ "Notifikationer"
+ "Push-historik"
+ "Fejlfind"
+ "Fejlfinding af meddelelser"
+
diff --git a/features/preferences/impl/src/main/res/values-el/translations.xml b/features/preferences/impl/src/main/res/values-el/translations.xml
index 7c6c7982a1..49d2f6df47 100644
--- a/features/preferences/impl/src/main/res/values-el/translations.xml
+++ b/features/preferences/impl/src/main/res/values-el/translations.xml
@@ -1,6 +1,6 @@
- "Για να διασφαλίσεις ότι δεν θα χάσεις ποτέ μια σημαντική κλήση, άλλαξε τις ρυθμίσεις σου για να επιτρέψεις τις ειδοποιήσεις πλήρους οθόνης όταν το τηλέφωνό σου είναι κλειδωμένο."
+ "Για να διασφαλίσετε ότι δεν θα χάσετε ποτέ μια σημαντική κλήση, αλλάξτε τις ρυθμίσεις σας ώστε να επιτρέπονται οι ειδοποιήσεις πλήρους οθόνης όταν το τηλέφωνό σας είναι κλειδωμένο."
"Βελτίωσε την εμπειρία κλήσεων"
"Επέλεξε τον τρόπο λήψης ειδοποιήσεων"
"Λειτουργία προγραμματιστή"
@@ -8,7 +8,7 @@
"Προσαρμοσμένο URL βάσης κλήσεων Element"
"Όρισε μια προσαρμοσμένη διεύθυνση βάσης URL για κλήση Element."
"Μη έγκυρη διεύθυνση URL, βεβαιώσου ότι έχεις συμπεριλάβει το πρωτόκολλο (http/https) και τη σωστή διεύθυνση."
- "Απόκρυψη εικόνων προφίλ σε αιτήματα πρόσκλησης δωματίου"
+ "Απόκρυψη εικόνων προφίλ σε αιτήματα πρόσκλησης αίθουσας"
"Απόκρυψη προεπισκοπήσεων πολυμέσων στο timeline"
"Ανέβασε φωτογραφίες και βίντεο γρηγορότερα και μείωσε τη χρήση δεδομένων"
"Βελτιστοποίηση ποιότητας των μέσων"
@@ -21,7 +21,7 @@
"Εάν απενεργοποιηθεί, δεν θα μπορείς να στέλνεις ή να λαμβάνεις αποδεικτικά ανάγνωσης ή ειδοποιήσεις πληκτρολόγησης."
"Πάντα απόκρυψη"
"Πάντα εμφάνιση"
- "Σε ιδιωτικά δωμάτια"
+ "Σε ιδιωτικές αίθουσες"
"Ένα κρυφό πολυμέσο μπορεί πάντα να εμφανιστεί πατώντας το"
"Εμφάνιση πολυμέσων στο timeline"
"Ενεργοποίησε την επιλογή για προβολή πηγής μηνυμάτων στη ροή."
@@ -53,7 +53,7 @@
"Η διαμόρφωση δεν έχει διορθωθεί, δοκίμασε ξανά."
"Ομαδικές συνομιλίες"
"Προσκλήσεις"
- "Ο οικιακός διακομιστής σου δεν υποστηρίζει αυτήν την επιλογή σε κρυπτογραφημένα δωμάτια, ενδέχεται να μην λάβεις ειδοποίηση σε ορισμένα δωμάτια."
+ "Ο αρχικός διακομιστής σας δεν υποστηρίζει αυτή την επιλογή σε κρυπτογραφημένες αίθουσες, ενδέχεται να μην λαμβάνετε ειδοποιήσεις σε ορισμένες αίθουσες."
"Αναφορές"
"Όλα"
"Αναφορές"
diff --git a/features/rageshake/api/src/main/res/values-da/translations.xml b/features/rageshake/api/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..45486f41da
--- /dev/null
+++ b/features/rageshake/api/src/main/res/values-da/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "%1$s crashede sidste gang den blev brugt. Vil du dele en ulykkesrapport med os?"
+ "Det ser ud til, at du ryster telefonen i frustration. Vil du åbne fejlrapporteringsskærmen?"
+ "Ryst enheden i frustration"
+ "Tærskel for registrering"
+
diff --git a/features/rageshake/impl/src/main/res/values-da/translations.xml b/features/rageshake/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..fe0e94fd57
--- /dev/null
+++ b/features/rageshake/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,17 @@
+
+
+ "Vedhæft skærmbillede"
+ "Du kan kontakte mig, hvis du har opfølgende spørgsmål."
+ "Kontakt mig"
+ "Rediger skærmbillede"
+ "Beskriv venligst problemet: Hvad gjorde du? Hvad forventede du, at der skulle ske? Hvad skete der faktisk? - Beskriv det med så mange detaljer som du kan."
+ "Beskriv problemet…"
+ "Hvis det er muligt, må du meget gerne lave beskrivelsen på engelsk."
+ "Beskrivelsen er for kort, giv venligst flere detaljer om, hvad der skete. Tak!"
+ "Send nedbrudslogfiler"
+ "Tillad logfiler"
+ "Send skærmbillede"
+ "Logfiler vil blive inkluderet i din besked for at sikre, at alt fungerer korrekt. Hvis du vil sende din besked uden logfiler, skal du deaktivere denne indstilling."
+ "%1$s crashede sidste gang den blev brugt. Vil du dele en ulykkesrapport med os?"
+ "Se logfiler"
+
diff --git a/features/rageshake/impl/src/main/res/values-et/translations.xml b/features/rageshake/impl/src/main/res/values-et/translations.xml
index 77144c6c43..64e0f9b307 100644
--- a/features/rageshake/impl/src/main/res/values-et/translations.xml
+++ b/features/rageshake/impl/src/main/res/values-et/translations.xml
@@ -10,6 +10,7 @@
"Kirjeldus on liiga lühike. Palun jaga täpsemat teavet selle kohta, mis juhtus. Tänud juba ette!"
"Saada krahhilogid"
"Luba logide saatmine"
+ "Sinu logid on väga mahukad ja neid ei saa siia lisada. Palun saada logid meile mõnel muul viisil."
"Saada ekraanitõmmis"
"Tõhusama veaotsingu nimel lisame sinu veateatele logid. Kui sa seda ei soovi, siis lülita antud valik välja."
"%1$s jooksis kokku viimati, kui seda kasutasid. Kas tahaksid selle kohta meile veateate saata?"
diff --git a/features/rageshake/impl/src/main/res/values-fr/translations.xml b/features/rageshake/impl/src/main/res/values-fr/translations.xml
index ed576f74be..0d67e42db0 100644
--- a/features/rageshake/impl/src/main/res/values-fr/translations.xml
+++ b/features/rageshake/impl/src/main/res/values-fr/translations.xml
@@ -10,6 +10,7 @@
"La description est trop courte, veuillez fournir plus de détails sur ce qui s’est passé. Merci !"
"Envoyer des journaux d’incident"
"Autoriser à inclure les journaux techniques"
+ "Vos fichiers de log sont trop volumineux et ne peuvent donc pas être inclus dans ce rapport, veuillez nous les envoyer par un autre moyen."
"Envoyer une capture d’écran"
"Pour vérifier que les choses fonctionnent comme prévu, des journaux techniques seront envoyés avec votre message. Pour ne pas envoyer ces journaux, désactivez ce paramètre."
"%1$s s’est arrêté la dernière fois qu’il a été utilisé. Souhaitez-vous partager un rapport d’incident avec nous ?"
diff --git a/features/rageshake/impl/src/main/res/values-hu/translations.xml b/features/rageshake/impl/src/main/res/values-hu/translations.xml
index 1ac8c4c285..f6fcbaa1c9 100644
--- a/features/rageshake/impl/src/main/res/values-hu/translations.xml
+++ b/features/rageshake/impl/src/main/res/values-hu/translations.xml
@@ -10,6 +10,7 @@
"A leírás túl rövid, adjon meg további részleteket a történtekről. Köszönjük!"
"Összeomlásnaplók küldése"
"Naplók engedélyezése"
+ "A naplófájlok túl nagyok, ezért nem szerepelhetnek ebben a jelentésben. Más módon küldje el őket."
"Képernyőkép küldése"
"A naplók szerepelni fognak az üzenetben, hogy megbizonyosodhassunk arról, hogy minden megfelelően működik-e. Ha naplók nélkül szeretné elküldeni az üzenetet, akkor kapcsolja ki ezt a beállítást."
"Az %1$s összeomlott a legutóbbi használata óta. Megosztja velünk az összeomlás-jelentést?"
diff --git a/features/rageshake/impl/src/main/res/values-nb/translations.xml b/features/rageshake/impl/src/main/res/values-nb/translations.xml
index 34a6ade303..277effef92 100644
--- a/features/rageshake/impl/src/main/res/values-nb/translations.xml
+++ b/features/rageshake/impl/src/main/res/values-nb/translations.xml
@@ -10,6 +10,7 @@
"Beskrivelsen er for kort, vennligst gi flere detaljer om hva som skjedde. Takk skal du ha!"
"Send krasjlogger"
"Tillat logger"
+ "Loggene dine er for store og kan derfor ikke inkluderes i denne rapporten. Vennligst send dem til oss på en annen måte."
"Send skjermbilde"
"Logger vil bli inkludert i meldingen din, for å sikre at alt fungerer som det skal. For å sende meldingen uten logger, slå av denne innstillingen."
"%1$s krasjet sist gang den ble brukt. Vil du dele en krasjrapport med oss?"
diff --git a/features/rageshake/impl/src/main/res/values-pt/translations.xml b/features/rageshake/impl/src/main/res/values-pt/translations.xml
index 59a066a16e..d2e637db56 100644
--- a/features/rageshake/impl/src/main/res/values-pt/translations.xml
+++ b/features/rageshake/impl/src/main/res/values-pt/translations.xml
@@ -10,6 +10,7 @@
"A descrição é demasiado curta. Por favor dá mais detalhes sobre o que aconteceu. Obrigado!"
"Enviar registos de falha"
"Permitir registos"
+ "Os teus registos são excessivamente grandes e não podem ser incluídos neste relatório, por favor envia-no-los de outra forma."
"Enviar captura de ecrã"
"Os registos serão incluídos na tua mensagem para garantir que tudo está a funcionar corretamente. Para enviares a tua mensagem sem registos, desativa esta definição."
"A %1$s teve uma falha da última vez que foi utilizada. Gostarias de partilhar um relatório de acidente connosco?"
diff --git a/features/rageshake/impl/src/main/res/values-sk/translations.xml b/features/rageshake/impl/src/main/res/values-sk/translations.xml
index f9152d844c..c46181ad29 100644
--- a/features/rageshake/impl/src/main/res/values-sk/translations.xml
+++ b/features/rageshake/impl/src/main/res/values-sk/translations.xml
@@ -10,6 +10,7 @@
"Popis je príliš krátky, uveďte viac podrobností o tom, čo sa stalo. Ďakujeme!"
"Odoslať záznamy o zlyhaní"
"Povoliť záznamy"
+ "Vaše záznamy sú príliš veľké, takže ich nemožno zahrnúť do tejto správy, pošlite nám ich prosím iným spôsobom."
"Odoslať snímku obrazovky"
"K vašej správe budú priložené záznamy o chybe, aby sme sa uistili, že všetko funguje správne. Ak chcete odoslať správu bez záznamov o chybe, vypnite toto nastavenie."
"%1$s zlyhal pri poslednom použití. Chcete zdieľať správu o páde s našim tímom?"
diff --git a/features/rageshake/impl/src/main/res/values-uk/translations.xml b/features/rageshake/impl/src/main/res/values-uk/translations.xml
index 30465c4ca4..3999133537 100644
--- a/features/rageshake/impl/src/main/res/values-uk/translations.xml
+++ b/features/rageshake/impl/src/main/res/values-uk/translations.xml
@@ -10,6 +10,7 @@
"Опис закороткий, будь ласка, надайте докладнішу інформацію про те, що сталося. Дякуємо!"
"Надіслати журнали збоїв"
"Дозволити журнали"
+ "Ваші журнали надмірно великі, тому їх не можна включити в цей звіт, будь ласка, надішліть їх нам іншим способом."
"Надіслати знімок екрана"
"Журнали будуть додані до вашого повідомлення, щоб переконатися, що все працює належним чином. Щоб надіслати повідомлення без журналів, вимкніть це налаштування."
"Стався збій %1$s під час останнього користування. Хочете поділитися з нами звітом про збій?"
diff --git a/features/rageshake/impl/src/main/res/values/localazy.xml b/features/rageshake/impl/src/main/res/values/localazy.xml
index 1c7d5edbb6..9c18d37a3b 100644
--- a/features/rageshake/impl/src/main/res/values/localazy.xml
+++ b/features/rageshake/impl/src/main/res/values/localazy.xml
@@ -10,6 +10,7 @@
"The description is too short, please provide more details about what happened. Thanks!"
"Send crash logs"
"Allow logs"
+ "Your logs are excessively large so cannot be included in this report, please send them to us another way."
"Send screenshot"
"Logs will be included with your message to make sure that everything is working properly. To send your message without logs, turn off this setting."
"%1$s crashed the last time it was used. Would you like to share a crash report with us?"
diff --git a/features/reportroom/impl/src/main/res/values-da/translations.xml b/features/reportroom/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..0f2a9b274c
--- /dev/null
+++ b/features/reportroom/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,8 @@
+
+
+ "Din anmeldelse blev indsendt med succes, men vi stødte på et problem, da vi forsøgte at forlade rummet. Prøv venligst igen."
+ "Ude af stand til at forlade rummet"
+ "Anmeld dette rum til din administrator. Hvis meddelelserne er krypteret, kan din administrator ikke læse dem."
+ "Beskriv årsagen til anmeldelsen…"
+ "Anmeld rummet"
+
diff --git a/features/reportroom/impl/src/main/res/values-el/translations.xml b/features/reportroom/impl/src/main/res/values-el/translations.xml
index d8789dcd31..274c6bc4c7 100644
--- a/features/reportroom/impl/src/main/res/values-el/translations.xml
+++ b/features/reportroom/impl/src/main/res/values-el/translations.xml
@@ -1,8 +1,8 @@
- "Η αναφορά σας υποβλήθηκε με επιτυχία, αλλά αντιμετωπίσαμε πρόβλημα κατά την προσπάθεια αποχώρησης από το δωμάτιο. Παρακαλώ προσπαθήστε ξανά."
- "Δεν είναι δυνατή η αποχώρηση από το δωμάτιο"
- "Αναφέρετε αυτό το δωμάτιο στον διαχειριστή σας. Εάν τα μηνύματα είναι κρυπτογραφημένα, ο διαχειριστής σας δε θα μπορεί να τα διαβάσει."
+ "Η αναφορά σας υποβλήθηκε με επιτυχία, αλλά αντιμετωπίσαμε ένα πρόβλημα κατά την προσπάθεια εξόδου από την αίθουσα. Παρακαλώ προσπαθήστε ξανά."
+ "Δεν είναι δυνατή η έξοδος από την αίθουσα"
+ "Αναφέρετε αυτήν την αίθουσα στον διαχειριστή σας. Εάν τα μηνύματα είναι κρυπτογραφημένα, ο διαχειριστής σας δεν θα μπορεί να τα διαβάσει."
"Περιγράψτε τον λόγο αναφοράς…"
- "Αναφορά δωματίου"
+ "Αναφορά αίθουσας"
diff --git a/features/roomaliasresolver/impl/src/main/res/values-da/translations.xml b/features/roomaliasresolver/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..68cde2d29b
--- /dev/null
+++ b/features/roomaliasresolver/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,5 @@
+
+
+ "Vi kunne ikke forhåndsvise rummet"
+ "Kunne ikke løse rummets alias."
+
diff --git a/features/roomaliasresolver/impl/src/main/res/values-el/translations.xml b/features/roomaliasresolver/impl/src/main/res/values-el/translations.xml
index b5e577d89e..266cb5080b 100644
--- a/features/roomaliasresolver/impl/src/main/res/values-el/translations.xml
+++ b/features/roomaliasresolver/impl/src/main/res/values-el/translations.xml
@@ -1,5 +1,5 @@
- "Δεν μπορέσαμε να εμφανίσουμε αυτήν την προεπισκόπηση δωματίου"
- "Αποτυχία επίλυσης ψευδωνύμου δωματίου."
+ "Δεν μπορέσαμε να εμφανίσουμε αυτή την προεπισκόπηση αίθουσας"
+ "Αποτυχία επίλυσης του ψευδώνυμου αίθουσας."
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 02a6a637e3..c60a78dd22 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
@@ -58,6 +58,7 @@ import io.element.android.libraries.designsystem.components.button.MainActionBut
import io.element.android.libraries.designsystem.components.list.ListItemContent
import io.element.android.libraries.designsystem.components.preferences.PreferenceCategory
import io.element.android.libraries.designsystem.components.preferences.PreferenceSwitch
+import io.element.android.libraries.designsystem.modifiers.a11yClickLabel
import io.element.android.libraries.designsystem.modifiers.niceClickable
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
@@ -400,6 +401,7 @@ private fun RoomHeaderSection(
.padding(horizontal = 16.dp),
horizontalAlignment = Alignment.CenterHorizontally,
) {
+ val actionView = stringResource(CommonStrings.action_view)
Avatar(
avatarData = AvatarData(roomId.value, roomName, avatarUrl, AvatarSize.RoomHeader),
avatarType = AvatarType.Room(
@@ -408,9 +410,11 @@ private fun RoomHeaderSection(
}.toPersistentList(),
isTombstoned = isTombstoned,
),
+ contentDescription = avatarUrl?.let { stringResource(CommonStrings.a11y_room_avatar) },
modifier = Modifier
.clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) }
.testTag(TestTags.roomDetailAvatar)
+ .a11yClickLabel(avatarUrl?.let { actionView })
)
TitleAndSubtitle(
title = roomName,
diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsNode.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsNode.kt
index f0fa5e5c8d..8b96bcda27 100644
--- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsNode.kt
+++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsNode.kt
@@ -59,7 +59,7 @@ class RolesAndPermissionsNode @AssistedInject constructor(
lifecycleScope.launch {
room.roomInfoFlow
.filter { info ->
- info.userPowerLevels[room.sessionId] != RoomMember.Role.ADMIN.powerLevel
+ info.roomPowerLevels?.users?.get(room.sessionId) != RoomMember.Role.ADMIN.powerLevel
}
.take(1)
.onEach { navigateUp() }
diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsPresenter.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsPresenter.kt
index 812a9d4e1a..f2de1d2817 100644
--- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsPresenter.kt
+++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/RolesAndPermissionsPresenter.kt
@@ -110,8 +110,8 @@ class RolesAndPermissionsPresenter @Inject constructor(
}
private fun RoomInfo.userCountWithRole(userIds: List, role: RoomMember.Role): Int {
- return this.userPowerLevels.count { (userId, level) ->
+ return this.roomPowerLevels?.users?.count { (userId, level) ->
RoomMember.Role.forPowerLevel(level) == role && userId in userIds
- }
+ } ?: 0
}
}
diff --git a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesPresenter.kt b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesPresenter.kt
index 36fc5a336a..e3a173f2f2 100644
--- a/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesPresenter.kt
+++ b/features/roomdetails/impl/src/main/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesPresenter.kt
@@ -109,7 +109,7 @@ class ChangeRolesPresenter @AssistedInject constructor(
val roomInfo by room.roomInfoFlow.collectAsState()
fun canChangeMemberRole(userId: UserId): Boolean {
// An admin can't remove or demote another admin
- val powerLevel = roomInfo.userPowerLevels[userId] ?: 0L
+ val powerLevel = roomInfo.roomPowerLevels?.users?.get(userId) ?: 0L
return RoomMember.Role.forPowerLevel(powerLevel) != RoomMember.Role.ADMIN
}
diff --git a/features/roomdetails/impl/src/main/res/values-bg/translations.xml b/features/roomdetails/impl/src/main/res/values-bg/translations.xml
index e764baee3c..6f9c256742 100644
--- a/features/roomdetails/impl/src/main/res/values-bg/translations.xml
+++ b/features/roomdetails/impl/src/main/res/values-bg/translations.xml
@@ -1,10 +1,32 @@
+ "Вашият сървър не поддържа тази опция в шифровани стаи, може да не получавате известия в някои стаи."
"Анкети"
+ "Само администратори"
+ "Премахване на съобщения"
+ "Всеки"
+ "Поканване на хора и приемане на заявки за присъединяване"
+ "Модериране на членове"
+ "Съобщения и съдържание"
+ "Администратори и модератори"
+ "Премахване на хора и отхвърляне на заявки за присъединяване"
+ "Подробности за стаята"
+ "Промяна на името на стаята"
+ "Промяна на темата на стаята"
+ "Изпращане на съобщения"
+ "Редактиране на администраторите"
+ "Добавяне на администратор?"
+ "Администраторите автоматично имат модераторски права"
+ "Редактиране на модераторите"
+ "Администратори"
+ "Модератори"
"Членове"
"Добавяне на тема"
"Вече е член"
"Вече е бил поканен"
+ "С шифроване"
+ "Без шифроване"
+ "Общодостъпна стая"
"Редактиране на стаята"
"Не може да се обнови стаята"
"Съобщенията са защитени с ключове. Само вие и получателите имате уникалните ключове, за да ги отключите."
@@ -12,12 +34,17 @@
"Поканване на хора"
"Напускане на разговора"
"Напускане на стаята"
+ "Медия и файлове"
"Персонализирани"
"По подразбиране"
"Известия"
+ "Закачени съобщения"
+ "Профил"
+ "Роли и разрешения"
"Име на стаята"
"Защита"
"Споделяне на стаята"
+ "Информация за стаята"
"Тема"
"Обновяване на стаята…"
@@ -32,4 +59,19 @@
"Всички съобщения"
"Само споменавания и ключови думи"
"В тази стая, да бъда известяван за"
+ "Администратори"
+ "Промяна на моята роля"
+ "Модериране на членове"
+ "Съобщения и съдържание"
+ "Модератори"
+ "Разрешения"
+ "Нулиране на разрешенията"
+ "Роли"
+ "Подробности за стаята"
+ "Роли и разрешения"
+ "Шифроване"
+ "Всеки"
+ "Видима в директорията на обществените стаи"
+ "Всеки"
+ "Видимост на стаята"
diff --git a/features/roomdetails/impl/src/main/res/values-da/translations.xml b/features/roomdetails/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..4ee3a8439a
--- /dev/null
+++ b/features/roomdetails/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,147 @@
+
+
+ "Du skal bruge en rum-adresse for at gøre den synlig i kataloget."
+ "Rummets adresse"
+ "Der opstod en fejl under opdatering af notifikationsindstillingen."
+ "Din hjemmeserver understøtter ikke denne mulighed i krypterede rum, og derfor er det muligt at du ikke får besked i alle rum."
+ "Afstemninger"
+ "Kun admins"
+ "Spær personer"
+ "Fjern beskeder"
+ "Alle"
+ "Invitér personer og acceptér anmodninger om at deltage"
+ "Moderation af medlemmer"
+ "Beskeder og indhold"
+ "Admins og moderatorer"
+ "Fjern personer og afvis anmodninger om at deltage"
+ "Skift rummets avatar"
+ "Detaljer om rummet"
+ "Skift rummets navn"
+ "Skift emne for rummet"
+ "Send beskeder"
+ "Redigér admins"
+ "Du kan ikke fortryde denne handling. Du forfremmer brugeren til at have samme magtniveau som dig."
+ "Tilføj Admin?"
+ "Nedgradering"
+ "Du vil ikke være i stand til at fortryde denne ændring, da du degraderer dig selv. Hvis du er den sidste privilegerede bruger i rummet, vil det være umuligt at genvinde privilegier."
+ "Nedgrader dig selv?"
+ "%1$s (Afventer)"
+ "(Afventer)"
+ "Administratorer har automatisk moderatorrettigheder"
+ "Redigér moderatorer"
+ "Administratorer"
+ "Moderatorer"
+ "Medlemmer"
+ "Du har ændringer, der ikke er gemt."
+ "Gem ændringer?"
+ "Tilføj emne"
+ "Allerede medlem"
+ "Allerede inviteret"
+ "Krypteret"
+ "Ikke krypteret"
+ "Offentligt rum"
+ "Rediger rum"
+ "Der opstod en ukendt fejl, og oplysningerne kunne ikke ændres."
+ "Rummet kunne ikke opdateres"
+ "Beskeder er sikret med låse. Kun du og modtagerne har de unikke nøgler til at låse dem op."
+ "Beskedkryptering aktiveret"
+ "Der opstod en fejl under indlæsning af notifikationsindstillinger."
+ "Det lykkedes ikke at slå lyden fra for dette rum. Prøv igen."
+ "Det lykkedes ikke at slå lyden til igen i dette rum. Prøv igen."
+ "Invitér folk"
+ "Forlad samtalen"
+ "Forlad rum"
+ "Medier og filer"
+ "Brugerdefineret"
+ "Standard"
+ "Notifikationer"
+ "Fastgjorte beskeder"
+ "Profil"
+ "Anmodninger om at deltage"
+ "Roller og tilladelser"
+ "Navn på rum"
+ "Sikkerhed og privatliv"
+ "Sikkerhed"
+ "Del rum"
+ "Informationer om rummet"
+ "Emne"
+ "Opdaterer rum…"
+ "Der er ingen spærrede brugere i dette rum."
+
+ - "%1$d person"
+ - "%1$d personer"
+
+ "Spær fra rum"
+ "Fjern kun medlem"
+ "Fjern spærring af"
+ "De vil være i stand til at deltage i dette rum igen, hvis de inviteres."
+ "Ophæv blokering af bruger fra rum"
+ "Spærret"
+ "Medlemmer"
+ "Afventer"
+ "Admin"
+ "Moderator"
+ "Medlemmer af rummet"
+ "Ophæver spærring af %1$s"
+ "Tillad brugerdefineret indstilling"
+ "Hvis du aktiverer dette, tilsidesættes din standardindstilling"
+ "Giv mig besked i denne samtale for"
+ "Du kan ændre det i din %1$s."
+ "globale indstillinger"
+ "Standardindstilling"
+ "Fjern brugerdefineret indstilling"
+ "Der opstod en fejl under indlæsning af meddelelsesindstillinger."
+ "Gendannelse af standardtilstanden mislykkedes. Prøv igen."
+ "Kunne ikke indstille tilstanden. Prøv igen."
+ "Din hjemmeserver understøtter ikke denne indstilling i krypterede rum, du får ikke besked i dette rum."
+ "Alle beskeder"
+ "Kun omtaler og nøgleord"
+ "Giv mig besked i dette rum for"
+ "Administratorer"
+ "Skift min rolle"
+ "Nedgrader til medlem"
+ "Nedgradering til moderator"
+ "Moderation af medlemmer"
+ "Beskeder og indhold"
+ "Moderatorer"
+ "Tilladelser"
+ "Nulstil tilladelser"
+ "Når du nulstiller tilladelserne, mister du de nuværende indstillinger."
+ "Nulstil tilladelser?"
+ "Roller"
+ "Detaljer om rummet"
+ "Roller og tilladelser"
+ "Tilføj adresse på rum"
+ "Alle kan bede om at deltage i lokalet, men en administrator eller moderator skal acceptere anmodningen."
+ "Spørg om at deltage"
+ "Ja, aktivér kryptering"
+ "Når det først er aktiveret, kan kryptering for et rum ikke deaktiveres igen. Beskedhistorik vil kun være synlig for rummedlemmer, siden de blev inviteret, eller siden de blev medlem af rummet.
+Ingen udover medlemmer af rummet vil være i stand til at læse beskeder. Dette kan forhindre bots og broer i at fungere korrekt.
+Vi anbefaler ikke at aktivere kryptering for rum, som alle kan finde og deltage i."
+ "Aktivér kryptering?"
+ "Når kryptering først er aktiveret, kan den ikke deaktiveres igen."
+ "Kryptering"
+ "Aktivér end-to-end-kryptering"
+ "Alle kan finde og deltage"
+ "Enhver"
+ "Folk kan kun deltage, hvis de bliver inviteret"
+ "Kun med invitation"
+ "Adgang til rummet"
+ "Klynger understøttes ikke i øjeblikket"
+ "Medlemmer af klyngen"
+ "Du skal bruge en adresse til rummet, for at gøre den synlig i rum-registeret."
+ "Rummets adresse"
+ "Tillad, at dette rum kan findes ved at søge i %1$s fortegnelse over offentlige rum"
+ "Synlig i det offentlige register over rum"
+ "Enhver"
+ "Hvem kan læse historikken?"
+ "Kun medlemmer, efter de blev inviteret"
+ "Kun medlemmer siden valg af denne mulighed"
+ "Rum-adresser er en måde at finde og få adgang til værelser på. Dette sikrer også, at du nemt kan dele dit rum med andre.
+Du kan vælge at offentliggøre dit rum i din hjemmeservers offentlige katalog over rum."
+ "Udgivelse af rum"
+ "Rum-adresser er måder at finde og få adgang til rum på. Dette sikrer også, at du nemt kan dele dit rum med andre.
+Adressen er også påkrævet for at gøre rummet synligt i det %1$s offentlige register."
+ "Rummets synlighed"
+ "Sikkerhed og privatliv"
+
diff --git a/features/roomdetails/impl/src/main/res/values-el/translations.xml b/features/roomdetails/impl/src/main/res/values-el/translations.xml
index 3c5b8c7a76..aed10ce24f 100644
--- a/features/roomdetails/impl/src/main/res/values-el/translations.xml
+++ b/features/roomdetails/impl/src/main/res/values-el/translations.xml
@@ -1,9 +1,9 @@
- "Θα χρειαστείτε μια διεύθυνση δωματίου για να γίνει ορατό στον κατάλογο."
- "Διεύθυνση δωματίου"
+ "Θα χρειαστείτε μια διεύθυνση αίθουσας για να την κάνετε ορατή στον κατάλογο."
+ "Διεύθυνση αίθουσας"
"Παρουσιάστηκε σφάλμα κατά την ενημέρωση της ρύθμισης ειδοποίησης."
- "Ο οικιακός διακομιστής σου δεν υποστηρίζει αυτήν την επιλογή σε κρυπτογραφημένα δωμάτια, ενδέχεται να μην λάβεις ειδοποίηση σε ορισμένα δωμάτια."
+ "Ο αρχικός διακομιστής σας δεν υποστηρίζει αυτή την επιλογή σε κρυπτογραφημένες αίθουσες, ενδέχεται να μην λαμβάνετε ειδοποιήσεις σε ορισμένες αίθουσες."
"Δημοσκοπήσεις"
"Μόνο διαχειριστές"
"Αποκλεισμός ατόμων"
@@ -14,16 +14,16 @@
"Μηνύματα και περιεχόμενο"
"Διαχειριστές και συντονιστές"
"Αφαίρεση ατόμων και απόρριψη αιτημάτων συμμετοχής"
- "Αλλαγή avatar δωματίου"
- "Λεπτομέρειες δωματίου"
- "Αλλαγή ονόματος δωματίου"
- "Αλλαγή θέματος δωματίου"
+ "Αλλαγή εικόνας προφίλ αίθουσας"
+ "Λεπτομέρειες αίθουσας"
+ "Αλλαγή ονόματος αίθουσας"
+ "Αλλαγή θέματος αίθουσας"
"Αποστολή μηνυμάτων"
"Επεξεργασία Διαχειριστών"
"Δεν θα μπορείς να αναιρέσεις αυτήν την ενέργεια. Προβιβάζεις τον χρήστη να έχει το ίδιο επίπεδο ισχύος με σένα."
"Προσθήκη Διαχειριστή;"
"Υποβιβασμός"
- "Δεν θα μπορείς να αναιρέσεις αυτήν την αλλαγή αφού, υποβιβάζεσαι. Εάν είσαι ο τελευταίος προνομιούχος χρήστης στο δωμάτιο θα είναι αδύνατο να ανακτηθούν προνόμια."
+ "Δεν θα μπορέσετε να αναιρέσετε αυτή την αλλαγή καθώς υποβιβάζετε τον εαυτό σας, αν είστε ο τελευταίος χρήστης με δικαιώματα στην αίθουσα θα είναι αδύνατο να ανακτήσετε δικαιώματα."
"Υποβιβασμός του εαυτού σου;"
"%1$s (Σε αναμονή)"
"(Σε αναμονή)"
@@ -39,18 +39,18 @@
"Ήδη προσκεκλημένος"
"Κρυπτογραφημένο"
"Μη κρυπτογραφημένο"
- "Δημόσιο δωμάτιο"
- "Επεξεργασία Δωματίου"
+ "Δημόσια αίθουσα"
+ "Επεξεργασία Αίθουσας"
"Υπήρξε ένα άγνωστο σφάλμα και οι πληροφορίες δεν μπορούσαν να αλλάξουν."
- "Δεν είναι δυνατή η ενημέρωση του δωματίου"
+ "Αδυναμία ενημέρωσης αίθουσας"
"Τα μηνύματα ασφαλίζονται με κλειδαριές. Μόνο εσύ και οι παραλήπτες έχετε τα μοναδικά κλειδιά για να τα ξεκλειδώσετε."
"Ενεργοποιημένη κρυπτογράφηση μηνυμάτων"
"Παρουσιάστηκε σφάλμα κατά τη φόρτωση των ρυθμίσεων ειδοποίησης."
- "Αποτυχία σίγασης αυτού του δωματίου, δοκίμασε ξανά."
- "Αποτυχία κατάργησης σίγασης αυτού του δωματίου, δοκίμασε ξανά."
+ "Η σίγαση αυτής της αίθουσας απέτυχε, δοκιμάστε ξανά."
+ "Η κατάργηση σίγασης αυτής της αίθουσας απέτυχε, δοκιμάστε ξανά."
"Πρόσκληση ατόμων"
"Αποχώρηση από τη συζήτηση"
- "Αποχώρηση από το δωμάτιο"
+ "Αποχώρηση από την αίθουσα"
"Πολυμέσα και αρχεία"
"Προσαρμοσμένο"
"Προεπιλογή"
@@ -59,14 +59,14 @@
"Προφίλ"
"Αιτήματα συμμετοχής"
"Ρόλοι και δικαιώματα"
- "Όνομα δωματίου"
+ "Όνομα αίθουσας"
"Ασφάλεια & απόρρητο"
"Ασφάλεια"
- "Κοινή χρήση δωματίου"
- "Πληροφορίες δωματίου"
+ "Κοινή χρήση αίθουσας"
+ "Πληροφορίες αίθουσας"
"Θέμα"
- "Ενημέρωση δωματίου…"
- "Δεν υπάρχουν αποκλεισμένοι χρήστες σε αυτό το δωμάτιο."
+ "Ενημέρωση αίθουσας…"
+ "Δεν υπάρχουν αποκλεισμένοι χρήστες σε αυτή την αίθουσα."
- "%1$d άτομο"
- "%1$d άτομα"
@@ -74,14 +74,14 @@
"Αφαίρεση και αποκλεισμός μέλους"
"Μόνο αφαίρεση μέλους"
"Αναίρεση αποκλεισμού"
- "Θα μπορεί να συμμετάσχει ξανά στο δωμάτιο εάν προσκληθεί."
+ "Θα μπορούν να συμμετάσχουν ξανά σε αυτή την αίθουσα, εάν προσκληθούν."
"Άρση αποκλεισμού χρήστη"
"Αποκλεισμένοι"
"Μέλη"
"Σε αναμονή"
"Διαχειριστής"
"Συντονιστής"
- "Μέλη δωματίου"
+ "Μέλη της αίθουσας"
"Άρση αποκλεισμού %1$s"
"Να επιτρέπεται η προσαρμοσμένη ρύθμιση"
"Η ενεργοποίηση αυτής της ρύθμισης θα παρακάμψει την προεπιλεγμένη ρύθμιση"
@@ -93,10 +93,10 @@
"Παρουσιάστηκε σφάλμα κατά τη φόρτωση των ρυθμίσεων ειδοποίησης."
"Αποτυχία επαναφοράς της προεπιλεγμένης λειτουργίας, δοκίμασε ξανά."
"Αποτυχία ρύθμισης της λειτουργίας, δοκίμασε ξανά."
- "Ο οικιακός σου διακομιστής δεν υποστηρίζει αυτήν την επιλογή σε κρυπτογραφημένα δωμάτια, δεν θα λαμβάνεις ειδοποίηση σε αυτό το δωμάτιο."
+ "Ο αρχικός διακομιστής σας δεν υποστηρίζει αυτή την επιλογή σε κρυπτογραφημένες αίθουσες, δεν θα λάβετε ειδοποιήσεις σε αυτή την αίθουσα."
"Όλα τα μηνύματα"
"Μόνο αναφορές και λέξεις-κλειδιά"
- "Σε αυτό το δωμάτιο, ειδοποίησέ με για"
+ "Σε αυτήν την αίθουσα, ειδοποιήστε με για"
"Διαχειριστές"
"Άλλαξε τον ρόλο μου"
"Υποβιβασμός σε μέλος"
@@ -109,15 +109,15 @@
"Μόλις επαναφέρεις τα δικαιώματα, θα χάσεις τις τρέχουσες ρυθμίσεις."
"Επαναφορά δικαιωμάτων;"
"Ρόλοι"
- "Λεπτομέρειες δωματίου"
+ "Λεπτομέρειες αίθουσας"
"Ρόλοι και δικαιώματα"
- "Προσθήκη διεύθυνσης δωματίου"
- "Οποιοσδήποτε μπορεί να ζητήσει να συμμετάσχει στο δωμάτιο, αλλά κάποιος διαχειριστής ή συντονιστής θα πρέπει να αποδεχθεί το αίτημα."
+ "Προσθήκη διεύθυνσης αίθουσας"
+ "Οποιοσδήποτε μπορεί να ζητήσει να συμμετάσχει στην αίθουσα, αλλά ένας διαχειριστής ή συντονιστής θα πρέπει να αποδεχτεί το αίτημα."
"Αίτημα συμμετοχής"
"Ναι, ενεργοποιήστε την κρυπτογράφηση"
- "Μόλις ενεργοποιηθεί, η κρυπτογράφηση για ένα δωμάτιο δεν μπορεί να απενεργοποιηθεί. Το ιστορικό μηνυμάτων θα είναι ορατό μόνο για τα μέλη του δωματίου από τότε που προσκλήθηκαν ή από τότε που εντάχθηκαν στην αίθουσα.
-Κανείς εκτός από τα μέλη του δωματίου δεν θα μπορεί να διαβάσει μηνύματα. Αυτό μπορεί να αποτρέψει τη σωστή λειτουργία των bots και των γεφυρών.
-Δεν συνιστούμε να ενεργοποιήσεις την κρυπτογράφηση για δωμάτια στα οποία μπορεί κανείς να βρει και να συμμετάσχει."
+ "Μόλις ενεργοποιηθεί, η κρυπτογράφηση για μια αίθουσα δεν μπορεί να απενεργοποιηθεί, το ιστορικό μηνυμάτων θα είναι ορατό μόνο για τα μέλη της αίθουσας από τότε που προσκλήθηκαν ή από τότε που συμμετείχαν στην αίθουσα.
+Κανείς άλλος εκτός από τα μέλη της αίθουσας δεν θα μπορεί να διαβάσει τα μηνύματα. Αυτό μπορεί να εμποδίσει τη σωστή λειτουργία των bots και των γεφυρών.
+Δεν συνιστούμε την ενεργοποίηση της κρυπτογράφησης για αίθουσες που μπορεί να βρει και να συμμετάσχει ο καθένας."
"Ενεργοποίηση κρυπτογράφησης;"
"Μόλις ενεργοποιηθεί, η κρυπτογράφηση δεν μπορεί να απενεργοποιηθεί."
"Κρυπτογράφηση"
@@ -126,22 +126,22 @@
"Οποιοσδήποτε"
"Τα άτομα μπορούν να συμμετάσχουν μόνο εάν έχουν προσκληθεί"
"Μόνο πρόσκληση"
- "Πρόσβαση δωματίου"
+ "Πρόσβαση στην αίθουσα"
"Οι χώροι δεν υποστηρίζονται προς το παρόν"
"Μέλη χώρου"
- "Θα χρειαστείτε μια διεύθυνση δωματίου για να το κάνετε ορατό στον κατάλογο δωματίων."
- "Διεύθυνση δωματίου"
- "Επιτρέψτε την εύρεση αυτού του δωματίου αναζητώντας %1$s τον κατάλογο δημόσιων δωματίων"
- "Ορατό στον κατάλογο δημόσιων δωματίων"
+ "Θα χρειαστείτε μια διεύθυνση αίθουσας για να την κάνετε ορατή στον κατάλογο αιθουσών."
+ "Διεύθυνση αίθουσας"
+ "Επιστρέψτε την εύρεση αυτής της αίθουσας με αναζήτηση στον κατάλογο %1$s δημοσίων αιθουσών"
+ "Ορατή στον κατάλογο δημόσιων αιθουσών"
"Οποιοσδήποτε"
"Ποιος μπορεί να διαβάσει το ιστορικό"
"Μόνο μέλη από τη στιγμή που προσκλήθηκαν"
"Μόνο για μέλη μετά από αυτήν την επιλογή"
- "Οι διευθύνσεις δωματίων είναι τρόποι εύρεσης και πρόσβασης σε δωμάτια. Αυτό διασφαλίζει επίσης ότι μπορείτε εύκολα να μοιραστείτε το δωμάτιό σας με άλλους.
-Μπορείτε να επιλέξετε να δημοσιεύσετε το δωμάτιό σας στον κατάλογο δημόσιων δωματίων του διακομιστή σας."
- "Δημοσίευση δωματίου"
- "Οι διευθύνσεις δωματίων είναι τρόποι εύρεσης και πρόσβασης σε δωμάτια. Αυτό διασφαλίζει επίσης ότι μπορείτε εύκολα να μοιραστείτε το δωμάτιό σας με άλλους.
-Η διεύθυνση απαιτείται επίσης για να γίνει ορατό το δωμάτιο στον κατάλογο %1$s δημόσιων δωματίων."
- "Ορατότητα δωματίου"
+ "Οι διευθύνσεις αιθουσών είναι τρόποι εύρεσης και πρόσβασης σε αίθουσες. Αυτό διασφαλίζει επίσης ότι μπορείτε εύκολα να μοιραστείτε την αίθουσα με άλλους.
+Μπορείτε να επιλέξετε να δημοσιεύσετε την αίθουσά σας στον δημόσιο κατάλογο αιθουσών του αρχικού διακομιστή σας."
+ "Δημοσίευση αίθουσας"
+ "Οι διευθύνσεις αιθουσών είναι τρόποι εύρεσης και πρόσβασης σε αίθουσες. Αυτό εξασφαλίζει επίσης ότι μπορείτε εύκολα να μοιραστείτε την αίθουσα με άλλους.
+Η διεύθυνση απαιτείται επίσης για να γίνει η αίθουσα ορατή στον δημόσιο κατάλογο αιθουσών %1$s."
+ "Ορατότητα αίθουσας"
"Ασφάλεια & απόρρητο"
diff --git a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesPresenterTest.kt b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesPresenterTest.kt
index 4c56ae3cee..18ddf2ae04 100644
--- a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesPresenterTest.kt
+++ b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/changeroles/ChangeRolesPresenterTest.kt
@@ -16,14 +16,17 @@ import io.element.android.features.roomdetails.impl.members.aRoomMemberList
import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.core.coroutine.CoroutineDispatchers
import io.element.android.libraries.designsystem.theme.components.SearchBarResultState
+import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.RoomMembersState
+import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.user.MatrixUser
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.room.FakeBaseRoom
import io.element.android.libraries.matrix.test.room.FakeJoinedRoom
import io.element.android.libraries.matrix.test.room.aRoomInfo
+import io.element.android.libraries.matrix.test.room.defaultRoomPowerLevelValues
import io.element.android.services.analytics.test.FakeAnalyticsService
import io.element.android.tests.testutils.testCoroutineDispatchers
import kotlinx.collections.immutable.persistentMapOf
@@ -142,7 +145,7 @@ class ChangeRolesPresenterTest {
fun `present - UserSelectionToggle adds and removes users from the selected user list`() = runTest {
val room = FakeJoinedRoom().apply {
givenRoomMembersState(RoomMembersState.Ready(aRoomMemberList()))
- givenRoomInfo(aRoomInfo(userPowerLevels = persistentMapOf(A_USER_ID to 100)))
+ givenRoomInfo(aRoomInfo(roomPowerLevels = roomPowerLevelsWithRole(RoomMember.Role.ADMIN)))
}
val presenter = createChangeRolesPresenter(room = room)
moleculeFlow(RecompositionMode.Immediate) {
@@ -164,7 +167,7 @@ class ChangeRolesPresenterTest {
fun `present - hasPendingChanges is true when the initial selected users don't match the new ones`() = runTest {
val room = FakeJoinedRoom().apply {
givenRoomMembersState(RoomMembersState.Ready(aRoomMemberList()))
- givenRoomInfo(aRoomInfo(userPowerLevels = persistentMapOf(A_USER_ID to 100)))
+ givenRoomInfo(aRoomInfo(roomPowerLevels = roomPowerLevelsWithRole(RoomMember.Role.ADMIN)))
}
val presenter = createChangeRolesPresenter(room = room)
moleculeFlow(RecompositionMode.Immediate) {
@@ -193,7 +196,7 @@ class ChangeRolesPresenterTest {
fun `present - Exit will display success if no pending changes`() = runTest {
val room = FakeJoinedRoom().apply {
givenRoomMembersState(RoomMembersState.Ready(aRoomMemberList()))
- givenRoomInfo(aRoomInfo(userPowerLevels = persistentMapOf(A_USER_ID to 100)))
+ givenRoomInfo(aRoomInfo(roomPowerLevels = roomPowerLevelsWithRole(RoomMember.Role.ADMIN)))
}
val presenter = createChangeRolesPresenter(room = room)
moleculeFlow(RecompositionMode.Immediate) {
@@ -213,7 +216,7 @@ class ChangeRolesPresenterTest {
fun `present - CancelExit will remove exit confirmation`() = runTest {
val room = FakeJoinedRoom().apply {
givenRoomMembersState(RoomMembersState.Ready(aRoomMemberList()))
- givenRoomInfo(aRoomInfo(userPowerLevels = persistentMapOf(A_USER_ID to 100)))
+ givenRoomInfo(aRoomInfo(roomPowerLevels = roomPowerLevelsWithRole(RoomMember.Role.ADMIN)))
}
val presenter = createChangeRolesPresenter(room = room)
moleculeFlow(RecompositionMode.Immediate) {
@@ -239,7 +242,7 @@ class ChangeRolesPresenterTest {
fun `present - Exit will display a confirmation dialog if there are pending changes, calling it again will actually exit`() = runTest {
val room = FakeJoinedRoom().apply {
givenRoomMembersState(RoomMembersState.Ready(aRoomMemberList()))
- givenRoomInfo(aRoomInfo(userPowerLevels = persistentMapOf(A_USER_ID to 100)))
+ givenRoomInfo(aRoomInfo(roomPowerLevels = roomPowerLevelsWithRole(RoomMember.Role.ADMIN)))
}
val presenter = createChangeRolesPresenter(room = room)
moleculeFlow(RecompositionMode.Immediate) {
@@ -270,7 +273,7 @@ class ChangeRolesPresenterTest {
baseRoom = FakeBaseRoom(updateMembersResult = { Result.success(Unit) }),
).apply {
givenRoomMembersState(RoomMembersState.Ready(aRoomMemberList()))
- givenRoomInfo(aRoomInfo(userPowerLevels = persistentMapOf(A_USER_ID to 100)))
+ givenRoomInfo(aRoomInfo(roomPowerLevels = roomPowerLevelsWithRole(RoomMember.Role.ADMIN)))
}
val presenter = createChangeRolesPresenter(role = RoomMember.Role.ADMIN, room = room)
moleculeFlow(RecompositionMode.Immediate) {
@@ -299,7 +302,7 @@ class ChangeRolesPresenterTest {
fun `present - CancelSave will remove the confirmation dialog`() = runTest {
val room = FakeJoinedRoom().apply {
givenRoomMembersState(RoomMembersState.Ready(aRoomMemberList()))
- givenRoomInfo(aRoomInfo(userPowerLevels = persistentMapOf(A_USER_ID to 100)))
+ givenRoomInfo(aRoomInfo(roomPowerLevels = roomPowerLevelsWithRole(RoomMember.Role.ADMIN)))
}
val presenter = createChangeRolesPresenter(role = RoomMember.Role.ADMIN, room = room)
moleculeFlow(RecompositionMode.Immediate) {
@@ -328,7 +331,7 @@ class ChangeRolesPresenterTest {
baseRoom = FakeBaseRoom(updateMembersResult = { Result.success(Unit) }),
).apply {
givenRoomMembersState(RoomMembersState.Ready(aRoomMemberList()))
- givenRoomInfo(aRoomInfo(userPowerLevels = persistentMapOf(A_USER_ID to 50)))
+ givenRoomInfo(aRoomInfo(roomPowerLevels = roomPowerLevelsWithRole(RoomMember.Role.MODERATOR)))
}
val presenter = createChangeRolesPresenter(
role = RoomMember.Role.MODERATOR,
@@ -361,7 +364,7 @@ class ChangeRolesPresenterTest {
updateUserRoleResult = { Result.failure(IllegalStateException("Failed")) }
).apply {
givenRoomMembersState(RoomMembersState.Ready(aRoomMemberList()))
- givenRoomInfo(aRoomInfo(userPowerLevels = persistentMapOf(A_USER_ID to 50)))
+ givenRoomInfo(aRoomInfo(roomPowerLevels = roomPowerLevelsWithRole(RoomMember.Role.MODERATOR)))
}
val presenter = createChangeRolesPresenter(role = RoomMember.Role.MODERATOR, room = room)
moleculeFlow(RecompositionMode.Immediate) {
@@ -385,6 +388,16 @@ class ChangeRolesPresenterTest {
}
}
+ private fun roomPowerLevelsWithRole(
+ role: RoomMember.Role,
+ userId: UserId = A_USER_ID,
+ ): RoomPowerLevels {
+ return RoomPowerLevels(
+ values = defaultRoomPowerLevelValues(),
+ users = persistentMapOf(userId to role.powerLevel)
+ )
+ }
+
private fun TestScope.createChangeRolesPresenter(
role: RoomMember.Role = RoomMember.Role.ADMIN,
room: FakeJoinedRoom = FakeJoinedRoom(),
diff --git a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/permissions/ChangeBaseRoomPermissionsPresenterTest.kt b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/permissions/ChangeBaseRoomPermissionsPresenterTest.kt
index cf764a39fb..70770a6c5c 100644
--- a/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/permissions/ChangeBaseRoomPermissionsPresenterTest.kt
+++ b/features/roomdetails/impl/src/test/kotlin/io/element/android/features/roomdetails/impl/rolesandpermissions/permissions/ChangeBaseRoomPermissionsPresenterTest.kt
@@ -21,7 +21,7 @@ import io.element.android.libraries.matrix.api.room.RoomMember.Role.USER
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.libraries.matrix.test.room.FakeBaseRoom
import io.element.android.libraries.matrix.test.room.FakeJoinedRoom
-import io.element.android.libraries.matrix.test.room.defaultRoomPowerLevels
+import io.element.android.libraries.matrix.test.room.defaultRoomPowerLevelValues
import io.element.android.services.analytics.test.FakeAnalyticsService
import kotlinx.coroutines.test.runTest
import org.junit.Test
@@ -296,7 +296,7 @@ class ChangeBaseRoomPermissionsPresenterTest {
analyticsService = analyticsService,
)
- private fun defaultPermissions() = defaultRoomPowerLevels()
+ private fun defaultPermissions() = defaultRoomPowerLevelValues()
private suspend fun TurbineTestContext.awaitUpdatedItem(): ChangeRoomPermissionsState {
skipItems(1)
diff --git a/features/roomdirectory/impl/src/main/res/values-da/translations.xml b/features/roomdirectory/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..3471723528
--- /dev/null
+++ b/features/roomdirectory/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,5 @@
+
+
+ "Indlæsning mislykkedes"
+ "Register over rum"
+
diff --git a/features/roomdirectory/impl/src/main/res/values-el/translations.xml b/features/roomdirectory/impl/src/main/res/values-el/translations.xml
index 9b3f8bb12d..c2dad69979 100644
--- a/features/roomdirectory/impl/src/main/res/values-el/translations.xml
+++ b/features/roomdirectory/impl/src/main/res/values-el/translations.xml
@@ -1,5 +1,5 @@
"Αποτυχία φόρτωσης"
- "Κατάλογος δωματίων"
+ "Κατάλογος αιθουσών"
diff --git a/features/roomlist/impl/src/main/res/values-bg/translations.xml b/features/roomlist/impl/src/main/res/values-bg/translations.xml
deleted file mode 100644
index 4afa8044f3..0000000000
--- a/features/roomlist/impl/src/main/res/values-bg/translations.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
- "Резервното копие на чатовете ви в момента не е синхронизирано. Въведете ключа си за възстановяване, за да потвърдите достъпа до резервното копие на чатовете си."
- "Потвърдете ключа си за възстановяване"
- "Сигурни ли сте, че искате да отхвърлите поканата за присъединяване в %1$s?"
- "Отказване на покана"
- "Няма покани"
- "%1$s (%2$s) ви покани"
- "Създаване на нов разговор или стая"
- "Започнете, като изпратите съобщение на някого."
- "Все още няма чатове."
- "Покани"
- "Нисък приоритет"
- "Хора"
- "Стаи"
- "Всички чатове"
- "Отбелязване като прочетено"
- "Отбелязване като непрочетено"
- "Изглежда, че използвате ново устройство. Потвърдете с друго устройство за достъп до вашите шифровани съобщения."
- "Потвърдете, че сте вие"
-
diff --git a/features/roommembermoderation/impl/src/main/res/values-bg/translations.xml b/features/roommembermoderation/impl/src/main/res/values-bg/translations.xml
new file mode 100644
index 0000000000..53955d5a03
--- /dev/null
+++ b/features/roommembermoderation/impl/src/main/res/values-bg/translations.xml
@@ -0,0 +1,4 @@
+
+
+ "Преглед на профила"
+
diff --git a/features/roommembermoderation/impl/src/main/res/values-da/translations.xml b/features/roommembermoderation/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..00defeeec6
--- /dev/null
+++ b/features/roommembermoderation/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,20 @@
+
+
+ "Spær fra rum"
+ "Spær"
+ "De vil ikke være i stand til at deltage i dette rum igen, selv om de inviteres."
+ "Er du stikker på, at du ønsker at spærre dette medlem?"
+ "Spærrer %1$s"
+ "Fjern"
+ "De vil være i stand til at deltage i dette rum igen, hvis de inviteres."
+ "Er du sikker på, at du vil fjerne dette medlem?"
+ "Se profil"
+ "Fjern fra rummet"
+ "Fjern medlem og udeluk dem fra at deltage i fremtiden?"
+ "Fjerner %1$s…"
+ "Fjern brugerens spærring fra rummet"
+ "Fjern spærring af"
+ "De ville være i stand til at deltage i rummet igen, hvis de blev inviteret"
+ "Er du sikker på, at du vil fjerne spærringen af dette medlem?"
+ "Ophæver spærring af %1$s"
+
diff --git a/features/roommembermoderation/impl/src/main/res/values-el/translations.xml b/features/roommembermoderation/impl/src/main/res/values-el/translations.xml
index 5c81a56396..2ed8f03bc4 100644
--- a/features/roommembermoderation/impl/src/main/res/values-el/translations.xml
+++ b/features/roommembermoderation/impl/src/main/res/values-el/translations.xml
@@ -2,14 +2,19 @@
"Αφαίρεση και αποκλεισμός μέλους"
"Αποκλεισμός"
- "Δεν θα μπορεί να συμμετέχει ξανά σε αυτό το δωμάτιο εάν προσκληθεί."
+ "Δεν θα μπορούν να ενταχθούν ξανά σε αυτή την αίθουσα, αν προσκληθούν."
"Θες σίγουρα να αποκλείσεις αυτό το μέλος;"
"Αποκλεισμός %1$s"
"Αφαίρεση"
- "Θα μπορούν να συμμετάσχουν ξανά σε αυτό το δωμάτιο εάν προσκληθούν."
+ "Θα μπορούν να συμμετάσχουν ξανά σε αυτή την αίθουσα, εάν προσκληθούν."
"Είστε βέβαιοι ότι θέλετε να αφαιρέσετε αυτό το μέλος;"
"Προβολή προφίλ"
- "Αφαίρεση από το δωμάτιο"
+ "Αφαίρεση από την αίθουσα"
"Αφαίρεση μέλους και απαγόρευση συμμετοχής στο μέλλον;"
"Αφαίρεση %1$s…"
+ "Άρση αποκλεισμού από την αίθουσα"
+ "Άρση αποκλεισμού"
+ "Θα μπορούν να συμμετάσχουν και πάλι στην αίθουσα αν προσκληθούν"
+ "Σίγουρα θες να καταργήσεις τον αποκλεισμό αυτού του μέλους;"
+ "Άρση αποκλεισμού %1$s"
diff --git a/features/securebackup/impl/src/main/res/values-bg/translations.xml b/features/securebackup/impl/src/main/res/values-bg/translations.xml
index 7dfb012c34..fe84ddc4a5 100644
--- a/features/securebackup/impl/src/main/res/values-bg/translations.xml
+++ b/features/securebackup/impl/src/main/res/values-bg/translations.xml
@@ -1,21 +1,32 @@
- "Изключване на резервните копия"
+ "Изтриване на хранилището за ключове"
"Включване на резервните копия"
- "Резервното копие гарантира, че няма да загубите хронологията на съобщенията си. %1$s."
- "Резервно копие"
+ "Съхранявайте сигурно криптографската си самоличност и ключовете за съобщения на сървъра. Това ще ви позволи да преглеждате историята на съобщенията си на всички нови устройства.%1$s ."
+ "Съхранение на ключове"
+ "За да настроите възстановяването, трябва да включите съхранението на ключове."
+ "Разрешаване на съхранението на ключове"
"Промяна на ключа за възстановяване"
+ "Възстановете криптографската си самоличност и историята на съобщенията с ключ за възстановяване, ако сте загубили всичките си съществуващи устройства."
"Въвеждане на ключ за възстановяване"
- "Резервното копие на чатовете ви в момента не е синхронизирано."
+ "Хранилището ви за ключове в момента не е синхронизирано."
"Изключване"
+ "Изтриването на хранилището за ключове ще премахне вашата криптографска самоличност и ключове за съобщения от сървъра и ще изключи следните функции за сигурност:"
+ "Сигурни ли сте, че искате да изключите хранилището на ключове и да го изтриете?"
+ "Вземете нов ключ за възстановяване, ако сте загубили съществуващия си. След като промените ключа си за възстановяване, старият ви вече няма да работи."
"Генериране на нов ключ за възстановяване"
+ "Не споделяйте това с никого!"
"Промяна на ключа за възстановяване?"
"Уверете се, че никой не може да види този екран!"
+ "Моля, опитайте отново, за да потвърдите достъпа до хранилището за ключове."
"Неправилен ключ за възстановяване"
- "Въведете 48-символния код."
+ "Ако имате ключ за сигурност или фраза за сигурност, това също ще работи."
"Въведете…"
"Ключът за възстановяване е потвърден"
+ "Въведете ключа си за възстановяване"
"Копиран ключ за възстановяване"
"Запазване на ключа за възстановяване"
+ "Вашето хранилище за ключове е защитено с ключ за възстановяване. Ако имате нужда от нов ключ за възстановяване след настройката, можете да го създадете отново, като изберете „Промяна на ключа за възстановяване“."
+ "Не споделяйте това с никого!"
"Въведете…"
diff --git a/features/securebackup/impl/src/main/res/values-da/translations.xml b/features/securebackup/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..b4a385eea2
--- /dev/null
+++ b/features/securebackup/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,70 @@
+
+
+ "Slet nøglelager"
+ "Aktivér sikkerhedskopiering"
+ "Gem din kryptografiske identitet og meddelelsesnøgler sikkert på serveren. Dette giver dig mulighed for at se din meddelelseshistorik på alle nye enheder. %1$s."
+ "Nøgleopbevaring"
+ "Nøglelagring skal være slået til for at konfigurere gendannelse."
+ "Upload nøgler fra denne enhed"
+ "Tillad lagring af nøgler"
+ "Skift gendannelsesnøgle"
+ "Gendan din kryptografiske identitet og beskedhistorik med en gendannelsesnøgle, hvis du har mistet alle dine eksisterende enheder."
+ "Indtast gendannelsesnøgle"
+ "Din nøglelagring er i øjeblikket ikke synkroniseret."
+ "Opsæt gendannelse"
+ "Få adgang til dine krypterede meddelelser, hvis du mister alle dine enheder eller er logget ud af %1$s overalt."
+ "Åbn %1$s på en stationær enhed"
+ "Log ind på din konto igen"
+ "Når du bliver bedt om at bekræfte din enhed, skal du vælge %1$s"
+ "\"Nulstil alle\""
+ "Følg instruktionerne for at oprette en ny gendannelsesnøgle"
+ "Gem din nye gendannelsesnøgle i en adgangskodeadministrator eller i en krypteret note"
+ "Nulstil krypteringen for din konto ved hjælp af en anden enhed"
+ "Fortsæt nulstilling"
+ "Dine kontodetaljer, kontakter, personlige indstilliger og samtaler vil blive gemt"
+ "Du mister al beskedhistorik, der kun er gemt på serveren."
+ "Du bliver nødt til at verificere alle dine eksisterende enheder og kontakter påny"
+ "Nulstil kun din identitet, hvis du ikke har adgang til en anden enhed, der er logget ind, og du har mistet din gendannelsesnøgle."
+ "Kan du ikke bekræfte? Du skal nulstille din identitet."
+ "Slå fra"
+ "Du mister dine krypterede meddelelser, hvis du er logget ud af alle enheder."
+ "Er du sikker på, at du vil slå sikkerhedskopiering fra?"
+ "Hvis du sletter nøglelageret, fjernes din kryptografiske identitet og meddelelsesnøgler fra serveren og følgende sikkerhedsfunktioner deaktiveres:"
+ "Du vil ikke kunne se historikken for krypterede beskeder på nye enheder"
+ "Du mister adgangen til dine krypterede meddelelser, hvis du er logget ud %1$s overalt"
+ "Er du sikker på, at du vil deaktivere nøglelagring og slette lageret?"
+ "Få en ny gendannelsesnøgle, hvis du har mistet din eksisterende. Når du har ændret din gendannelsesnøgle, fungerer din gamle ikke længere."
+ "Generer en ny gendannelsesnøgle"
+ "Del ikke dette med nogen!"
+ "Gendannelsesnøgle ændret"
+ "Skift gendannelsesnøgle?"
+ "Opret ny gendannelsesnøgle"
+ "Sørg for, at ingen kan se denne skærm!"
+ "Prøv igen for at bekræfte adgangen til dit nøglelager."
+ "Forkert gendannelsesnøgle"
+ "Hvis du har en sikkerhedsnøgle eller sikkerhedssætning, kan en af dem også bruges."
+ "Indtast…"
+ "Mistet din gendannelsesnøgle?"
+ "Gendannelsesnøgle bekræftet"
+ "Indtast din gendannelsesnøgle"
+ "Kopieret gendannelsesnøgle"
+ "Genererer…"
+ "Gem gendannelsesnøgle"
+ "Skriv denne gendannelsesnøgle et sikkert sted, som en adgangskodeadministrator, en krypteret note eller på papir, som du lægger i et fysisk pengeskab."
+ "Tryk for at kopiere gendannelsesnøglen"
+ "Gem din gendannelsesnøgle et sikkert sted"
+ "Du vil ikke kunne få adgang til din nye gendannelsesnøgle efter dette trin."
+ "Har du gemt din gendannelsesnøgle?"
+ "Din nøglelager er beskyttet af en gendannelsesnøgle. Hvis du har brug for en ny gendannelsesnøgle efter installationen, kan du oprette den ved at vælge \'Skift gendannelsesnøgle\'."
+ "Generer din gendannelsesnøgle"
+ "Del ikke dette med nogen!"
+ "Opsætning af gendannelse lykkedes"
+ "Opsæt gendannelse"
+ "Ja, nulstil nu"
+ "Denne proces er irreversibel."
+ "Er du sikker på, at du ønsker at nulstille din identitet?"
+ "Der opstod en ukendt fejl. Kontroller, at adgangskoden til din konto er korrekt, og prøv igen."
+ "Indtast…"
+ "Bekræft, at du ønsker at nulstille din identitet."
+ "Indtast adgangskoden til din konto for at fortsætte"
+
diff --git a/features/signedout/impl/src/main/res/values-da/translations.xml b/features/signedout/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..3bfc9f4996
--- /dev/null
+++ b/features/signedout/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,8 @@
+
+
+ "Du har ændret din adgangskode på en anden session"
+ "Du har slettet sessionen fra en anden session"
+ "Din serveradministrator har lukket for din adgang"
+ "Du er muligvis blevet logget ud på grund af en af nedenstående årsager. Log ind igen for at fortsætte med at bruge%s."
+ "Du er logget ud"
+
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 2732e770f4..47bb9cbdc5 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
@@ -31,6 +31,7 @@ import io.element.android.libraries.designsystem.components.avatar.Avatar
import io.element.android.libraries.designsystem.components.avatar.AvatarData
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
import io.element.android.libraries.designsystem.components.avatar.AvatarType
+import io.element.android.libraries.designsystem.modifiers.a11yClickLabel
import io.element.android.libraries.designsystem.modifiers.niceClickable
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
@@ -60,13 +61,16 @@ fun UserProfileHeaderSection(
.padding(horizontal = 16.dp),
horizontalAlignment = Alignment.CenterHorizontally,
) {
+ val actionView = stringResource(CommonStrings.action_view)
Avatar(
avatarData = AvatarData(userId.value, userName, avatarUrl, AvatarSize.UserHeader),
avatarType = AvatarType.User,
+ contentDescription = avatarUrl?.let { stringResource(CommonStrings.a11y_user_avatar) },
modifier = Modifier
.clip(CircleShape)
.clickable(enabled = avatarUrl != null) { openAvatarPreview(avatarUrl!!) }
.testTag(TestTags.memberDetailAvatar)
+ .a11yClickLabel(avatarUrl?.let { actionView })
)
Spacer(modifier = Modifier.height(24.dp))
if (userName != null) {
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 67c73e3ea8..677034496c 100644
--- a/features/userprofile/shared/src/main/res/values-bg/translations.xml
+++ b/features/userprofile/shared/src/main/res/values-bg/translations.xml
@@ -6,6 +6,8 @@
"Отблокиране на потребителя"
"Блокиране"
"Блокиране на потребителя"
+ "Профил"
"Отблокиране"
"Отблокиране на потребителя"
+ "Потвърждаване на %1$s"
diff --git a/features/userprofile/shared/src/main/res/values-da/translations.xml b/features/userprofile/shared/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..7af21ebea9
--- /dev/null
+++ b/features/userprofile/shared/src/main/res/values-da/translations.xml
@@ -0,0 +1,19 @@
+
+
+ "Bloker"
+ "Blokerede brugere vil ikke være i stand til at sende dig beskeder, og alle deres beskeder vil blive skjult. Du kan fjerne blokeringen af dem når som helst."
+ "Bloker bruger"
+ "Fjern blokering"
+ "Du vil være i stand til at se alle beskeder fra dem igen."
+ "Fjern blokering af bruger"
+ "Bloker"
+ "Blokerede brugere vil ikke være i stand til at sende dig beskeder, og alle deres beskeder vil blive skjult. Du kan fjerne blokeringen af dem når som helst."
+ "Bloker bruger"
+ "Profil"
+ "Fjern blokering"
+ "Du vil være i stand til at se alle beskeder fra dem igen."
+ "Fjern blokering af bruger"
+ "Brug webappen til at verificere denne bruger."
+ "Verificér %1$s"
+ "Der opstod en fejl under forsøget på at starte en samtale"
+
diff --git a/features/verifysession/impl/src/main/res/values-bg/translations.xml b/features/verifysession/impl/src/main/res/values-bg/translations.xml
index bd4c7071ef..ab0a15f4ed 100644
--- a/features/verifysession/impl/src/main/res/values-bg/translations.xml
+++ b/features/verifysession/impl/src/main/res/values-bg/translations.xml
@@ -1,5 +1,12 @@
+ "Не можете да потвърдите?"
+ "Потвърдете това устройство, за да настроите защитени съобщения."
+ "Потвърдете самоличността си"
+ "Използване на друго устройство"
+ "Използване на ключ за възстановяване"
+ "Устройството е потвърдено"
+ "Използване на друго устройство"
"Нещо не изглежда наред. Или времето за изчакване на заявката е изтекло, или заявката е отхвърлена."
"Потвърдете, че емоджитата по-долу съвпадат с показаните в другата ви сесия."
"Сравнете емоджита"
@@ -10,8 +17,16 @@
"Готов съм"
"В очакване на съвпадение"
"Сравнете уникален набор от емоджита."
+ "Неуспешно потвърждаване"
+ "Сега можете да четете или изпращате съобщения сигурно на другото си устройство."
+ "Устройството е потвърдено"
"Те не съвпадат"
"Те съвпадат"
+ "Уверете се, че приложението е отворено на другото устройство, преди да започнете потвърждението оттук."
+ "Отворете приложението на друго потвърдено устройство"
+ "Чака се другото устройство"
+ "Чака се другият потребител"
+ "След като бъдете приети, ще можете да продължите потвърждението."
"Приемете заявката, за да започнете процеса на потвърждаване в другата си сесия, за да продължите."
"В очакване на приемане на заявка"
"Излизане…"
diff --git a/features/verifysession/impl/src/main/res/values-da/translations.xml b/features/verifysession/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..a1586feff7
--- /dev/null
+++ b/features/verifysession/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,53 @@
+
+
+ "Kan ikke bekræfte?"
+ "Opret en ny gendannelsesnøgle"
+ "Verificér denne enhed for at konfigurere sikre meddelelser."
+ "Bekræft din identitet"
+ "Brug en anden enhed"
+ "Brug gendannelsesnøgle"
+ "Nu kan du læse eller sende beskeder sikkert, og enhver du samtaler med kan også stole på denne enhed."
+ "Enhed verificeret"
+ "Brug en anden enhed"
+ "Venter på en anden enhed…"
+ "Et ellervandet virker ikke rigtigt. Enten udløb anmodningen, eller anmodningen blev afvist."
+ "Bekræft, at emojierne nedenfor matcher dem, der vises på din anden session."
+ "Sammenlign emojier"
+ "Bekræft, at emojierne nedenfor matcher dem, der vises på den anden brugers enhed."
+ "Bekræft, at numrene nedenfor stemmer overens med dem, der vises på din anden session."
+ "Sammenlign tal"
+ "Din nye session er nu bekræftet. Det har adgang til dine krypterede meddelelser, og andre brugere vil se den som betroet."
+ "Nu kan du stole på identiteten af denne bruger, når I sender og modtager beskeder fra hinanden."
+ "Indtast gendannelsesnøgle"
+ "Enten udløb anmodningen, den blev afvist, eller der var en fejl i verifikationen."
+ "Bevis, at det er dig, for at få adgang til din krypterede beskedhistorik."
+ "Åbn en eksisterende session"
+ "Prøv bekræftelsen igen"
+ "Jeg er klar"
+ "Venter på at matche…"
+ "Sammenlign et unikt sæt af emojis."
+ "Sammenlign de unikke emoji, og vær opmærksom på, at de vises i den samme rækkefølge."
+ "Logget ind"
+ "Enten udløb anmodningen, den blev afvist, eller der var en fejl i verifikationen."
+ "Verifikation mislykkedes"
+ "Fortsæt kun, hvis du selv har startet denne verifikation."
+ "Verificér den anden enhed for at holde din meddelelseshistorik sikker."
+ "Nu kan du læse eller sende beskeder sikkert på din anden enhed."
+ "Enhed verificeret"
+ "Anmodet om verifikation"
+ "De matcher ikke"
+ "De matcher"
+ "Sørg for, at du har appen åben på den anden enhed, før du starter verifikationen herfra."
+ "Åbn appen på en anden bekræftet enhed"
+ "For ekstra sikkerhed, verificér denne bruger ved at sammenligne et sæt emojier på jeres enheder. Gør dette ved at bruge en kommunikationsmetode i stoler på."
+ "Verificér denne bruger?"
+ "For ekstra sikkerhed ønsker en anden bruger at bekræfte din identitet. Du får vist et sæt emojier til sammenligning."
+ "Du burde se en popup på den anden enhed. Start verifikationen derfra nu."
+ "Start verifikation på den anden enhed"
+ "Venter på den anden enhed"
+ "Venter på den anden bruger"
+ "Når du er blevet accepteret, kan du fortsætte med verifikationen."
+ "Accepter anmodningen om at starte bekræftelsesprocessen i din anden session for at fortsætte."
+ "Venter på at acceptere anmodningen"
+ "Logger ud…"
+
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index f2d650d9c3..34fdbbcb9f 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.15.0"
+google_firebase_bom = "com.google.firebase:firebase-bom:33.16.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" }
@@ -168,11 +168,11 @@ serialization_json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-jso
kotlinx_collections_immutable = "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.4.0"
showkase = { module = "com.airbnb.android:showkase", version.ref = "showkase" }
showkase_processor = { module = "com.airbnb.android:showkase-processor", version.ref = "showkase" }
-jsoup = "org.jsoup:jsoup:1.20.1"
+jsoup = "org.jsoup:jsoup:1.21.1"
appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" }
molecule-runtime = "app.cash.molecule:molecule-runtime:2.1.0"
timber = "com.jakewharton.timber:timber:5.0.1"
-matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.6.23"
+matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.6.25"
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" }
@@ -186,7 +186,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.10.3"
+maplibre = "org.maplibre.gl:android-sdk:11.11.0"
maplibre_ktx = "org.maplibre.gl:android-sdk-ktx-v7:3.0.2"
maplibre_annotation = "org.maplibre.gl:android-plugin-annotation-v9:3.0.2"
opusencoder = "io.element.android:opusencoder:1.2.0"
@@ -194,7 +194,7 @@ zxing_cpp = "io.github.zxing-cpp:android:2.3.0"
# Analytics
posthog = "com.posthog:posthog-android:3.19.0"
-sentry = "io.sentry:sentry-android:8.14.0"
+sentry = "io.sentry:sentry-android:8.16.0"
# main branch can be tested replacing the version with main-SNAPSHOT
matrix_analytics_events = "com.github.matrix-org:matrix-analytics-events:0.28.0"
diff --git a/libraries/androidutils/src/main/res/values-da/translations.xml b/libraries/androidutils/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..73a3ca6b01
--- /dev/null
+++ b/libraries/androidutils/src/main/res/values-da/translations.xml
@@ -0,0 +1,4 @@
+
+
+ "Der blev ikke fundet nogen kompatibel app til at håndtere denne handling."
+
diff --git a/libraries/dateformatter/impl/src/main/res/values-bg/translations.xml b/libraries/dateformatter/impl/src/main/res/values-bg/translations.xml
new file mode 100644
index 0000000000..b03020fec2
--- /dev/null
+++ b/libraries/dateformatter/impl/src/main/res/values-bg/translations.xml
@@ -0,0 +1,4 @@
+
+
+ "Този месец"
+
diff --git a/libraries/dateformatter/impl/src/main/res/values-da/translations.xml b/libraries/dateformatter/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..b74fc5a8a0
--- /dev/null
+++ b/libraries/dateformatter/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,5 @@
+
+
+ "%1$s kl. %2$s"
+ "Denne måned"
+
diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/CounterAtom.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/CounterAtom.kt
index 32b96b6260..483c9aa346 100644
--- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/CounterAtom.kt
+++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/atomic/atoms/CounterAtom.kt
@@ -17,7 +17,7 @@ import androidx.compose.runtime.Composable
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.text.TextStyle
import androidx.compose.ui.text.rememberTextMeasurer
import androidx.compose.ui.unit.dp
import io.element.android.compound.theme.ElementTheme
@@ -36,18 +36,21 @@ private const val MAX_COUNT_STRING = "+$MAX_COUNT"
* @param count The number to display. If the number is greater than [MAX_COUNT], the counter will display [MAX_COUNT_STRING].
* If the number is less than 1, the counter will not be displayed.
* @param modifier The modifier to apply to this layout.
+ * @param textStyle The style to apply to the text inside the counter.
+ * @param isCritical If true, the counter will use a critical color scheme, otherwise it will use an accent color scheme.
*/
@Composable
fun CounterAtom(
count: Int,
modifier: Modifier = Modifier,
+ textStyle: TextStyle = CounterAtomDefaults.textStyle,
+ isCritical: Boolean = false,
) {
if (count < 1) return
val countAsText = when (count) {
in 0..MAX_COUNT -> count.toString()
else -> MAX_COUNT_STRING
}
- val textStyle = ElementTheme.typography.fontBodyMdMedium
val textMeasurer = rememberTextMeasurer()
// Measure the maximum count string size
val textLayoutResult = textMeasurer.measure(
@@ -58,19 +61,30 @@ fun CounterAtom(
val squareSize = maxOf(textSize.width, textSize.height)
Box(
modifier = modifier
- .size(squareSize.toDp() + 1.dp)
- .clip(CircleShape)
- .background(ElementTheme.colors.iconSuccessPrimary)
+ .size(squareSize.toDp() + 1.dp)
+ .clip(CircleShape)
+ .background(
+ if (isCritical) {
+ ElementTheme.colors.iconCriticalPrimary
+ } else {
+ ElementTheme.colors.iconAccentPrimary
+ }
+ )
) {
Text(
modifier = Modifier.align(Alignment.Center),
text = countAsText,
style = textStyle,
- color = Color.White,
+ color = ElementTheme.colors.textOnSolidPrimary,
)
}
}
+object CounterAtomDefaults {
+ val textStyle: TextStyle
+ @Composable get() = ElementTheme.typography.fontBodyMdMedium
+}
+
@PreviewsDayNight
@Composable
internal fun CounterAtomPreview() = ElementPreview {
@@ -79,5 +93,6 @@ internal fun CounterAtomPreview() = ElementPreview {
CounterAtom(count = 4)
CounterAtom(count = 99)
CounterAtom(count = 100)
+ CounterAtom(count = 4, isCritical = true)
}
}
diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/DmAvatars.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/DmAvatars.kt
index d0134fca78..56071de747 100644
--- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/DmAvatars.kt
+++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/avatar/DmAvatars.kt
@@ -23,13 +23,16 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.CompositingStrategy
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.platform.LocalLayoutDirection
+import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.LayoutDirection
+import io.element.android.libraries.designsystem.modifiers.a11yClickLabel
import io.element.android.libraries.designsystem.preview.ElementThemedPreview
import io.element.android.libraries.designsystem.preview.PreviewGroup
import io.element.android.libraries.designsystem.text.toPx
import io.element.android.libraries.testtags.TestTags
import io.element.android.libraries.testtags.testTag
+import io.element.android.libraries.ui.strings.CommonStrings
/** Ratio between the box size (120 on Figma) and the avatar size (75 on Figma). */
private const val SIZE_RATIO = 1.6f
@@ -49,6 +52,7 @@ fun DmAvatars(
val boxSizePx = boxSize.toPx()
val otherAvatarRadius = otherUserAvatarData.size.dp.toPx() / 2
val isRtl = LocalLayoutDirection.current == LayoutDirection.Rtl
+ val actionView = stringResource(CommonStrings.action_view)
Box(
modifier = modifier.size(boxSize),
) {
@@ -56,6 +60,7 @@ fun DmAvatars(
Avatar(
avatarData = userAvatarData,
avatarType = AvatarType.User,
+ contentDescription = userAvatarData.url?.let { stringResource(CommonStrings.a11y_your_avatar) },
modifier = Modifier
.align(Alignment.BottomStart)
.graphicsLayer {
@@ -82,11 +87,13 @@ fun DmAvatars(
.clickable(enabled = userAvatarData.url != null) {
userAvatarData.url?.let { openAvatarPreview(it) }
}
+ .a11yClickLabel(userAvatarData.url?.let { actionView })
)
// Draw other user avatar
Avatar(
avatarData = otherUserAvatarData,
avatarType = AvatarType.User,
+ contentDescription = otherUserAvatarData.url?.let { stringResource(CommonStrings.a11y_other_user_avatar) },
modifier = Modifier
.align(Alignment.TopEnd)
.clip(CircleShape)
@@ -94,6 +101,7 @@ fun DmAvatars(
otherUserAvatarData.url?.let { openOtherAvatarPreview(it) }
}
.testTag(TestTags.memberDetailAvatar)
+ .a11yClickLabel(otherUserAvatarData.url?.let { actionView })
)
}
}
diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/Clickable.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/Clickable.kt
index 5789a4525d..753ad952a0 100644
--- a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/Clickable.kt
+++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/modifiers/Clickable.kt
@@ -12,6 +12,8 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
+import androidx.compose.ui.semantics.onClick
+import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.unit.dp
fun Modifier.clickableIfNotNull(onClick: (() -> Unit)? = null): Modifier = this.then(
@@ -29,3 +31,18 @@ fun Modifier.niceClickable(
.clickable { onClick() }
.padding(horizontal = 4.dp)
}
+
+fun Modifier.a11yClickLabel(
+ label: String?,
+): Modifier = then(
+ if (label != null) {
+ Modifier.semantics {
+ onClick(
+ label = label,
+ action = null,
+ )
+ }
+ } else {
+ Modifier
+ }
+)
diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBar.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBar.kt
new file mode 100644
index 0000000000..9d67f4ec05
--- /dev/null
+++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBar.kt
@@ -0,0 +1,111 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.libraries.designsystem.theme.components
+
+import androidx.compose.foundation.layout.RowScope
+import androidx.compose.foundation.layout.WindowInsets
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.NavigationBarDefaults
+import androidx.compose.material3.contentColorFor
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.tooling.preview.Preview
+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.preview.ElementThemedPreview
+import io.element.android.libraries.designsystem.preview.PreviewGroup
+
+@Composable
+fun NavigationBar(
+ modifier: Modifier = Modifier,
+ containerColor: Color = ElementNavigationBarDefaults.containerColor,
+ contentColor: Color = MaterialTheme.colorScheme.contentColorFor(containerColor),
+ tonalElevation: Dp = ElementNavigationBarDefaults.tonalElevation,
+ windowInsets: WindowInsets = ElementNavigationBarDefaults.windowInsets,
+ content: @Composable RowScope.() -> Unit
+) {
+ androidx.compose.material3.NavigationBar(
+ modifier = modifier,
+ containerColor = containerColor,
+ contentColor = contentColor,
+ tonalElevation = tonalElevation,
+ windowInsets = windowInsets,
+ content = content
+ )
+}
+
+object ElementNavigationBarDefaults {
+ val containerColor: Color
+ @Composable get() = if (ElementTheme.isLightTheme) {
+ ElementTheme.colors.bgSubtlePrimary
+ } else {
+ ElementTheme.colors.textOnSolidPrimary
+ }
+
+ val tonalElevation: Dp = NavigationBarDefaults.Elevation
+
+ val windowInsets: WindowInsets
+ @Composable get() = NavigationBarDefaults.windowInsets
+}
+
+@Preview(group = PreviewGroup.AppBars)
+@Composable
+internal fun NavigationBarPreview() = ElementThemedPreview {
+ NavigationBar {
+ NavigationBarItem(
+ icon = {
+ NavigationBarIcon(
+ imageVector = CompoundIcons.ChatSolid(),
+ count = 5,
+ isCritical = false,
+ )
+ },
+ label = {
+ NavigationBarText(
+ text = "Chats"
+ )
+ },
+ selected = true,
+ onClick = {},
+ )
+ NavigationBarItem(
+ icon = {
+ NavigationBarIcon(
+ imageVector = CompoundIcons.ChatSolid(),
+ count = 5,
+ isCritical = true,
+ )
+ },
+ label = {
+ NavigationBarText(
+ text = "Teams"
+ )
+ },
+ selected = false,
+ onClick = {},
+ )
+ NavigationBarItem(
+ icon = {
+ NavigationBarIcon(
+ imageVector = CompoundIcons.ChatSolid(),
+ count = 0,
+ isCritical = false,
+ )
+ },
+ label = {
+ NavigationBarText(
+ text = "Other"
+ )
+ },
+ selected = false,
+ onClick = {},
+ )
+ }
+}
diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBarIcon.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBarIcon.kt
new file mode 100644
index 0000000000..2c2890f854
--- /dev/null
+++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBarIcon.kt
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.libraries.designsystem.theme.components
+
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.offset
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.unit.dp
+import io.element.android.compound.theme.ElementTheme
+import io.element.android.libraries.designsystem.atomic.atoms.CounterAtom
+
+@Composable
+fun NavigationBarIcon(
+ imageVector: ImageVector,
+ modifier: Modifier = Modifier,
+ count: Int = 0,
+ isCritical: Boolean = false,
+) {
+ Box(modifier) {
+ Icon(
+ imageVector = imageVector,
+ contentDescription = null,
+ )
+ CounterAtom(
+ modifier = Modifier.offset(11.dp, (-11).dp),
+ textStyle = ElementTheme.typography.fontBodyXsMedium,
+ count = count,
+ isCritical = isCritical,
+ )
+ }
+}
diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBarItem.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBarItem.kt
new file mode 100644
index 0000000000..8c42b932dd
--- /dev/null
+++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBarItem.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.libraries.designsystem.theme.components
+
+import androidx.compose.foundation.interaction.MutableInteractionSource
+import androidx.compose.foundation.layout.RowScope
+import androidx.compose.material3.NavigationBarItem
+import androidx.compose.material3.NavigationBarItemColors
+import androidx.compose.material3.NavigationBarItemDefaults
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import io.element.android.compound.theme.ElementTheme
+
+@Composable
+fun RowScope.NavigationBarItem(
+ selected: Boolean,
+ onClick: () -> Unit,
+ icon: @Composable () -> Unit,
+ modifier: Modifier = Modifier,
+ enabled: Boolean = true,
+ label: @Composable (() -> Unit)? = null,
+ alwaysShowLabel: Boolean = true,
+ colors: NavigationBarItemColors = ElementNavigationBarItemDefaults.colors(),
+ interactionSource: MutableInteractionSource? = null
+) {
+ NavigationBarItem(
+ selected = selected,
+ onClick = onClick,
+ icon = icon,
+ modifier = modifier,
+ enabled = enabled,
+ label = label,
+ alwaysShowLabel = alwaysShowLabel,
+ colors = colors,
+ interactionSource = interactionSource,
+ )
+}
+
+object ElementNavigationBarItemDefaults {
+ @Composable
+ fun colors() = NavigationBarItemDefaults.colors().copy(
+ selectedIconColor = ElementTheme.colors.iconPrimary,
+ selectedTextColor = ElementTheme.colors.textPrimary,
+ unselectedIconColor = ElementTheme.colors.iconTertiary,
+ unselectedTextColor = ElementTheme.colors.textDisabled,
+ selectedIndicatorColor = Color.Companion.Transparent,
+ )
+}
diff --git a/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBarText.kt b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBarText.kt
new file mode 100644
index 0000000000..826c99f743
--- /dev/null
+++ b/libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/NavigationBarText.kt
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.libraries.designsystem.theme.components
+
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import io.element.android.compound.theme.ElementTheme
+
+@Composable
+fun NavigationBarText(
+ text: String,
+ modifier: Modifier = Modifier,
+) {
+ Text(
+ modifier = modifier,
+ text = text,
+ style = ElementTheme.typography.fontBodySmMedium,
+ )
+}
diff --git a/libraries/eventformatter/impl/src/main/res/values-bg/translations.xml b/libraries/eventformatter/impl/src/main/res/values-bg/translations.xml
index 3a5a3d1830..b1f3fe1f11 100644
--- a/libraries/eventformatter/impl/src/main/res/values-bg/translations.xml
+++ b/libraries/eventformatter/impl/src/main/res/values-bg/translations.xml
@@ -22,9 +22,9 @@
"%1$s ви покани"
"%1$s се присъедини към стаята"
"Вие се присъединихте към стаята"
- "%1$s поиска да се присъедини"
- "%1$s позволи на %2$s да се присъедини"
- "%1$s ви позволи да се присъедините"
+ "%1$s иска да се присъедини"
+ "%1$s получи достъп до %2$s"
+ "Вие позволихте на %1$s да се присъедини"
"Вие поискахте да се присъедините"
"%1$s вече не се интересува от присъединяване"
"%1$s напусна стаята"
@@ -35,6 +35,10 @@
"Вие премахнахте името на стаята"
"%1$s не направи промени"
"Не направихте промени"
+ "%1$s промени закачените съобщения"
+ "Вие променихте закачените съобщения"
+ "%1$s закачи съобщение"
+ "Вие закачихте съобщение"
"%1$s отхвърли поканата"
"Вие отхвърлихте поканата"
"%1$s премахна %2$s"
diff --git a/libraries/eventformatter/impl/src/main/res/values-da/translations.xml b/libraries/eventformatter/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..db3be216f7
--- /dev/null
+++ b/libraries/eventformatter/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,73 @@
+
+
+ "(avataren blev også ændret)"
+ "%1$s ændrede sin avatar"
+ "Du har ændret din avatar"
+ "%1$s blev nedgraderet til medlem"
+ "%1$s blev nedgraderet til moderator"
+ "%1$s ændrede sit viste navn fra %2$s til %3$s"
+ "Du har ændret dit viste navn fra %1$s til %2$s"
+ "%1$s fjernede sit viste navn (det var %2$s )"
+ "Du fjernede dit viste navn (det var%1$s)"
+ "%1$s har sat deres visningsnavn til %2$s"
+ "Du har indstillet dit viste navn til %1$s"
+ "%1$s blev forfremmet til admin"
+ "%1$s blev forfremmet til moderator"
+ "%1$s ændrede rummets avatar"
+ "Du ændrede rummets avatar"
+ "%1$s fjernede rummets avatar"
+ "Du fjernede rummets avatar"
+ "%1$s bortviste %2$s"
+ "Du bortviste %1$s"
+ "Du spærrede %1$s: %2$s"
+ "%1$s spærrede %2$s: %3$s"
+ "%1$s skabte rummet"
+ "Du skabte rummet"
+ "%1$sinviterede %2$s"
+ "%1$s accepterede invitationen"
+ "Du har accepteret invitationen"
+ "Du inviterede %1$s"
+ "%1$s inviterede dig"
+ "%1$s sluttede sig til rummet"
+ "Du sluttede dig til rummet"
+ "%1$s anmoder om at deltage"
+ "%1$s har givet adgang til %2$s"
+ "Du tillod %1$s at være med"
+ "Du har anmodet om at deltage"
+ "%1$s har afvist %2$ss anmodning om at deltage"
+ "Du har afvist %1$ss anmodning om at deltage"
+ "%1$s afviste din anmodning om at deltage"
+ "%1$s er ikke længere interesseret i at deltage"
+ "Du har annulleret din anmodning om at deltage"
+ "%1$s forlod rummet"
+ "Du forlod rummet"
+ "%1$s ændrede rummets navn til: %2$s"
+ "Du ændrede rummets navn til: %1$s"
+ "%1$s fjernede rummets navn"
+ "Du fjernede rummets navn"
+ "%1$s foretog ingen ændringer"
+ "Du har ikke foretaget nogen ændringer"
+ "%1$s ændrede de fastgjorte beskeder"
+ "Du har ændret de fastgjorte beskeder"
+ "%1$s fastgjorde en besked"
+ "Du har fastgjort en besked"
+ "%1$s frigjorde en besked"
+ "Du frigjorde en besked"
+ "%1$s afviste invitationen"
+ "Du afviste invitationen"
+ "%1$s fjernede %2$s"
+ "Du fjernede %1$s"
+ "Du fjernede %1$s :%2$s"
+ "%1$s fjernede %2$s: %3$s"
+ "%1$s har sendt en invitation til %2$s om at deltage i rummet"
+ "Du har sendt en invitation til %1$s om at deltage i rummet"
+ "%1$s tilbagekaldte invitationen til %2$s om at være med i rummet"
+ "Du tilbagekaldte invitationen til %1$s om at være med i rummet"
+ "%1$s ændrede emnet til: %2$s"
+ "Du har ændret emnet til: %1$s"
+ "%1$s fjernede rummets emne"
+ "Du har fjernet rummets emne"
+ "%1$s ophævede bortvisningen af %2$s"
+ "Du har fjernet bortvisningen af %1$s"
+ "%1$s har foretaget en ukendt ændring af deres medlemskab"
+
diff --git a/libraries/eventformatter/impl/src/main/res/values-el/translations.xml b/libraries/eventformatter/impl/src/main/res/values-el/translations.xml
index 8c89d65ea5..f34016cd67 100644
--- a/libraries/eventformatter/impl/src/main/res/values-el/translations.xml
+++ b/libraries/eventformatter/impl/src/main/res/values-el/translations.xml
@@ -13,21 +13,23 @@
"Όρισες το εμφανιζόμενο όνομά σου σε %1$s"
"Ο χρήστης %1$s προήχθη σε διαχειριστής"
"Ο χρήστης %1$s προήχθη σε συντονιστής"
- "Ο χρήστης %1$s άλλαξε το άβαταρ του δωματίου"
- "Άλλαξες το άβαταρ του δωματίου"
- "Ο χρήστης %1$s αφαίρεσε το άβαταρ του δωματίου"
- "Αφαίρεσες το άβαταρ του δωματίου"
+ "%1$s άλλαξε την εικόνα προφίλ της αίθουσας"
+ "Αλλάξατε την εικόνα προφίλ της αίθουσας"
+ "%1$s αφαίρεσε την εικόνα προφίλ της αίθουσας"
+ "Αφαιρέσατε την εικόνα προφίλ της αίθουσας"
"Ο χρήστης %1$s απέκλεισε τον χρήστη %2$s"
"Απέκλεισες τον χρήστη %1$s"
- "Ο χρήστης %1$s δημιούργησε το δωμάτιο"
- "Εσύ δημιούργησες το δωμάτιο"
+ "Απέκλεισες %1$s: %2$s"
+ "%1$s απέκλεισε %2$s: %3$s"
+ "%1$s δημιούργησε την αίθουσα"
+ "Δημιουργήσατε την αίθουσα"
"Ο χρήστης %1$s προσκάλεσε τον χρήστη %2$s"
"Ο χρήστης %1$s αποδέχτηκε την πρόσκληση"
"Αποδέχτηκες την πρόσκληση"
"Προσκάλεσες τον χρήστη %1$s"
"Ο χρήστης %1$s σέ προσκάλεσε"
- "Ο χρήστης %1$s συμμετέχει στο δωμάτιο"
- "Μπήκες στο δωμάτιο"
+ "%1$s εντάχθηκε στην αίθουσα"
+ "Ενταχθήκατε στην αίθουσα"
"Ο χρήστης %1$s ζητάει να συμμετάσχει"
"Ο χρήστης %1$s επέτρεψε τον χρήστη %2$s"
"Επέστρεψες στον χρήστη%1$s να συμμετάσχει"
@@ -37,12 +39,12 @@
"Ο χρήστης %1$s απέρριψε το αίτημά σου για συμμετοχή"
"Ο χρήστης %1$s δεν ενδιαφέρεται πλέον να συμμετάσχει"
"Ακύρωσες το αίτημά σου για συμμετοχή"
- "Ο χρήστης %1$s αποχώρησε από το δωμάτιο"
- "Έφυγες από το δωμάτιο"
- "Ο χρήστης %1$s άλλαξε το όνομα του δωματίου σε: %2$s"
- "Άλλαξες το όνομα του δωματίου σε: %1$s"
- "Ο χρήστης %1$s αφαίρεσε το όνομα του δωματίου"
- "Αφαίρεσες το όνομα του δωματίου"
+ "%1$s αποχώρησε από την αίθουσα"
+ "Αποχωρήσατε από την αίθουσα"
+ "%1$s άλλαξε το όνομα της αίθουσας σε: %2$s"
+ "Αλλάξατε το όνομα της αίθουσας σε: %1$s"
+ "%1$s αφαίρεσε το όνομα της αίθουσας"
+ "Αφαιρέσατε το όνομα της αίθουσας"
"Ο χρήστης %1$s δεν έκανε καμία αλλαγή"
"Δεν έκανες καμία αλλαγή"
"Ο χρήστης %1$s άλλαξε τα καρφιτσωμένα μηνύματα"
@@ -55,14 +57,16 @@
"Απέρριψες την πρόσκληση"
"Ο χρήστης %1$s αφαίρεσε τον χρήστη %2$s"
"Αφαίρεσες τον χρήστη %1$s"
- "Ο χρήστης %1$s έστειλε πρόσκληση στον χρήστη %2$s για συμμετοχή στο δωμάτιο"
- "Στείλατε μια πρόσκληση στον χρήστη %1$s για να γίνει μέλος στο δωμάτιο"
- "Ο χρήστης %1$s ανακάλεσε την πρόσκληση συμμετοχής του χρήστη %2$s στο δωμάτιο"
- "Ανακάλεσες την πρόσκληση για συμμετοχή του χρήστη %1$s στο δωμάτιο"
+ "Αφαίρεσες %1$s: %2$s"
+ "%1$s αφαιρέθηκε %2$s: %3$s"
+ "%1$s έστειλε πρόσκληση στον χρήστη %2$s για ένταξη στην αίθουσα"
+ "Στείλατε πρόσκληση στον χρήστη %1$s για να ενταχθεί στην αίθουσα"
+ "%1$s ανακάλεσε την πρόσκληση στον χρήστη %2$s για να ενταχθεί στην αίθουσα"
+ "Ανακαλέσατε την πρόσκληση για ένταξη του χρήστη %1$s στην αίθουσα"
"Ο χρήστης %1$s άλλαξε το θέμα σε: %2$s"
"Άλλαξες το θέμα σε: %1$s"
- "Ο χρήστης %1$s αφαίρεσε το θέμα του δωματίου"
- "Αφαίρεσες το θέμα του δωματίου"
+ "%1$s αφαίρεσε το θέμα της αίθουσας"
+ "Αφαιρέσατε το θέμα της αίθουσας"
"Ο χρήστης %1$s έκανε άρση αποκλεισμού στον χρήστη %2$s"
"Έκανες άρση αποκλεισμού στον χρήστη %1$s"
"Ο χρήστης %1$s έκανε μια άγνωστη αλλαγή στην ιδιότητα μέλους του."
diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/analytics/ViewRoomExt.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/analytics/ViewRoomExt.kt
index 3ea1bddf40..ec5a3d8431 100644
--- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/analytics/ViewRoomExt.kt
+++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/analytics/ViewRoomExt.kt
@@ -27,5 +27,5 @@ fun BaseRoom.toAnalyticsViewRoom(
}
private fun BaseRoom.toActiveSpace(): ViewRoom.ActiveSpace {
- return if (info().isPublic) ViewRoom.ActiveSpace.Public else ViewRoom.ActiveSpace.Private
+ return if (info().isPublic == true) ViewRoom.ActiveSpace.Public else ViewRoom.ActiveSpace.Private
}
diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/RoomInfo.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/RoomInfo.kt
index 13e2ed44da..261a484fd6 100644
--- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/RoomInfo.kt
+++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/RoomInfo.kt
@@ -14,10 +14,10 @@ import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility
import io.element.android.libraries.matrix.api.room.join.JoinRule
+import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.tombstone.SuccessorRoom
import io.element.android.libraries.matrix.api.user.MatrixUser
import kotlinx.collections.immutable.ImmutableList
-import kotlinx.collections.immutable.ImmutableMap
@Immutable
data class RoomInfo(
@@ -28,7 +28,7 @@ data class RoomInfo(
val rawName: String?,
val topic: String?,
val avatarUrl: String?,
- val isPublic: Boolean,
+ val isPublic: Boolean?,
val isDirect: Boolean,
val isEncrypted: Boolean?,
val joinRule: JoinRule?,
@@ -48,7 +48,7 @@ data class RoomInfo(
val activeMembersCount: Long,
val invitedMembersCount: Long,
val joinedMembersCount: Long,
- val userPowerLevels: ImmutableMap,
+ val roomPowerLevels: RoomPowerLevels?,
val highlightCount: Long,
val notificationCount: Long,
val userDefinedNotificationMode: RoomNotificationMode?,
diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/powerlevels/MatrixRoomMembersWithRole.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/powerlevels/MatrixRoomMembersWithRole.kt
index 49bc4afcd6..eb3afaf994 100644
--- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/powerlevels/MatrixRoomMembersWithRole.kt
+++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/powerlevels/MatrixRoomMembersWithRole.kt
@@ -22,7 +22,7 @@ import kotlinx.coroutines.flow.map
*/
fun BaseRoom.usersWithRole(role: RoomMember.Role): Flow> {
return roomInfoFlow
- .map { it.userPowerLevels.filter { (_, powerLevel) -> RoomMember.Role.forPowerLevel(powerLevel) == role } }
+ .map { it.roomPowerLevels?.users.orEmpty().filter { (_, powerLevel) -> RoomMember.Role.forPowerLevel(powerLevel) == role } }
.combine(membersStateFlow) { powerLevels, membersState ->
membersState.activeRoomMembers()
.filter { powerLevels.containsKey(it.userId) }
diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/powerlevels/RoomPowerLevels.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/powerlevels/RoomPowerLevels.kt
new file mode 100644
index 0000000000..08f2166494
--- /dev/null
+++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/powerlevels/RoomPowerLevels.kt
@@ -0,0 +1,16 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.libraries.matrix.api.room.powerlevels
+
+import io.element.android.libraries.matrix.api.core.UserId
+import kotlinx.collections.immutable.ImmutableMap
+
+data class RoomPowerLevels(
+ val values: RoomPowerLevelsValues,
+ val users: ImmutableMap,
+)
diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/preview/RoomPreviewInfo.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/preview/RoomPreviewInfo.kt
index b00d59a3f6..61de6f7d15 100644
--- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/preview/RoomPreviewInfo.kt
+++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/preview/RoomPreviewInfo.kt
@@ -33,5 +33,5 @@ data class RoomPreviewInfo(
/** the membership of the current user. */
val membership: CurrentUserMembership?,
/** The room's join rule. */
- val joinRule: JoinRule,
+ val joinRule: JoinRule?,
)
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 d71db05a02..fca6439c05 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
@@ -131,7 +131,7 @@ class RustMatrixClient(
private val sessionStore: SessionStore,
private val appCoroutineScope: CoroutineScope,
private val sessionDelegate: RustClientSessionDelegate,
- innerSyncService: ClientSyncService,
+ private val innerSyncService: ClientSyncService,
dispatchers: CoroutineDispatchers,
baseCacheDirectory: File,
clock: SystemClock,
@@ -541,7 +541,7 @@ class RustMatrixClient(
}
override suspend fun clearCache() {
- innerClient.clearCaches()
+ innerClient.clearCaches(innerSyncService)
destroy()
}
diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt
index 8261969918..c1dab6f404 100644
--- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt
+++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt
@@ -34,6 +34,7 @@ import org.matrix.rustcomponents.sdk.SlidingSyncVersionBuilder
import org.matrix.rustcomponents.sdk.use
import timber.log.Timber
import uniffi.matrix_sdk_crypto.CollectStrategy
+import uniffi.matrix_sdk_crypto.DecryptionSettings
import uniffi.matrix_sdk_crypto.TrustRequirement
import java.io.File
import javax.inject.Inject
@@ -120,12 +121,14 @@ class RustMatrixClientFactory @Inject constructor(
CollectStrategy.ERROR_ON_VERIFIED_USER_PROBLEM
}
)
- .roomDecryptionTrustRequirement(
- trustRequirement = if (featureFlagService.isFeatureEnabled(FeatureFlags.OnlySignedDeviceIsolationMode)) {
- TrustRequirement.CROSS_SIGNED_OR_LEGACY
- } else {
- TrustRequirement.UNTRUSTED
- }
+ .decryptionSettings(
+ DecryptionSettings(
+ senderDeviceTrustRequirement = if (featureFlagService.isFeatureEnabled(FeatureFlags.OnlySignedDeviceIsolationMode)) {
+ TrustRequirement.CROSS_SIGNED_OR_LEGACY
+ } else {
+ TrustRequirement.UNTRUSTED
+ }
+ )
)
.enableShareHistoryOnInvite(featureFlagService.isFeatureEnabled(FeatureFlags.EnableKeyShareOnInvite))
.run {
diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/JoinedRustRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/JoinedRustRoom.kt
index 153dc92274..a7dc2523ad 100644
--- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/JoinedRustRoom.kt
+++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/JoinedRustRoom.kt
@@ -139,7 +139,7 @@ class JoinedRustRoom(
}
init {
- val powerLevelChanges = roomInfoFlow.map { it.userPowerLevels }.distinctUntilChanged()
+ val powerLevelChanges = roomInfoFlow.map { it.roomPowerLevels }.distinctUntilChanged()
val membershipChanges = liveTimeline.membershipChangeEventReceived.onStart { emit(Unit) }
combine(membershipChanges, powerLevelChanges) { _, _ -> }
// Skip initial one
diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoMapper.kt
index e0dec91899..5b5d1f69f0 100644
--- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoMapper.kt
+++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoMapper.kt
@@ -14,12 +14,13 @@ import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
import io.element.android.libraries.matrix.api.room.RoomInfo
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
+import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.matrix.impl.room.history.map
import io.element.android.libraries.matrix.impl.room.join.map
import io.element.android.libraries.matrix.impl.room.member.RoomMemberMapper
+import io.element.android.libraries.matrix.impl.room.powerlevels.RoomPowerLevelsValuesMapper
import io.element.android.libraries.matrix.impl.room.tombstone.map
-import kotlinx.collections.immutable.ImmutableMap
import kotlinx.collections.immutable.toImmutableList
import kotlinx.collections.immutable.toPersistentMap
import org.matrix.rustcomponents.sdk.Membership
@@ -28,6 +29,7 @@ import uniffi.matrix_sdk_base.EncryptionState
import org.matrix.rustcomponents.sdk.Membership as RustMembership
import org.matrix.rustcomponents.sdk.RoomInfo as RustRoomInfo
import org.matrix.rustcomponents.sdk.RoomNotificationMode as RustRoomNotificationMode
+import org.matrix.rustcomponents.sdk.RoomPowerLevels as RustRoomPowerLevels
class RoomInfoMapper {
fun map(rustRoomInfo: RustRoomInfo): RoomInfo = rustRoomInfo.let {
@@ -55,7 +57,7 @@ class RoomInfoMapper {
activeMembersCount = it.activeMembersCount.toLong(),
invitedMembersCount = it.invitedMembersCount.toLong(),
joinedMembersCount = it.joinedMembersCount.toLong(),
- userPowerLevels = mapPowerLevels(it.userPowerLevels),
+ roomPowerLevels = it.powerLevels?.let(::mapPowerLevels),
highlightCount = it.highlightCount.toLong(),
notificationCount = it.notificationCount.toLong(),
userDefinedNotificationMode = it.cachedUserDefinedNotificationMode?.map(),
@@ -96,6 +98,9 @@ fun RoomHero.map(): MatrixUser = MatrixUser(
avatarUrl = avatarUrl
)
-fun mapPowerLevels(powerLevels: Map): ImmutableMap {
- return powerLevels.mapKeys { (key, _) -> UserId(key) }.toPersistentMap()
+fun mapPowerLevels(roomPowerLevels: RustRoomPowerLevels): RoomPowerLevels {
+ return RoomPowerLevels(
+ values = RoomPowerLevelsValuesMapper.map(roomPowerLevels.values()),
+ users = roomPowerLevels.userPowerLevels().mapKeys { (key, _) -> UserId(key) }.toPersistentMap()
+ )
}
diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewInfoMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewInfoMapper.kt
index fd21548224..cb1867ec8e 100644
--- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewInfoMapper.kt
+++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/preview/RoomPreviewInfoMapper.kt
@@ -27,7 +27,7 @@ object RoomPreviewInfoMapper {
roomType = info.roomType.map(),
isHistoryWorldReadable = info.isHistoryWorldReadable.orFalse(),
membership = info.membership?.map(),
- joinRule = info.joinRule.map(),
+ joinRule = info.joinRule?.map(),
)
}
}
diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt
index 2ad364c1e1..2088b6bc1d 100644
--- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt
+++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt
@@ -28,14 +28,6 @@ internal class MatrixTimelineDiffProcessor(
private val _membershipChangeEventReceived = MutableSharedFlow(extraBufferCapacity = 1)
val membershipChangeEventReceived: Flow = _membershipChangeEventReceived
- suspend fun postItems(items: List) {
- updateTimelineItems {
- Timber.v("Update timeline items from postItems (with ${items.size} items) on ${Thread.currentThread()}")
- val mappedItems = items.map { it.asMatrixTimelineItem() }
- addAll(0, mappedItems)
- }
- }
-
suspend fun postDiffs(diffs: List) {
updateTimelineItems {
Timber.v("Update timeline items from postDiffs (with ${diffs.size} items) on ${Thread.currentThread()}")
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 2f0154c208..404de3a248 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
@@ -48,7 +48,6 @@ import io.element.android.libraries.matrix.impl.timeline.postprocessor.TypingNot
import io.element.android.libraries.matrix.impl.timeline.reply.InReplyToMapper
import io.element.android.libraries.matrix.impl.util.MessageEventContent
import io.element.android.services.toolbox.api.systemclock.SystemClock
-import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -95,9 +94,6 @@ class RustTimeline(
private val featureFlagsService: FeatureFlagService,
onNewSyncedEvent: () -> Unit,
) : Timeline {
- private val initLatch = CompletableDeferred()
- private val isTimelineInitialized = MutableStateFlow(false)
-
private val _timelineItems: MutableSharedFlow> =
MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE)
@@ -119,8 +115,6 @@ class RustTimeline(
timeline = inner,
timelineCoroutineScope = coroutineScope,
timelineDiffProcessor = timelineDiffProcessor,
- initLatch = initLatch,
- isTimelineInitialized = isTimelineInitialized,
dispatcher = dispatcher,
onNewSyncedEvent = onNewSyncedEvent,
)
@@ -181,7 +175,6 @@ class RustTimeline(
// Use NonCancellable to avoid breaking the timeline when the coroutine is cancelled.
override suspend fun paginate(direction: Timeline.PaginationDirection): Result = withContext(NonCancellable) {
withContext(dispatcher) {
- initLatch.await()
runCatchingExceptions {
if (!canPaginate(direction)) throw TimelineException.CannotPaginate
updatePaginationStatus(direction) { it.copy(isPaginating = true) }
@@ -203,7 +196,6 @@ class RustTimeline(
}
private fun canPaginate(direction: Timeline.PaginationDirection): Boolean {
- if (!isTimelineInitialized.value) return false
return when (direction) {
Timeline.PaginationDirection.BACKWARDS -> backwardPaginationStatus.value.canPaginate
Timeline.PaginationDirection.FORWARDS -> forwardPaginationStatus.value.canPaginate
@@ -215,12 +207,10 @@ class RustTimeline(
backwardPaginationStatus,
forwardPaginationStatus,
joinedRoom.roomInfoFlow.map { it.creator to it.isDm }.distinctUntilChanged(),
- isTimelineInitialized,
) { timelineItems,
backwardPaginationStatus,
forwardPaginationStatus,
- (roomCreator, isDm),
- isTimelineInitialized ->
+ (roomCreator, isDm) ->
withContext(dispatcher) {
timelineItems
.let { items ->
@@ -234,7 +224,6 @@ class RustTimeline(
.let { items ->
loadingIndicatorsPostProcessor.process(
items = items,
- isTimelineInitialized = isTimelineInitialized,
hasMoreToLoadBackward = backwardPaginationStatus.hasMoreToLoad,
hasMoreToLoadForward = forwardPaginationStatus.hasMoreToLoad,
)
@@ -244,10 +233,7 @@ class RustTimeline(
}
// Keep lastForwardIndicatorsPostProcessor last
.let { items ->
- lastForwardIndicatorsPostProcessor.process(
- items = items,
- isTimelineInitialized = isTimelineInitialized,
- )
+ lastForwardIndicatorsPostProcessor.process(items = items)
}
}
}.onStart {
@@ -262,7 +248,6 @@ class RustTimeline(
}
private fun CoroutineScope.fetchMembers() = launch(dispatcher) {
- initLatch.await()
try {
inner.fetchMembers()
} catch (exception: Exception) {
diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriber.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriber.kt
index c286a5fec3..3d95d660ff 100644
--- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriber.kt
+++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriber.kt
@@ -8,37 +8,26 @@
package io.element.android.libraries.matrix.impl.timeline
import io.element.android.libraries.core.coroutine.childScope
-import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.cancelChildren
import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.ensureActive
-import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import org.matrix.rustcomponents.sdk.Timeline
-import org.matrix.rustcomponents.sdk.TimelineChange
-import org.matrix.rustcomponents.sdk.TimelineDiff
-import org.matrix.rustcomponents.sdk.TimelineItem
import uniffi.matrix_sdk_ui.EventItemOrigin
-private const val INITIAL_MAX_SIZE = 50
-
/**
* This class is responsible for subscribing to a timeline and post the items/diffs to the timelineDiffProcessor.
* It will also trigger a callback when a new synced event is received.
- * It will also handle the initial items and make sure they are posted before any diff.
*/
internal class TimelineItemsSubscriber(
timelineCoroutineScope: CoroutineScope,
dispatcher: CoroutineDispatcher,
private val timeline: Timeline,
private val timelineDiffProcessor: MatrixTimelineDiffProcessor,
- private val initLatch: CompletableDeferred,
- private val isTimelineInitialized: MutableStateFlow,
private val onNewSyncedEvent: () -> Unit,
) {
private var subscriptionCount = 0
@@ -57,7 +46,7 @@ internal class TimelineItemsSubscriber(
if (diffs.any { diff -> diff.eventOrigin() == EventItemOrigin.SYNC }) {
onNewSyncedEvent()
}
- postDiffs(diffs)
+ timelineDiffProcessor.postDiffs(diffs)
}
.launchIn(coroutineScope)
}
@@ -78,35 +67,4 @@ internal class TimelineItemsSubscriber(
}
subscriptionCount--
}
-
- private suspend fun postItems(items: List) = coroutineScope {
- if (items.isEmpty()) {
- // Makes sure to post empty list if there is no item, so you can handle empty state.
- timelineDiffProcessor.postItems(emptyList())
- } else {
- // Split the initial items in multiple list as there is no pagination in the cached data, so we can post timelineItems asap.
- items.chunked(INITIAL_MAX_SIZE).reversed().forEach {
- ensureActive()
- timelineDiffProcessor.postItems(it)
- }
- }
- isTimelineInitialized.value = true
- initLatch.complete(Unit)
- }
-
- private suspend fun postDiffs(diffs: List) {
- val diffsToProcess = diffs.toMutableList()
- if (!isTimelineInitialized.value) {
- val resetDiff = diffsToProcess.firstOrNull { it.change() == TimelineChange.RESET }
- if (resetDiff != null) {
- // Keep using the postItems logic so we can post the timelineItems asap.
- postItems(resetDiff.reset() ?: emptyList())
- diffsToProcess.remove(resetDiff)
- }
- }
- initLatch.await()
- if (diffsToProcess.isNotEmpty()) {
- timelineDiffProcessor.postDiffs(diffsToProcess)
- }
- }
}
diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt
index 8e55b0aa76..9be7dddddb 100644
--- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt
+++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessor.kt
@@ -22,9 +22,7 @@ class LastForwardIndicatorsPostProcessor(
fun process(
items: List,
- isTimelineInitialized: Boolean,
): List {
- if (!isTimelineInitialized) return items
// We don't need to add the last forward indicator if we are not in the FOCUSED_ON_EVENT mode
if (mode != Timeline.Mode.FOCUSED_ON_EVENT) {
return items
diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt
index 4261b78c93..6d42af54b5 100644
--- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt
+++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessor.kt
@@ -16,11 +16,9 @@ import io.element.android.services.toolbox.api.systemclock.SystemClock
class LoadingIndicatorsPostProcessor(private val systemClock: SystemClock) {
fun process(
items: List,
- isTimelineInitialized: Boolean,
hasMoreToLoadBackward: Boolean,
hasMoreToLoadForward: Boolean,
): List {
- if (!isTimelineInitialized) return items
val shouldAddForwardLoadingIndicator = hasMoreToLoadForward && items.isNotEmpty()
val currentTimestamp = systemClock.epochMillis()
return buildList {
diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/widget/DefaultCallWidgetSettingsProvider.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/widget/DefaultCallWidgetSettingsProvider.kt
index eed81c2dcb..90b3c16906 100644
--- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/widget/DefaultCallWidgetSettingsProvider.kt
+++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/widget/DefaultCallWidgetSettingsProvider.kt
@@ -16,11 +16,12 @@ import io.element.android.libraries.matrix.api.widget.CallWidgetSettingsProvider
import io.element.android.libraries.matrix.api.widget.MatrixWidgetSettings
import io.element.android.services.analytics.api.AnalyticsService
import kotlinx.coroutines.flow.first
-import org.matrix.rustcomponents.sdk.EncryptionSystem
-import org.matrix.rustcomponents.sdk.VirtualElementCallWidgetOptions
import org.matrix.rustcomponents.sdk.newVirtualElementCallWidget
+import uniffi.matrix_sdk.EncryptionSystem
+import uniffi.matrix_sdk.HeaderStyle
+import uniffi.matrix_sdk.VirtualElementCallWidgetOptions
import javax.inject.Inject
-import org.matrix.rustcomponents.sdk.Intent as CallIntent
+import uniffi.matrix_sdk.Intent as CallIntent
@ContributesBinding(AppScope::class)
class DefaultCallWidgetSettingsProvider @Inject constructor(
@@ -48,8 +49,10 @@ class DefaultCallWidgetSettingsProvider @Inject constructor(
sentryDsn = callAnalyticsCredentialsProvider.sentryDsn.takeIf { isAnalyticsEnabled },
sentryEnvironment = if (buildMeta.buildType == BuildType.RELEASE) "RELEASE" else "DEBUG",
parentUrl = null,
+ // For backwards compatibility, it'll be ignored in recent versions of Element Call
hideHeader = true,
controlledMediaDevices = true,
+ header = HeaderStyle.APP_BAR,
)
val rustWidgetSettings = newVirtualElementCallWidget(options)
return MatrixWidgetSettings.fromRustWidgetSettings(rustWidgetSettings)
diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/NotificationItem.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/NotificationItem.kt
index 1c966cc047..797958e151 100644
--- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/NotificationItem.kt
+++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/NotificationItem.kt
@@ -52,7 +52,6 @@ fun aRustNotificationRoomInfo(
isEncrypted: Boolean? = true,
isDirect: Boolean = false,
joinRule: JoinRule? = null,
- isPublic: Boolean = true,
) = NotificationRoomInfo(
displayName = displayName,
avatarUrl = avatarUrl,
@@ -61,7 +60,6 @@ fun aRustNotificationRoomInfo(
isEncrypted = isEncrypted,
isDirect = isDirect,
joinRule = joinRule,
- isPublic = isPublic,
)
fun aRustNotificationEventTimeline(
diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomInfo.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomInfo.kt
index 45b67cc38a..9ba3c100a7 100644
--- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomInfo.kt
+++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/factories/RoomInfo.kt
@@ -8,6 +8,7 @@
package io.element.android.libraries.matrix.impl.fixtures.factories
import io.element.android.libraries.matrix.api.core.UserId
+import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeFfiRoomPowerLevels
import io.element.android.libraries.matrix.test.A_ROOM_ID
import io.element.android.libraries.matrix.test.A_ROOM_NAME
import org.matrix.rustcomponents.sdk.JoinRule
@@ -17,6 +18,7 @@ import org.matrix.rustcomponents.sdk.RoomHistoryVisibility
import org.matrix.rustcomponents.sdk.RoomInfo
import org.matrix.rustcomponents.sdk.RoomMember
import org.matrix.rustcomponents.sdk.RoomNotificationMode
+import org.matrix.rustcomponents.sdk.RoomPowerLevels
import org.matrix.rustcomponents.sdk.SuccessorRoom
import uniffi.matrix_sdk_base.EncryptionState
@@ -39,7 +41,7 @@ fun aRustRoomInfo(
activeMembersCount: ULong = 0uL,
invitedMembersCount: ULong = 0uL,
joinedMembersCount: ULong = 0uL,
- userPowerLevels: Map = mapOf(),
+ roomPowerLevels: RoomPowerLevels = FakeFfiRoomPowerLevels(),
highlightCount: ULong = 0uL,
notificationCount: ULong = 0uL,
userDefinedNotificationMode: RoomNotificationMode? = null,
@@ -73,7 +75,7 @@ fun aRustRoomInfo(
activeMembersCount = activeMembersCount,
invitedMembersCount = invitedMembersCount,
joinedMembersCount = joinedMembersCount,
- userPowerLevels = userPowerLevels,
+ powerLevels = roomPowerLevels,
highlightCount = highlightCount,
notificationCount = notificationCount,
cachedUserDefinedNotificationMode = userDefinedNotificationMode,
diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiClient.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiClient.kt
index 5c299f1adf..8e88fa78fe 100644
--- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiClient.kt
+++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiClient.kt
@@ -25,6 +25,7 @@ import org.matrix.rustcomponents.sdk.PusherKind
import org.matrix.rustcomponents.sdk.RoomDirectorySearch
import org.matrix.rustcomponents.sdk.Session
import org.matrix.rustcomponents.sdk.SessionVerificationController
+import org.matrix.rustcomponents.sdk.SyncService
import org.matrix.rustcomponents.sdk.SyncServiceBuilder
import org.matrix.rustcomponents.sdk.TaskHandle
import org.matrix.rustcomponents.sdk.UnableToDecryptDelegate
@@ -62,7 +63,7 @@ class FakeFfiClient(
) = Unit
override suspend fun deletePusher(identifiers: PusherIdentifiers) = Unit
- override suspend fun clearCaches() = simulateLongTask { clearCachesResult() }
+ override suspend fun clearCaches(syncService: SyncService?) = simulateLongTask { clearCachesResult() }
override suspend fun setUtdDelegate(utdDelegate: UnableToDecryptDelegate) = withUtdHook(utdDelegate)
override suspend fun getSessionVerificationController(): SessionVerificationController = FakeFfiSessionVerificationController()
override suspend fun ignoredUsers(): List {
diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiClientBuilder.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiClientBuilder.kt
index 68e9946cb4..3ddb8c2cee 100644
--- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiClientBuilder.kt
+++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiClientBuilder.kt
@@ -18,7 +18,7 @@ import org.matrix.rustcomponents.sdk.RequestConfig
import org.matrix.rustcomponents.sdk.SlidingSyncVersionBuilder
import uniffi.matrix_sdk.BackupDownloadStrategy
import uniffi.matrix_sdk_crypto.CollectStrategy
-import uniffi.matrix_sdk_crypto.TrustRequirement
+import uniffi.matrix_sdk_crypto.DecryptionSettings
class FakeFfiClientBuilder : ClientBuilder(NoPointer) {
override fun addRootCertificates(certificates: List) = this
@@ -27,7 +27,7 @@ class FakeFfiClientBuilder : ClientBuilder(NoPointer) {
override fun backupDownloadStrategy(backupDownloadStrategy: BackupDownloadStrategy) = this
override fun disableAutomaticTokenRefresh() = this
override fun disableBuiltInRootCertificates() = this
- override fun roomDecryptionTrustRequirement(trustRequirement: TrustRequirement) = this
+ override fun decryptionSettings(decryptionSettings: DecryptionSettings): ClientBuilder = this
override fun disableSslVerification() = this
override fun homeserverUrl(url: String) = this
override fun sessionPassphrase(passphrase: String?) = this
diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiRoomPowerLevels.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiRoomPowerLevels.kt
new file mode 100644
index 0000000000..32e7dc891d
--- /dev/null
+++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/fixtures/fakes/FakeFfiRoomPowerLevels.kt
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.libraries.matrix.impl.fixtures.fakes
+
+import org.matrix.rustcomponents.sdk.NoPointer
+import org.matrix.rustcomponents.sdk.RoomPowerLevels
+import org.matrix.rustcomponents.sdk.RoomPowerLevelsValues
+
+class FakeFfiRoomPowerLevels(
+ private val values: RoomPowerLevelsValues = defaultFfiRoomPowerLevelValues(),
+ private val users: Map = emptyMap(),
+) : RoomPowerLevels(NoPointer) {
+ override fun values(): RoomPowerLevelsValues = values
+ override fun userPowerLevels(): Map = users
+}
+
+fun defaultFfiRoomPowerLevelValues() = RoomPowerLevelsValues(
+ ban = 50,
+ invite = 0,
+ kick = 50,
+ eventsDefault = 0,
+ redact = 50,
+ roomName = 100,
+ roomAvatar = 100,
+ roomTopic = 100,
+ stateDefault = 0,
+ usersDefault = 0,
+)
diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoMapperTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoMapperTest.kt
index c7e2ced273..7140a90dc4 100644
--- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoMapperTest.kt
+++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoMapperTest.kt
@@ -16,10 +16,12 @@ import io.element.android.libraries.matrix.api.room.RoomInfo
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility
import io.element.android.libraries.matrix.api.room.join.JoinRule
+import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomHero
import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomInfo
import io.element.android.libraries.matrix.impl.fixtures.factories.aRustRoomMember
+import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeFfiRoomPowerLevels
import io.element.android.libraries.matrix.test.AN_AVATAR_URL
import io.element.android.libraries.matrix.test.AN_EVENT_ID
import io.element.android.libraries.matrix.test.A_ROOM_ALIAS
@@ -28,8 +30,9 @@ import io.element.android.libraries.matrix.test.A_USER_ID
import io.element.android.libraries.matrix.test.A_USER_ID_3
import io.element.android.libraries.matrix.test.A_USER_ID_6
import io.element.android.libraries.matrix.test.room.aRoomMember
+import io.element.android.libraries.matrix.test.room.defaultRoomPowerLevelValues
+import kotlinx.collections.immutable.persistentMapOf
import kotlinx.collections.immutable.toImmutableList
-import kotlinx.collections.immutable.toImmutableMap
import kotlinx.collections.immutable.toPersistentList
import org.junit.Test
import org.matrix.rustcomponents.sdk.Membership
@@ -64,7 +67,7 @@ class RoomInfoMapperTest {
activeMembersCount = 2uL,
invitedMembersCount = 3uL,
joinedMembersCount = 4uL,
- userPowerLevels = mapOf(A_USER_ID_6.value to 50L),
+ roomPowerLevels = FakeFfiRoomPowerLevels(users = mapOf(A_USER_ID_6.value to 50L)),
highlightCount = 10uL,
notificationCount = 11uL,
userDefinedNotificationMode = RustRoomNotificationMode.MUTE,
@@ -99,7 +102,10 @@ class RoomInfoMapperTest {
activeMembersCount = 2L,
invitedMembersCount = 3L,
joinedMembersCount = 4L,
- userPowerLevels = mapOf(A_USER_ID_6 to 50L).toImmutableMap(),
+ roomPowerLevels = RoomPowerLevels(
+ values = defaultRoomPowerLevelValues(),
+ users = persistentMapOf(A_USER_ID_6 to 50L)
+ ),
highlightCount = 10L,
notificationCount = 11L,
userDefinedNotificationMode = RoomNotificationMode.MUTE,
@@ -149,7 +155,7 @@ class RoomInfoMapperTest {
activeMembersCount = 2uL,
invitedMembersCount = 3uL,
joinedMembersCount = 4uL,
- userPowerLevels = emptyMap(),
+ roomPowerLevels = FakeFfiRoomPowerLevels(),
highlightCount = 10uL,
notificationCount = 11uL,
userDefinedNotificationMode = null,
@@ -184,7 +190,10 @@ class RoomInfoMapperTest {
activeMembersCount = 2L,
invitedMembersCount = 3L,
joinedMembersCount = 4L,
- userPowerLevels = emptyMap().toImmutableMap(),
+ roomPowerLevels = RoomPowerLevels(
+ values = defaultRoomPowerLevelValues(),
+ users = persistentMapOf(),
+ ),
highlightCount = 10L,
notificationCount = 11L,
userDefinedNotificationMode = null,
diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimelineTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimelineTest.kt
index 56d1309b2a..8fcb352075 100644
--- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimelineTest.kt
+++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/RustTimelineTest.kt
@@ -57,11 +57,6 @@ class RustTimelineTest {
)
)
)
- with(awaitItem()) {
- assertThat(size).isEqualTo(1)
- // Typing notification
- assertThat((get(0) as MatrixTimelineItem.Virtual).virtual).isEqualTo(VirtualTimelineItem.TypingNotification)
- }
with(awaitItem()) {
assertThat(size).isEqualTo(2)
// The loading
diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt
index 0aacf6ae9b..03c1567c95 100644
--- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt
+++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/TimelineItemsSubscriberTest.kt
@@ -16,10 +16,8 @@ import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeFfiTimelineDi
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeFfiTimelineItem
import io.element.android.tests.testutils.lambda.lambdaError
import io.element.android.tests.testutils.lambda.lambdaRecorder
-import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.MutableSharedFlow
-import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.test.StandardTestDispatcher
import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runCurrent
@@ -116,8 +114,6 @@ class TimelineItemsSubscriberTest {
private fun TestScope.createTimelineItemsSubscriber(
timeline: Timeline = FakeFfiTimeline(),
timelineItems: MutableSharedFlow> = MutableSharedFlow(replay = 1, extraBufferCapacity = Int.MAX_VALUE),
- initLatch: CompletableDeferred = CompletableDeferred(),
- isTimelineInitialized: MutableStateFlow = MutableStateFlow(false),
onNewSyncedEvent: () -> Unit = { lambdaError() },
): TimelineItemsSubscriber {
return TimelineItemsSubscriber(
@@ -125,8 +121,6 @@ private fun TestScope.createTimelineItemsSubscriber(
dispatcher = StandardTestDispatcher(testScheduler),
timeline = timeline,
timelineDiffProcessor = createMatrixTimelineDiffProcessor(timelineItems),
- initLatch = initLatch,
- isTimelineInitialized = isTimelineInitialized,
onNewSyncedEvent = onNewSyncedEvent,
)
}
diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessorTest.kt
index aaadf74aea..c5b1c3edb7 100644
--- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessorTest.kt
+++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LastForwardIndicatorsPostProcessorTest.kt
@@ -18,21 +18,14 @@ class LastForwardIndicatorsPostProcessorTest {
@Test
fun `LastForwardIndicatorsPostProcessor does not alter the items with mode not FOCUSED_ON_EVENT`() {
val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.LIVE)
- val result = sut.process(listOf(messageEvent), true)
- assertThat(result).containsExactly(messageEvent)
- }
-
- @Test
- fun `LastForwardIndicatorsPostProcessor does not alter the items with mode FOCUSED_ON_EVENT but timeline not initialized`() {
- val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.FOCUSED_ON_EVENT)
- val result = sut.process(listOf(messageEvent), false)
+ val result = sut.process(listOf(messageEvent))
assertThat(result).containsExactly(messageEvent)
}
@Test
fun `LastForwardIndicatorsPostProcessor add virtual items`() {
val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.FOCUSED_ON_EVENT)
- val result = sut.process(listOf(messageEvent), true)
+ val result = sut.process(listOf(messageEvent))
assertThat(result).containsExactly(
messageEvent,
MatrixTimelineItem.Virtual(
@@ -45,7 +38,7 @@ class LastForwardIndicatorsPostProcessorTest {
@Test
fun `LastForwardIndicatorsPostProcessor add virtual items on empty list`() {
val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.FOCUSED_ON_EVENT)
- val result = sut.process(listOf(), true)
+ val result = sut.process(listOf())
assertThat(result).containsExactly(
MatrixTimelineItem.Virtual(
uniqueId = UniqueId("last_forward_indicator_fake_id"),
@@ -58,9 +51,9 @@ class LastForwardIndicatorsPostProcessorTest {
fun `LastForwardIndicatorsPostProcessor add virtual items but does not alter the list if called a second time`() {
val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.FOCUSED_ON_EVENT)
// Process a first time
- sut.process(listOf(messageEvent), true)
+ sut.process(listOf(messageEvent))
// Process a second time with the same Event
- val result = sut.process(listOf(messageEvent), true)
+ val result = sut.process(listOf(messageEvent))
assertThat(result).containsExactly(
messageEvent,
MatrixTimelineItem.Virtual(
@@ -74,9 +67,9 @@ class LastForwardIndicatorsPostProcessorTest {
fun `LastForwardIndicatorsPostProcessor add virtual items each time it is called with new Events`() {
val sut = LastForwardIndicatorsPostProcessor(Timeline.Mode.FOCUSED_ON_EVENT)
// Process a first time
- sut.process(listOf(dayEvent, messageEvent), true)
+ sut.process(listOf(dayEvent, messageEvent))
// Process a second time with the same Event
- val result = sut.process(listOf(dayEvent, messageEvent, messageEvent2), true)
+ val result = sut.process(listOf(dayEvent, messageEvent, messageEvent2))
assertThat(result).containsExactly(
dayEvent,
messageEvent,
diff --git a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessorTest.kt b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessorTest.kt
index b7e174e4a8..881d718392 100644
--- a/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessorTest.kt
+++ b/libraries/matrix/impl/src/test/kotlin/io/element/android/libraries/matrix/impl/timeline/postprocessor/LoadingIndicatorsPostProcessorTest.kt
@@ -16,25 +16,12 @@ import io.element.android.services.toolbox.test.systemclock.FakeSystemClock
import org.junit.Test
class LoadingIndicatorsPostProcessorTest {
- @Test
- fun `LoadingIndicatorsPostProcessor does not alter the items is the timeline is not initialized`() {
- val sut = LoadingIndicatorsPostProcessor(FakeSystemClock())
- val result = sut.process(
- items = listOf(messageEvent, messageEvent2),
- isTimelineInitialized = false,
- hasMoreToLoadBackward = true,
- hasMoreToLoadForward = true,
- )
- assertThat(result).containsExactly(messageEvent, messageEvent2)
- }
-
@Test
fun `LoadingIndicatorsPostProcessor adds Loading indicator at the top of the list if hasMoreToLoadBackward is true`() {
val clock = FakeSystemClock()
val sut = LoadingIndicatorsPostProcessor(clock)
val result = sut.process(
items = listOf(messageEvent, messageEvent2),
- isTimelineInitialized = true,
hasMoreToLoadBackward = true,
hasMoreToLoadForward = false,
)
@@ -57,7 +44,6 @@ class LoadingIndicatorsPostProcessorTest {
val sut = LoadingIndicatorsPostProcessor(clock)
val result = sut.process(
items = listOf(messageEvent, messageEvent2),
- isTimelineInitialized = true,
hasMoreToLoadBackward = false,
hasMoreToLoadForward = true,
)
@@ -80,7 +66,6 @@ class LoadingIndicatorsPostProcessorTest {
val sut = LoadingIndicatorsPostProcessor(clock)
val result = sut.process(
items = listOf(messageEvent, messageEvent2),
- isTimelineInitialized = true,
hasMoreToLoadBackward = true,
hasMoreToLoadForward = true,
)
@@ -110,7 +95,6 @@ class LoadingIndicatorsPostProcessorTest {
val sut = LoadingIndicatorsPostProcessor(clock)
val result = sut.process(
items = listOf(),
- isTimelineInitialized = true,
hasMoreToLoadBackward = true,
hasMoreToLoadForward = true,
)
diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeBaseRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeBaseRoom.kt
index c74635d1f9..872481a860 100644
--- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeBaseRoom.kt
+++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeBaseRoom.kt
@@ -225,7 +225,7 @@ class FakeBaseRoom(
override fun predecessorRoom(): PredecessorRoom? = predecessorRoomResult()
}
-fun defaultRoomPowerLevels() = RoomPowerLevelsValues(
+fun defaultRoomPowerLevelValues() = RoomPowerLevelsValues(
ban = 50,
invite = 0,
kick = 50,
diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomInfoFixture.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomInfoFixture.kt
index 0fc88d1d81..d7f9ccd6be 100644
--- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomInfoFixture.kt
+++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomInfoFixture.kt
@@ -17,6 +17,7 @@ import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.RoomNotificationMode
import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility
import io.element.android.libraries.matrix.api.room.join.JoinRule
+import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.tombstone.SuccessorRoom
import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.matrix.test.AN_AVATAR_URL
@@ -24,7 +25,6 @@ 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_ROOM_RAW_NAME
import io.element.android.libraries.matrix.test.A_ROOM_TOPIC
-import kotlinx.collections.immutable.ImmutableMap
import kotlinx.collections.immutable.persistentMapOf
import kotlinx.collections.immutable.toImmutableList
@@ -52,7 +52,10 @@ fun aRoomInfo(
notificationCount: Long = 0,
userDefinedNotificationMode: RoomNotificationMode? = null,
hasRoomCall: Boolean = false,
- userPowerLevels: ImmutableMap = persistentMapOf(),
+ roomPowerLevels: RoomPowerLevels = RoomPowerLevels(
+ values = defaultRoomPowerLevelValues(),
+ users = persistentMapOf(),
+ ),
activeRoomCallParticipants: List = emptyList(),
heroes: List = emptyList(),
pinnedEventIds: List = emptyList(),
@@ -86,7 +89,7 @@ fun aRoomInfo(
notificationCount = notificationCount,
userDefinedNotificationMode = userDefinedNotificationMode,
hasRoomCall = hasRoomCall,
- userPowerLevels = userPowerLevels,
+ roomPowerLevels = roomPowerLevels,
activeRoomCallParticipants = activeRoomCallParticipants.toImmutableList(),
heroes = heroes.toImmutableList(),
pinnedEventIds = pinnedEventIds.toImmutableList(),
diff --git a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt
index 27302a2d87..aab27e8a11 100644
--- a/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt
+++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt
@@ -18,6 +18,7 @@ import io.element.android.libraries.matrix.api.room.RoomNotificationMode
import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility
import io.element.android.libraries.matrix.api.room.join.JoinRule
import io.element.android.libraries.matrix.api.room.message.RoomMessage
+import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.tombstone.SuccessorRoom
import io.element.android.libraries.matrix.api.roomlist.RoomSummary
import io.element.android.libraries.matrix.api.timeline.item.event.EventTimelineItem
@@ -29,7 +30,6 @@ import io.element.android.libraries.matrix.test.A_ROOM_RAW_NAME
import io.element.android.libraries.matrix.test.A_ROOM_TOPIC
import io.element.android.libraries.matrix.test.A_USER_ID
import io.element.android.libraries.matrix.test.timeline.anEventTimelineItem
-import kotlinx.collections.immutable.ImmutableMap
import kotlinx.collections.immutable.persistentMapOf
import kotlinx.collections.immutable.toPersistentList
@@ -65,7 +65,10 @@ fun aRoomSummary(
notificationCount: Long = 0,
userDefinedNotificationMode: RoomNotificationMode? = null,
hasRoomCall: Boolean = false,
- userPowerLevels: ImmutableMap = persistentMapOf(),
+ roomPowerLevels: RoomPowerLevels = RoomPowerLevels(
+ values = defaultRoomPowerLevelValues(),
+ users = persistentMapOf(),
+ ),
activeRoomCallParticipants: List = emptyList(),
heroes: List = emptyList(),
pinnedEventIds: List = emptyList(),
@@ -97,7 +100,7 @@ fun aRoomSummary(
activeMembersCount = activeMembersCount,
invitedMembersCount = invitedMembersCount,
joinedMembersCount = joinedMembersCount,
- userPowerLevels = userPowerLevels,
+ roomPowerLevels = roomPowerLevels,
highlightCount = highlightCount,
notificationCount = notificationCount,
userDefinedNotificationMode = userDefinedNotificationMode,
diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomState.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomState.kt
index ba32d01e8a..0080eea700 100644
--- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomState.kt
+++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomState.kt
@@ -106,7 +106,7 @@ fun BaseRoom.userPowerLevelAsState(updateKey: Long): State {
@Composable
fun BaseRoom.isOwnUserAdmin(): Boolean {
val roomInfo by roomInfoFlow.collectAsState()
- val powerLevel = roomInfo.userPowerLevels[sessionId] ?: 0L
+ val powerLevel = roomInfo.roomPowerLevels?.users?.get(sessionId) ?: 0L
return RoomMember.Role.forPowerLevel(powerLevel) == RoomMember.Role.ADMIN
}
diff --git a/libraries/matrixui/src/main/res/values-da/translations.xml b/libraries/matrixui/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..5b4970f003
--- /dev/null
+++ b/libraries/matrixui/src/main/res/values-da/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "Send invitation"
+ "Kunne du tænke dig at starte en samtale med %1$s?"
+ "Send invitation?"
+ "%1$s(%2$s ) inviterede dig"
+
diff --git a/libraries/mediaviewer/impl/src/main/res/values-bg/translations.xml b/libraries/mediaviewer/impl/src/main/res/values-bg/translations.xml
new file mode 100644
index 0000000000..e6874e6743
--- /dev/null
+++ b/libraries/mediaviewer/impl/src/main/res/values-bg/translations.xml
@@ -0,0 +1,6 @@
+
+
+ "Файлове"
+ "Медия"
+ "Медия и файлове"
+
diff --git a/libraries/mediaviewer/impl/src/main/res/values-da/translations.xml b/libraries/mediaviewer/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..5d88458495
--- /dev/null
+++ b/libraries/mediaviewer/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,21 @@
+
+
+ "Denne fil vil blive fjernet fra rummet, og medlemmer vil ikke længere have adgang til den."
+ "Vil du slette filen?"
+ "Tjek din internetforbindelse, og prøv igen."
+ "Dokumenter, lydfiler og stemmemeddelelser uploadet til dette rum vises her."
+ "Ingen filer uploadet endnu"
+ "Indlæser filer…"
+ "Indlæser medier…"
+ "Filer"
+ "Medier"
+ "Billeder og videoer uploadet til dette rum vil blive vist her."
+ "Ingen medier uploadet endnu"
+ "Medier og filer"
+ "Filformat"
+ "Filnavn"
+ "Ikke flere filer at vise"
+ "Ikke flere medier at vise"
+ "Uploadet af"
+ "Uploadet på"
+
diff --git a/libraries/mediaviewer/impl/src/main/res/values-el/translations.xml b/libraries/mediaviewer/impl/src/main/res/values-el/translations.xml
index 93571105ca..c273012001 100644
--- a/libraries/mediaviewer/impl/src/main/res/values-el/translations.xml
+++ b/libraries/mediaviewer/impl/src/main/res/values-el/translations.xml
@@ -3,13 +3,13 @@
"Αυτό το αρχείο θα αφαιρεθεί από την αίθουσα και τα μέλη δεν θα έχουν πρόσβαση σε αυτό."
"Διαγραφή αρχείου;"
"Ελέγξτε τη σύνδεσή σας στο διαδίκτυο και δοκιμάστε ξανά."
- "Έγγραφα, αρχεία ήχου και φωνητικά μηνύματα που έχουν μεταφορτωθεί σε αυτό το δωμάτιο θα εμφανίζονται εδώ."
+ "Τα έγγραφα, τα αρχεία ήχου και τα φωνητικά μηνύματα που μεταφορτώνονται σε αυτή την αίθουσα θα εμφανίζονται εδώ."
"Δεν έχουν μεταφορτωθεί ακόμα αρχεία"
"Φόρτωση αρχείων…"
"Φόρτωση πολυμέσων…"
"Αρχεία"
"Πολυμέσα"
- "Εικόνες και βίντεο που μεταφορτώνονται σε αυτό το δωμάτιο θα εμφανίζονται εδώ."
+ "Οι εικόνες και τα βίντεο που μεταφορτώνονται σε αυτή την αίθουσα θα εμφανίζονται εδώ."
"Δεν έχουν μεταφορτωθεί ακόμα πολυμέσα"
"Πολυμέσα και αρχεία"
"Μορφή αρχείου"
diff --git a/libraries/permissions/api/src/main/res/values-da/translations.xml b/libraries/permissions/api/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..8c823f75dd
--- /dev/null
+++ b/libraries/permissions/api/src/main/res/values-da/translations.xml
@@ -0,0 +1,7 @@
+
+
+ "For at lade applikationen bruge kameraet, skal du give tilladelsen i systemindstillingerne."
+ "Giv venligst tilladelsen i systemindstillingerne."
+ "For at lade applikationen bruge mikrofonen, skal du give tilladelsen i systemindstillingerne."
+ "For at lade applikationen vise notifikationer, skal du give tilladelsen i systemindstillingerne."
+
diff --git a/libraries/permissions/impl/src/main/res/values-da/translations.xml b/libraries/permissions/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..871610e35d
--- /dev/null
+++ b/libraries/permissions/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,5 @@
+
+
+ "Kontroller, at applikationen kan vise underretninger."
+ "Kontroller tilladelser"
+
diff --git a/libraries/push/impl/src/main/res/values-be/translations.xml b/libraries/push/impl/src/main/res/values-be/translations.xml
index 176986d759..7a30be6f01 100644
--- a/libraries/push/impl/src/main/res/values-be/translations.xml
+++ b/libraries/push/impl/src/main/res/values-be/translations.xml
@@ -15,7 +15,6 @@
- "%d апавяшчэнні"
- "%d апавяшчэнняў"
- "Апавяшчэнне"
"📹 Уваходны выклік"
"** Не атрымалася даслаць - калі ласка, адкрыйце пакой"
"Далучыцца"
diff --git a/libraries/push/impl/src/main/res/values-bg/translations.xml b/libraries/push/impl/src/main/res/values-bg/translations.xml
index 821ca2f5d8..ca1d5c08c8 100644
--- a/libraries/push/impl/src/main/res/values-bg/translations.xml
+++ b/libraries/push/impl/src/main/res/values-bg/translations.xml
@@ -10,7 +10,6 @@
- "%d известие"
- "%d известия"
- "Известие"
"** Неуспешно изпращане - моля, отворете стаята"
"Присъединяване"
diff --git a/libraries/push/impl/src/main/res/values-da/translations.xml b/libraries/push/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..7888c16f7c
--- /dev/null
+++ b/libraries/push/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,81 @@
+
+
+ "Opkald"
+ "Lytter efter begivenheder"
+ "Lyd på notifikationer"
+ "Ringende opkald"
+ "Lydløse notifikationer"
+
+ - "%1$s: %2$d besked"
+ - "%1$s: %2$d beskeder"
+
+
+ - "%d notifikation"
+ - "%d notifikationer"
+
+ "📹 Indgående opkald"
+ "** Kunne ikke sende - åbn venligst rummet"
+ "Deltag"
+ "Afvis"
+
+ - "%d invitation"
+ - "%d invitationer"
+
+ "Inviterede dig til at samtale"
+ "%1$s inviterede dig til at samtale"
+ "Nævnte dig: %1$s"
+ "Nye beskeder"
+
+ - "%d ny besked"
+ - "%d nye beskeder"
+
+ "Reagerede med%1$s"
+ "Marker som læst"
+ "Hurtigt svar"
+ "Inviterede dig til at deltage i rummet"
+ "%1$s inviterede dig til at deltage i rummet"
+ "Mig"
+ "%1$s nævnt eller besvaret"
+ "Du ser notifikationen! Klik på mig!"
+ "%1$s: %2$s"
+ "%1$s: %2$s %3$s"
+
+ - "%d ulæst besked"
+ - "%d ulæste beskeder"
+
+ "%1$s og %2$s"
+ "%1$s i %2$s"
+ "%1$s i %2$s og %3$s"
+
+ - "%d rum"
+ - "%d rum"
+
+ "Synkronisering i baggrunden"
+ "Google-tjenester"
+ "Der blev ikke fundet nogen gyldige Google Play-tjenester. Notifikationer fungerer muligvis ikke korrekt."
+ "Få navnet på den aktuelle udbyder."
+ "Ingen push-udbydere valgt."
+ "Nuværende push-udbyder: %1$s."
+ "Nuværende push-udbyder"
+ "Sørg for, at programmet understøtter mindst én push-udbyder."
+ "Ingen push-udbyder understøttelse fundet."
+
+ - "Fandt %1$d push-udbyder: %2$s"
+ - "Fandt %1$d push-udbydere: %2$s"
+
+ "Applikationen blev bygget med støtte til: %1$s"
+ "Understøttelse af push-udbydere"
+ "Kontrollér, at appen kan vise notifikationer."
+ "Der er ikke blevet klikket på meddelelsen."
+ "Kan ikke vise notifikationen."
+ "Der er blevet klikket på notifikationen!"
+ "Vis notifikation"
+ "Klik venligst på notifikationen for at fortsætte testen."
+ "Sørg for, at applikationen modtager push."
+ "Fejl: pusher har afvist anmodningen."
+ "Fejl: %1$s."
+ "Fejl, kan ikke teste push."
+ "Fejl, timeout venter på push."
+ "Push loop back tog %1$d ms."
+ "Afprøv Push loop back"
+
diff --git a/libraries/push/impl/src/main/res/values-de/translations.xml b/libraries/push/impl/src/main/res/values-de/translations.xml
index 9e344fb62d..a1e2553034 100644
--- a/libraries/push/impl/src/main/res/values-de/translations.xml
+++ b/libraries/push/impl/src/main/res/values-de/translations.xml
@@ -13,7 +13,6 @@
- "%d Mitteilung"
- "%d Mitteilungen"
- "Mitteilung"
"Eingehender Anruf"
"** Fehler beim Senden - bitte Raum öffnen"
"Beitreten"
diff --git a/libraries/push/impl/src/main/res/values-el/translations.xml b/libraries/push/impl/src/main/res/values-el/translations.xml
index bb7241ffe3..da21ccfce7 100644
--- a/libraries/push/impl/src/main/res/values-el/translations.xml
+++ b/libraries/push/impl/src/main/res/values-el/translations.xml
@@ -13,9 +13,9 @@
- "%d ειδοποίηση"
- "%d ειδοποιήσεις"
- "Γνωστοποίηση"
+ "Έχεις νέο(α) μήνυμα(τα)."
"📹 Εισερχόμενη κλήση"
- "** Αποτυχία αποστολής - παρακαλώ άνοιξε το δωμάτιο"
+ "** Αποτυχία αποστολής - παρακαλώ ανοίξτε την αίθουσα"
"Συμμετοχή"
"Απόρριψη"
@@ -33,8 +33,8 @@
"Αντέδρασε με %1$s"
"Επισήμανση ως αναγνωσμένου"
"Γρήγορη απάντηση"
- "Σέ προσκάλεσε να συμμετάσχεις στο δωμάτιο"
- "Ο χρήστης %1$s σε προσκάλεσε να συμμετάσχεις στο δωμάτιο"
+ "Σας προσκάλεσε να ενταχθείτε στην αίθουσα"
+ "%1$s σας προσκάλεσε να συμμετάσχετε στην αίθουσα"
"Εγώ"
"Ο χρήστης %1$s αναφέρθηκε ή απάντησε"
"Βλέπεις την ειδοποίηση! Κάνε μου κλικ!"
@@ -48,8 +48,8 @@
"%1$s σε %2$s"
"%1$s σε %2$s και %3$s"
- - "%d δωμάτιο"
- - "%d δωμάτια"
+ - "%d αίθουσα"
+ - "%d αίθουσες"
"Συγχρονισμός στο παρασκήνιο"
"Υπηρεσίες Google"
diff --git a/libraries/push/impl/src/main/res/values-es/translations.xml b/libraries/push/impl/src/main/res/values-es/translations.xml
index 0fcfe9994d..4200cb9baf 100644
--- a/libraries/push/impl/src/main/res/values-es/translations.xml
+++ b/libraries/push/impl/src/main/res/values-es/translations.xml
@@ -13,7 +13,6 @@
- "%d notificación"
- "%d notificaciones"
- "Notificación"
"📹 Llamada entrante"
"** No se ha podido enviar - por favor, abre la sala"
"Unirse"
diff --git a/libraries/push/impl/src/main/res/values-et/translations.xml b/libraries/push/impl/src/main/res/values-et/translations.xml
index dba0b86774..0484f0008c 100644
--- a/libraries/push/impl/src/main/res/values-et/translations.xml
+++ b/libraries/push/impl/src/main/res/values-et/translations.xml
@@ -13,7 +13,7 @@
- "%d teavitus"
- "%d teavitust"
- "Teavitus"
+ "Sulle on uusi sõnumeid."
"📹 Sissetulev kõne"
"** Saatmine ei õnnestunud - palun ava jututoa täisvaade"
"Liitu"
diff --git a/libraries/push/impl/src/main/res/values-eu/translations.xml b/libraries/push/impl/src/main/res/values-eu/translations.xml
index ba7ef87619..f548b40c34 100644
--- a/libraries/push/impl/src/main/res/values-eu/translations.xml
+++ b/libraries/push/impl/src/main/res/values-eu/translations.xml
@@ -12,7 +12,6 @@
- "jakinarazpen %d"
- "%d jakinarazpen"
- "Jakinarazpena"
"Deia jasotzen"
"** Huts egin du bidalketak - ireki gela"
"Elkartu"
diff --git a/libraries/push/impl/src/main/res/values-fi/translations.xml b/libraries/push/impl/src/main/res/values-fi/translations.xml
index 1b6fa8377a..95e1b340b1 100644
--- a/libraries/push/impl/src/main/res/values-fi/translations.xml
+++ b/libraries/push/impl/src/main/res/values-fi/translations.xml
@@ -13,7 +13,6 @@
- "%d ilmoitus"
- "%d ilmoitusta"
- "Ilmoitus"
"📹 Saapuva puhelu"
"** Lähetys epäonnistui - avaa huone"
"Liity"
diff --git a/libraries/push/impl/src/main/res/values-fr/translations.xml b/libraries/push/impl/src/main/res/values-fr/translations.xml
index 8b59a18fd9..0069c1e5a7 100644
--- a/libraries/push/impl/src/main/res/values-fr/translations.xml
+++ b/libraries/push/impl/src/main/res/values-fr/translations.xml
@@ -13,7 +13,7 @@
- "%d notification"
- "%d notifications"
- "Notification"
+ "Vous avez de nouveau(x) message(s)."
"📹 Appel entrant"
"** Échec de l’envoi - veuillez ouvrir le salon"
"Rejoindre"
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 204b719abf..58ac1a0028 100644
--- a/libraries/push/impl/src/main/res/values-in/translations.xml
+++ b/libraries/push/impl/src/main/res/values-in/translations.xml
@@ -11,7 +11,6 @@
- "%d pemberitahuan"
- "Notifikasi"
"📹 Panggilan masuk"
"** Gagal mengirim — silakan buka ruangan"
"Gabung"
diff --git a/libraries/push/impl/src/main/res/values-it/translations.xml b/libraries/push/impl/src/main/res/values-it/translations.xml
index a5ad1a76b3..73130fc8d5 100644
--- a/libraries/push/impl/src/main/res/values-it/translations.xml
+++ b/libraries/push/impl/src/main/res/values-it/translations.xml
@@ -13,7 +13,6 @@
- "%d notifica"
- "%d notifiche"
- "Notifica"
"📹 Chiamata in arrivo"
"** Invio fallito - si prega di aprire la stanza"
"Entra"
diff --git a/libraries/push/impl/src/main/res/values-ka/translations.xml b/libraries/push/impl/src/main/res/values-ka/translations.xml
index a49f803c2a..3a0d626016 100644
--- a/libraries/push/impl/src/main/res/values-ka/translations.xml
+++ b/libraries/push/impl/src/main/res/values-ka/translations.xml
@@ -12,7 +12,6 @@
- "%d შეტყობინება"
- "%d შეტყობინება"
- "შეტყობინება"
"** გაგზავნა ვერ მოხერხდა - გთხოვთ, გახსნათ ოთახი"
"გაწევრიანება"
diff --git a/libraries/push/impl/src/main/res/values-lt/translations.xml b/libraries/push/impl/src/main/res/values-lt/translations.xml
index d3ba403c1a..b894a9cf99 100644
--- a/libraries/push/impl/src/main/res/values-lt/translations.xml
+++ b/libraries/push/impl/src/main/res/values-lt/translations.xml
@@ -14,7 +14,6 @@
- "%d pranešimai"
- "%d pranešimų"
- "Pranešimas"
"** Nepavyko išsiųsti - prašome atidaryti kambarį"
- "%d kvietimas"
diff --git a/libraries/push/impl/src/main/res/values-nb/translations.xml b/libraries/push/impl/src/main/res/values-nb/translations.xml
index 2607e4d17d..1be74244aa 100644
--- a/libraries/push/impl/src/main/res/values-nb/translations.xml
+++ b/libraries/push/impl/src/main/res/values-nb/translations.xml
@@ -13,7 +13,7 @@
- "%d varsel"
- "%d varsler"
- "Varsel"
+ "Du har nye meldinger."
"📹 Innkommende anrop"
"** Kunne ikke sende - vennligst åpne rommet"
"Bli med"
diff --git a/libraries/push/impl/src/main/res/values-nl/translations.xml b/libraries/push/impl/src/main/res/values-nl/translations.xml
index 7057bdb19b..833c6e7107 100644
--- a/libraries/push/impl/src/main/res/values-nl/translations.xml
+++ b/libraries/push/impl/src/main/res/values-nl/translations.xml
@@ -13,7 +13,6 @@
- "%d melding"
- "%d meldingen"
- "Melding"
"📹 Inkomende oproep"
"** Verzenden is mislukt - open de kamer"
"Deelnemen"
diff --git a/libraries/push/impl/src/main/res/values-pl/translations.xml b/libraries/push/impl/src/main/res/values-pl/translations.xml
index cce31b3f99..818cd3edc4 100644
--- a/libraries/push/impl/src/main/res/values-pl/translations.xml
+++ b/libraries/push/impl/src/main/res/values-pl/translations.xml
@@ -15,7 +15,6 @@
- "%d powiadomienia"
- "%d powiadomień"
- "Powiadomienie"
"📹 Połączenie przychodzące"
"** Nie udało się wysłać - proszę otworzyć pokój"
"Dołącz"
diff --git a/libraries/push/impl/src/main/res/values-pt-rBR/translations.xml b/libraries/push/impl/src/main/res/values-pt-rBR/translations.xml
index 035ab9e575..e0e51b76a1 100644
--- a/libraries/push/impl/src/main/res/values-pt-rBR/translations.xml
+++ b/libraries/push/impl/src/main/res/values-pt-rBR/translations.xml
@@ -13,7 +13,6 @@
- "%d notificação"
- "%d notificações"
- "Notificação"
"📹 Chamada recebida"
"** Falha ao enviar - por favor, abra a sala"
"Entrar"
diff --git a/libraries/push/impl/src/main/res/values-pt/translations.xml b/libraries/push/impl/src/main/res/values-pt/translations.xml
index ad47d5385f..0a55a1dd7b 100644
--- a/libraries/push/impl/src/main/res/values-pt/translations.xml
+++ b/libraries/push/impl/src/main/res/values-pt/translations.xml
@@ -13,7 +13,7 @@
- "%d notificação"
- "%d notificações"
- "Notificação"
+ "Tens novas mensagens."
"📹 A receber chamada"
"** Falha no envio - por favor abre a sala"
"Entrar"
diff --git a/libraries/push/impl/src/main/res/values-ro/translations.xml b/libraries/push/impl/src/main/res/values-ro/translations.xml
index 48b1b19dff..14240a8d59 100644
--- a/libraries/push/impl/src/main/res/values-ro/translations.xml
+++ b/libraries/push/impl/src/main/res/values-ro/translations.xml
@@ -13,7 +13,6 @@
- "%d notificare"
- "%d notificări"
- "Notificare"
"Apel primit"
"** Trimiterea eșuată - vă rugăm să deschideți camera"
"Alăturați-vă"
diff --git a/libraries/push/impl/src/main/res/values-ru/translations.xml b/libraries/push/impl/src/main/res/values-ru/translations.xml
index e2dc7c0472..7345664ce0 100644
--- a/libraries/push/impl/src/main/res/values-ru/translations.xml
+++ b/libraries/push/impl/src/main/res/values-ru/translations.xml
@@ -15,7 +15,6 @@
- "%d уведомления"
- "%d уведомлений"
- "Уведомление"
"📹 Входящий вызов"
"** Не удалось отправить - пожалуйста, откройте комнату"
"Присоединиться"
diff --git a/libraries/push/impl/src/main/res/values-sk/translations.xml b/libraries/push/impl/src/main/res/values-sk/translations.xml
index d399483dd1..74ba29d78a 100644
--- a/libraries/push/impl/src/main/res/values-sk/translations.xml
+++ b/libraries/push/impl/src/main/res/values-sk/translations.xml
@@ -15,7 +15,7 @@
- "%d oznámenia"
- "%d oznámení"
- "Oznámenie"
+ "Máte nové správy."
"📹 Prichádzajúci hovor"
"** Nepodarilo sa odoslať - prosím otvorte miestnosť"
"Pripojiť sa"
diff --git a/libraries/push/impl/src/main/res/values-sv/translations.xml b/libraries/push/impl/src/main/res/values-sv/translations.xml
index 9fe878cbc5..fd3739915f 100644
--- a/libraries/push/impl/src/main/res/values-sv/translations.xml
+++ b/libraries/push/impl/src/main/res/values-sv/translations.xml
@@ -13,7 +13,6 @@
- "%d avisering"
- "%d aviseringar"
- "notis"
"📹 Inkommande samtal"
"** Misslyckades att skicka - vänligen öppna rummet"
"Gå med"
diff --git a/libraries/push/impl/src/main/res/values-tr/translations.xml b/libraries/push/impl/src/main/res/values-tr/translations.xml
index 06f21783be..183950f3b9 100644
--- a/libraries/push/impl/src/main/res/values-tr/translations.xml
+++ b/libraries/push/impl/src/main/res/values-tr/translations.xml
@@ -13,7 +13,6 @@
- "%d bildirim"
- "%d bildirim"
- "Bildirim"
"📹 Gelen çağrı"
"** Gönderilemedi - lütfen odayı açın"
"Katıl"
diff --git a/libraries/push/impl/src/main/res/values-uk/translations.xml b/libraries/push/impl/src/main/res/values-uk/translations.xml
index 016599e783..1aa535b1e2 100644
--- a/libraries/push/impl/src/main/res/values-uk/translations.xml
+++ b/libraries/push/impl/src/main/res/values-uk/translations.xml
@@ -15,7 +15,7 @@
- "%d сповіщення"
- "%d сповіщень"
- "Сповіщення"
+ "У вас є нові повідомлення."
"📹 Вхідний виклик"
"** Не вдалося надіслати - відкрийте кімнату"
"Доєднатися"
diff --git a/libraries/push/impl/src/main/res/values-ur/translations.xml b/libraries/push/impl/src/main/res/values-ur/translations.xml
index 900ff9db41..adcf03099b 100644
--- a/libraries/push/impl/src/main/res/values-ur/translations.xml
+++ b/libraries/push/impl/src/main/res/values-ur/translations.xml
@@ -13,7 +13,6 @@
- "%d اطلاع"
- "%d اطلاعات"
- "اطلاع"
"📹 آنے والا مکالمہ"
"** بھیجنے میں ناکام - براہ کرم کمرہ کھولیں"
"شامل ہوں"
diff --git a/libraries/push/impl/src/main/res/values-uz/translations.xml b/libraries/push/impl/src/main/res/values-uz/translations.xml
index badfd6d421..486b668b3e 100644
--- a/libraries/push/impl/src/main/res/values-uz/translations.xml
+++ b/libraries/push/impl/src/main/res/values-uz/translations.xml
@@ -12,7 +12,6 @@
- "%dbildirishnoma"
- "%dbildirishnomalar"
- "Bildirishnoma"
"** Yuborilmadi - iltimos, xonani oching"
"Qo\'shilish"
diff --git a/libraries/push/impl/src/main/res/values-zh-rTW/translations.xml b/libraries/push/impl/src/main/res/values-zh-rTW/translations.xml
index 1b25c81d7e..61178f6112 100644
--- a/libraries/push/impl/src/main/res/values-zh-rTW/translations.xml
+++ b/libraries/push/impl/src/main/res/values-zh-rTW/translations.xml
@@ -11,7 +11,6 @@
- "%d 個通知"
- "通知"
"📹 來電"
"** 無法傳送,請開啟聊天室"
"加入"
diff --git a/libraries/push/impl/src/main/res/values-zh/translations.xml b/libraries/push/impl/src/main/res/values-zh/translations.xml
index be2a8dbde1..94d156396a 100644
--- a/libraries/push/impl/src/main/res/values-zh/translations.xml
+++ b/libraries/push/impl/src/main/res/values-zh/translations.xml
@@ -11,7 +11,6 @@
- "%d 条通知"
- "通知"
"📹 来电"
"** 无法发送——请打开聊天室"
"加入"
diff --git a/libraries/pushproviders/firebase/src/main/res/values-da/translations.xml b/libraries/pushproviders/firebase/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..ea9afebf7f
--- /dev/null
+++ b/libraries/pushproviders/firebase/src/main/res/values-da/translations.xml
@@ -0,0 +1,11 @@
+
+
+ "Sørg for, at Firebase er tilgængelig."
+ "Firebase er ikke tilgængelig."
+ "Firebase er tilgængelig."
+ "Tjek Firebase"
+ "Sørg for, at Firebase-tokenet er tilgængeligt."
+ "Firebase-tokenet er ikke kendt."
+ "Firebase-token: %1$s."
+ "Tjek Firebase-token"
+
diff --git a/libraries/pushproviders/unifiedpush/src/main/res/values-da/translations.xml b/libraries/pushproviders/unifiedpush/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..b6d549b58f
--- /dev/null
+++ b/libraries/pushproviders/unifiedpush/src/main/res/values-da/translations.xml
@@ -0,0 +1,10 @@
+
+
+ "Sørg for, at UnifiedPush-distributører er tilgængelige."
+ "Ingen push-distributører fundet."
+
+ - "%1$d distributør fundet:%2$s."
+ - "%1$d distributører fundet:%2$s."
+
+ "Afprøv UnifiedPush"
+
diff --git a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt
index 815000c626..47216d7e88 100644
--- a/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt
+++ b/libraries/textcomposer/impl/src/main/kotlin/io/element/android/libraries/textcomposer/TextComposer.kt
@@ -178,17 +178,19 @@ fun TextComposer(
remember(state.richTextEditorState, composerMode, onResetComposerMode, onError) {
@Composable {
TextInputBox(
- modifier = Modifier.clickable(
- interactionSource = remember { MutableInteractionSource() },
- indication = null,
- ) {
- coroutineScope.launch {
- state.requestFocus()
- view.showKeyboard()
+ modifier = Modifier
+ .clickable(
+ interactionSource = remember { MutableInteractionSource() },
+ indication = null,
+ ) {
+ coroutineScope.launch {
+ state.requestFocus()
+ view.showKeyboard()
+ }
}
- }.semantics {
- hideFromAccessibility()
- },
+ .semantics {
+ hideFromAccessibility()
+ },
composerMode = composerMode,
onResetComposerMode = onResetComposerMode,
isTextEmpty = state.richTextEditorState.messageHtml.isEmpty(),
@@ -317,7 +319,7 @@ fun TextComposer(
IconColorButton(
onClick = onDismissTextFormatting,
imageVector = CompoundIcons.Close(),
- contentDescription = stringResource(CommonStrings.action_close),
+ contentDescription = stringResource(R.string.rich_text_editor_close_formatting_options),
)
},
textFormatting = textFormattingOptions,
diff --git a/libraries/textcomposer/impl/src/main/res/values-da/translations.xml b/libraries/textcomposer/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..c1b8bc6780
--- /dev/null
+++ b/libraries/textcomposer/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,32 @@
+
+
+ "Tilføj vedhæftet fil"
+ "Slå punktopstilling til/fra"
+ "Luk formateringsindstillinger"
+ "Slå kodeblok til/fra"
+ "Tilføj en billedtekst"
+ "Krypteret besked…"
+ "Besked…"
+ "Ukrypteret besked…"
+ "Opret et link"
+ "Rediger link"
+ "%1$s, tilstand: %2$s"
+ "Anvend fed skrift"
+ "Anvend kursiv"
+ "deaktiveret"
+ "slukket"
+ "aktiv"
+ "Anvend gennemstregning"
+ "Anvend understregning"
+ "Slå fuldskærmsvisning til/fra"
+ "Indrykning"
+ "Anvend inline kodeformat"
+ "Indstil link"
+ "Slå nummereret liste til/fra"
+ "Åbn skriveindstillinger"
+ "Slå citation til/fra"
+ "Fjern link"
+ "Fjern indrykning"
+ "Link"
+ "Hold nede for at optage"
+
diff --git a/libraries/textcomposer/impl/src/main/res/values-de/translations.xml b/libraries/textcomposer/impl/src/main/res/values-de/translations.xml
index e33c36e38e..90b37c584e 100644
--- a/libraries/textcomposer/impl/src/main/res/values-de/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-de/translations.xml
@@ -2,7 +2,6 @@
"Anhang hinzufügen"
"Aufzählungsliste umschalten"
- "Formatierungsoptionen schließen"
"Codeblock umschalten"
"Bildunterschrift hinzufügen"
"Verschlüsselte Nachricht…"
diff --git a/libraries/textcomposer/impl/src/main/res/values-el/translations.xml b/libraries/textcomposer/impl/src/main/res/values-el/translations.xml
index 200b1f660d..1c8f6c8b65 100644
--- a/libraries/textcomposer/impl/src/main/res/values-el/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-el/translations.xml
@@ -10,8 +10,12 @@
"Μη κρυπτογραφημένο μήνυμα…"
"Δημιούργησε έναν σύνδεσμο"
"Επεξεργασία συνδέσμου"
+ "%1$s, κατάσταση: %2$s"
"Εφαρμογή έντονης μορφής"
"Εφαρμογή πλάγιας μορφής"
+ "ανενεργό"
+ "κλειστό"
+ "ενεργό"
"Εφαρμογή μορφής διαγραφής"
"Εφαρμογή μορφής υπογράμμισης"
"Εναλλαγή λειτουργίας πλήρους οθόνης"
diff --git a/libraries/textcomposer/impl/src/main/res/values-et/translations.xml b/libraries/textcomposer/impl/src/main/res/values-et/translations.xml
index 0fb7b98de5..05c09aa335 100644
--- a/libraries/textcomposer/impl/src/main/res/values-et/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-et/translations.xml
@@ -2,7 +2,7 @@
"Lisa manus"
"Lülita mummudega loend sisse/välja"
- "Sulge vorminduse valikud"
+ "Katkesta ja sulge tekstivorminduse valikud"
"Lülita lähtekoodi lõik sisse/välja"
"Selgitus või nimi, kui soovid lisada…"
"Krüptitud sõnum…"
@@ -10,8 +10,12 @@
"Krüptimata sõnum…"
"Lisa link"
"Muuda linki"
+ "%1$s, olek: %2$s"
"Kasuta paksu kirja"
"Kasuta kaldkirja"
+ "pole kasutusel"
+ "väljas"
+ "sees"
"Kasuta läbikriipsutatud kirja"
"Kasuta allajoonitud kirja"
"Lülita täisekraanivaade sisse/välja"
diff --git a/libraries/textcomposer/impl/src/main/res/values-fr/translations.xml b/libraries/textcomposer/impl/src/main/res/values-fr/translations.xml
index 82f646931c..f21e9f90ba 100644
--- a/libraries/textcomposer/impl/src/main/res/values-fr/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-fr/translations.xml
@@ -2,7 +2,7 @@
"Ajouter une pièce jointe"
"Afficher une liste à puces"
- "Fermer les options de formatage"
+ "Annuler et fermer les options de formatage"
"Afficher le bloc de code"
"Légende facultative…"
"Message chiffré…"
diff --git a/libraries/textcomposer/impl/src/main/res/values-hu/translations.xml b/libraries/textcomposer/impl/src/main/res/values-hu/translations.xml
index cad42803fc..462b18aa9f 100644
--- a/libraries/textcomposer/impl/src/main/res/values-hu/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-hu/translations.xml
@@ -2,7 +2,7 @@
"Melléklet hozzáadása"
"Felsorolás be/ki"
- "Formázási beállítások bezárása"
+ "Mégse, és a formázási beállítások bezárása"
"Kódblokk be/ki"
"Felirat hozzáadása…"
"Titkosított üzenet…"
diff --git a/libraries/textcomposer/impl/src/main/res/values-pt/translations.xml b/libraries/textcomposer/impl/src/main/res/values-pt/translations.xml
index 48ea1ad27a..2eb61ac739 100644
--- a/libraries/textcomposer/impl/src/main/res/values-pt/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-pt/translations.xml
@@ -2,7 +2,7 @@
"Adicionar anexo"
"Ativar/desativar lista de pontos"
- "Fechar opções de formatação"
+ "Cancelar e fechar opções de formatação"
"Ativar/desativar bloco de código"
"Legenda opcional…"
"Mensagem encriptada…"
@@ -10,8 +10,12 @@
"Mensagem não encriptada…"
"Criar uma ligação"
"Editar ligação"
+ "%1$s, estado: %2$s"
"Aplicar negrito"
"Aplicar itálico"
+ "desativado"
+ "desligado"
+ "ligado"
"Aplicar rasura"
"Aplicar sublinhado"
"Entrar/sair do modo de ecrã inteiro"
diff --git a/libraries/textcomposer/impl/src/main/res/values-sk/translations.xml b/libraries/textcomposer/impl/src/main/res/values-sk/translations.xml
index fa2d3a11df..7b46624011 100644
--- a/libraries/textcomposer/impl/src/main/res/values-sk/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-sk/translations.xml
@@ -2,7 +2,7 @@
"Pridať prílohu"
"Prepnúť zoznam odrážok"
- "Zatvoriť možnosti formátovania"
+ "Zrušiť a zatvoriť formátovanie textu"
"Prepnúť blok kódu"
"Voliteľný titulok…"
"Šifrovaná správa…"
@@ -10,8 +10,12 @@
"Nešifrovaná správa…"
"Vytvoriť odkaz"
"Upraviť odkaz"
+ "%1$s, stav: %2$s"
"Použiť tučný formát"
"Použiť formát kurzívy"
+ "zakázané"
+ "vypnuté"
+ "zapnuté"
"Použiť formát prečiarknutia"
"Použiť formát podčiarknutia"
"Prepnúť režim celej obrazovky"
diff --git a/libraries/textcomposer/impl/src/main/res/values-uk/translations.xml b/libraries/textcomposer/impl/src/main/res/values-uk/translations.xml
index 8eb5561bfc..6a386e9d74 100644
--- a/libraries/textcomposer/impl/src/main/res/values-uk/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-uk/translations.xml
@@ -10,8 +10,10 @@
"Незашифроване повідомлення…"
"Створити посилання"
"Редагувати посилання"
+ "%1$s, стан: %2$s"
"Жирний формат"
"Курсивний формат"
+ "вимкнено"
"Застосувати формат закреслення"
"Застосувати формат підкреслення"
"Перемкнути повноекранний режим"
diff --git a/libraries/textcomposer/impl/src/main/res/values-zh/translations.xml b/libraries/textcomposer/impl/src/main/res/values-zh/translations.xml
index d1fe69e539..7fbdc32c2e 100644
--- a/libraries/textcomposer/impl/src/main/res/values-zh/translations.xml
+++ b/libraries/textcomposer/impl/src/main/res/values-zh/translations.xml
@@ -10,8 +10,12 @@
"未加密的消息…"
"创建链接"
"编辑链接"
+ "%1$s,状态:%2$s"
"应用粗体格式"
"应用斜体格式"
+ "已禁用"
+ "关"
+ "开"
"应用删除线格式"
"应用下划线格式"
"切换全屏模式"
diff --git a/libraries/textcomposer/impl/src/main/res/values/localazy.xml b/libraries/textcomposer/impl/src/main/res/values/localazy.xml
index 2be7a12577..89331da7ed 100644
--- a/libraries/textcomposer/impl/src/main/res/values/localazy.xml
+++ b/libraries/textcomposer/impl/src/main/res/values/localazy.xml
@@ -2,7 +2,7 @@
"Add attachment"
"Toggle bullet list"
- "Close formatting options"
+ "Cancel and close text formatting"
"Toggle code block"
"Add a caption"
"Encrypted message…"
diff --git a/libraries/troubleshoot/impl/src/main/res/values-da/translations.xml b/libraries/troubleshoot/impl/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..c6c913dfa4
--- /dev/null
+++ b/libraries/troubleshoot/impl/src/main/res/values-da/translations.xml
@@ -0,0 +1,12 @@
+
+
+ "Push-historik"
+ "Kør test"
+ "Kør test igen"
+ "Nogle tests mislykkedes. Tjek venligst detaljerne."
+ "Kør testene for at registrere de problemer i din konfiguration, der kan medføre, at meddelelser ikke opfører sig som forventet."
+ "Forsøg på at reparere"
+ "Alle tests bestået med succes."
+ "Fejlfinding af meddelelser"
+ "Nogle tests kræver din opmærksomhed. Tjek venligst detaljerne."
+
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 2fbe44f312..0a508dfd5e 100644
--- a/libraries/ui-strings/src/main/res/values-be/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-be/translations.xml
@@ -28,7 +28,7 @@
"Прачытана %1$s"
"Націсніце, каб паказаць усе"
- "Выдаліць рэакцыю з %1$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 d23c6d5dbf..f6f999a1a1 100644
--- a/libraries/ui-strings/src/main/res/values-bg/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-bg/translations.xml
@@ -23,10 +23,11 @@
- "Прочетено от %1$s и %2$d други"
"Прочетено от %1$s"
- "Премахване на реакция с %1$s"
+ "Премахване на реакция с %1$s"
"Изпращане на файлове"
"Показване на паролата"
"Потребителско меню"
+ "Вижте подробности"
"Приемане"
"Назад"
"Отказ"
@@ -39,9 +40,13 @@
"Копиране"
"Копиране на връзката"
"Копиране на връзката към съобщението"
+ "Копиране на текста"
"Създаване"
"Създаване на стая"
+ "Деактивиране"
+ "Деактивиране на акаунта"
"Отхвърляне"
+ "Отхвърляне и блокиране"
"Изтриване на анкетата"
"Деактивиране"
"Готово"
@@ -52,6 +57,7 @@
"Въведете PIN"
"Забравена парола?"
"Препращане"
+ "Игнориране"
"Поканване"
"Поканване на хора"
"Поканване на хора в %1$s"
@@ -64,16 +70,19 @@
"Напускане на стаята"
"Зареждане на още"
"Управление на профила"
- "Управление на устройства"
+ "Управление на устройствата"
+ "Съобщение"
"Не"
"Не сега"
"Добре"
"Настройки"
"Отваряне с"
+ "Закачане"
"Бърз отговор"
"Цитат"
"Реакция"
"Премахване"
+ "Премахване на съобщението"
"Отговор"
"Отговор в нишка"
"Докладване на съдържанието"
@@ -85,6 +94,7 @@
"Изпращане на съобщение"
"Споделяне"
"Споделяне на връзката"
+ "Показване"
"Влизане отново"
"Изход"
"Излизане въпреки това"
@@ -97,6 +107,7 @@
"Повторен опит"
"Преглед на източника"
"Да"
+ "Да, опитай отново"
"Относно"
"Разширени настройки"
"Статистика"
@@ -109,19 +120,27 @@
"Грешка при разшифроване"
"Опции за разработчици"
"Директен чат"
+ "Не показвай това отново"
+ "Изтегля се"
"(редактирано)"
"Редактиране"
"* %1$s %2$s"
+ "Празен файл"
+ "Шифроване"
"Шифроването е включено"
"Въведете своя PIN"
"Грешка"
+ "Всеки"
"Фаворизиране"
"Файл"
+ "Файлът е изтрит"
+ "Файлът е запазен"
"Препращане на съобщението"
"GIF"
"Изображение"
"В отговор на %1$s"
"Инсталиране на APK"
+ "Стаята се напуска"
"Светъл"
"Връзката е копирана в клипборда"
"Зарежда се…"
@@ -139,12 +158,14 @@
"Модерно"
"Заглушаване"
"Няма резултати"
+ "Без шифроване"
"Офлайн"
"или"
"Парола"
"Хора"
"Постоянна връзка"
"Разрешение"
+ "Моля, изчакайте…"
"Сигурни ли сте, че искате да приключите тази анкета?"
"Анкета: %1$s"
"Общо гласове: %1$s"
@@ -156,6 +177,7 @@
"Политика за поверителност"
"Реакция"
"Реакции"
+ "Причина"
"Ключ за възстановяване"
"Съобщаване за грешка"
"Съобщаване за проблем"
@@ -163,6 +185,7 @@
"Стая"
"Име на стаята"
"напр. името на вашия проект"
+ "Запазва се"
"Заключване на екрана"
"Търсене на някого"
"Резултати от търсенето"
@@ -175,6 +198,7 @@
"Настройки"
"Споделено местоположение"
"Излизате"
+ "Възникна проблем. Моля, опитайте отново."
"Започване на чат…"
"Успешно"
"Предложения"
@@ -192,16 +216,23 @@
"Потребителско име"
"Потвърждаването е отменено"
"Потвърждаването е завършено"
+ "Неуспешно потвърждаване"
+ "Потвърден"
"Потвърждаване на устройството"
+ "Потвърждаване на самоличността"
+ "Потвърждаване на потребителя"
"Видео"
"Гласово съобщение"
"В очакване на това съобщение"
+ "Вие"
"Грешка"
"Успешно"
"Внимание"
+ "Без шифроване"
"🔐️ Присъединете се към мен в %1$s"
"Хей, говорете с мен в %1$s: %2$s"
"%1$s Android"
+ "Закачени съобщения"
"Споделяне на местоположение"
"Споделяне на моето местоположение"
"Отваряне в Apple Maps"
@@ -211,4 +242,6 @@
"Местоположение"
"Версия: %1$s (%2$s)"
"bg"
+ "Трябва да потвърдите това устройство за да достъпите исторически съобщения"
+ "Съобщението не може да се разшифрова"
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 b4c26ab1e0..7091d73b8b 100644
--- a/libraries/ui-strings/src/main/res/values-cs/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-cs/translations.xml
@@ -1,5 +1,6 @@
+ "Přidat reakci: %1$s"
"Profilový obrázek"
"Smazat"
@@ -29,7 +30,8 @@
"%1$s přečetl(a)"
"Klepnutím zobrazíte vše"
- "Odstraňit reakci s %1$s"
+ "Odstraňit reakci s %1$s"
+ "Odstranit reakci pomocí %1$s"
"Odeslat soubory"
"Zobrazit heslo"
"Zahájit hovor"
@@ -140,15 +142,13 @@
"Zobrazit zdroj"
"Ano"
"Ano, zkusit znovu"
- "Zakažte optimalizaci baterie pro tuto aplikaci, abyste měli jistotu, že budou přijata všechna oznámení."
- "Zakázat optimalizaci"
- "Nepřicházejí vám oznámení?"
"Váš server nyní podporuje nový, rychlejší protokol. Chcete-li upgradovat, odhlaste se a znovu se přihlaste. Pokud to uděláte nyní, pomůže vám vyhnout se nucenému odhlášení, když bude starý protokol později odstraněn."
"Upgrade k dispozici"
"O aplikaci"
"Zásady používání"
"Přidání titulku"
"Pokročilá nastavení"
+ "obrázek"
"Analytika"
"Vzhled"
"Zvuk"
@@ -248,6 +248,9 @@ Důvod: %1$s."
"Důvod"
"Klíč pro obnovení"
"Obnovování…"
+
+ - "%1$d odpovědí"
+
"Odpověď na %1$s"
"Nahlásit chybu"
"Nahlásit problém"
@@ -267,6 +270,7 @@ Důvod: %1$s."
"Odesílání…"
"Odeslání se nezdařilo"
"Odesláno"
+ ". "
"Server není podporován"
"URL serveru"
"Nastavení"
@@ -352,6 +356,10 @@ Opravdu chcete pokračovat?"
"Ahoj, ozvi se mi na %1$s: %2$s"
"%1$s Android"
"Zatřeste zařízením pro nahlášení chyby"
+ "%1$s: %2$s"
+ "Možnosti"
+ "Odstranit %1$s"
+ "Nastavení"
"Výběr média se nezdařil, zkuste to prosím znovu."
"Titulky nemusí být viditelné pro lidi, kteří používají starší aplikace."
"Nahrání média se nezdařilo, zkuste to prosím znovu."
@@ -377,17 +385,14 @@ Opravdu chcete pokračovat?"
"Nahrání média se nezdařilo, zkuste to prosím znovu."
"Nepodařilo se načíst údaje o uživateli"
"Zpráva v %1$s"
+ "Rozbalit"
+ "Zmenšit"
+ "Již si prohlížíte tuto místnost!"
"%1$s z %2$s"
"%1$s Připnuté zprávy"
"Načítání zprávy…"
"Zobrazit vše"
- "Přejít do nové místnosti"
- "Tato místnost byla nahrazena a již není aktivní"
- "Zobrazit staré zprávy"
- "Tato místnost je pokračováním jiné místnosti"
"Chat"
- "Žádost o vstup odeslána"
- "Tato místnost byla aktualizována"
"Sdílet polohu"
"Sdílet moji polohu"
"Otevřít v Mapách Apple"
diff --git a/libraries/ui-strings/src/main/res/values-cy/translations.xml b/libraries/ui-strings/src/main/res/values-cy/translations.xml
index 52c1046030..8047acb810 100644
--- a/libraries/ui-strings/src/main/res/values-cy/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-cy/translations.xml
@@ -35,7 +35,7 @@
"Wedi\'i ddarllen gan %1$s"
"Tapio i ddangos y cyfan"
- "Wedi dileu adwaith gyda %1$s"
+ "Wedi dileu adwaith gyda %1$s"
"Anfon ffeiliau"
"Dangos y cyfrinair"
"Cychwyn galwad"
diff --git a/libraries/ui-strings/src/main/res/values-da/translations.xml b/libraries/ui-strings/src/main/res/values-da/translations.xml
new file mode 100644
index 0000000000..14b637216f
--- /dev/null
+++ b/libraries/ui-strings/src/main/res/values-da/translations.xml
@@ -0,0 +1,402 @@
+
+
+ "Avatar"
+ "Slet"
+
+ - "%1$d ciffer indtastet"
+ - "%1$d cifre indtastet"
+
+ "Skjul adgangskode"
+ "Deltag i opkald"
+ "Hop til bunden"
+ "Kun omtaler"
+ "Lyd slået fra"
+ "Side %1$d"
+ "Pausér"
+ "Talebesked, varighed: %1$s, aktuel position: %2$s"
+ "PIN-felt"
+ "Afspil"
+ "Afstemning"
+ "Afsluttet afstemning"
+ "Reager med%1$s"
+ "Reager med andre emojis"
+ "Læs af %1$s og %2$s"
+
+ - "Læst af %1$s og %2$d andre"
+ - "Læst af %1$s og %2$d andre"
+
+ "Læst af%1$s"
+ "Tryk for at vise alle"
+ "Fjern reaktion med%1$s"
+ "Send filer"
+ "Vis adgangskode"
+ "Start et opkald"
+ "Brugermenu"
+ "Se detaljer"
+ "Talebesked, varighed: %1$s"
+ "Optag talebesked."
+ "Stop optagelsen"
+ "Accepter"
+ "Tilføj billedtekst"
+ "Føj til tidslinje"
+ "Tilbage"
+ "Opkald"
+ "Anullér"
+ "Spring over ind til videre"
+ "Vælg billede"
+ "Ryd"
+ "Luk"
+ "Fuldfør verifikation"
+ "Bekræft"
+ "Bekræft adgangskode"
+ "Fortsæt"
+ "Kopiér"
+ "Kopiér billedtekst"
+ "Kopiér link"
+ "Kopier link til besked"
+ "Kopiér tekst"
+ "Opret"
+ "Opret et rum"
+ "Deaktiver"
+ "Deaktiver konto"
+ "Afvis"
+ "Afvis og blokér"
+ "Slet afstemning"
+ "Deaktiver"
+ "Kassér"
+ "Afvis"
+ "Færdig"
+ "Redigér"
+ "Rediger billedtekst"
+ "Redigér afstemning"
+ "Slå til"
+ "Afslut afstemning"
+ "Indtast PIN-kode"
+ "Har du glemt din adgangskode?"
+ "Videresend"
+ "Gå tilbage"
+ "Ignorér"
+ "Invitér"
+ "Invitér folk"
+ "Invitér folk til %1$s"
+ "Invitér folk til %1$s"
+ "Invitationer"
+ "Deltag"
+ "Få mere at vide"
+ "Forlad"
+ "Forlad samtalen"
+ "Forlad rum"
+ "Indlæs mere"
+ "Administrer konto"
+ "Administrer enheder"
+ "Besked"
+ "Næste"
+ "Nej"
+ "Ikke nu"
+ "OK"
+ "Indstillinger"
+ "Åbn med"
+ "Fastgør"
+ "Hurtigt svar"
+ "Citér"
+ "Reagér"
+ "Afvis"
+ "Fjern"
+ "Fjern billedtekst"
+ "Fjern besked"
+ "Svar"
+ "Svar i tråd"
+ "Anmeld"
+ "Anmeld fejl"
+ "Anmeld indhold"
+ "Anmeld samtale"
+ "Anmeld rummet"
+ "Nulstil"
+ "Nulstil identitet"
+ "Prøv igen"
+ "Prøv at dekryptere igen"
+ "Gem"
+ "Søg"
+ "Send"
+ "Send besked"
+ "Del"
+ "Del link"
+ "Vis"
+ "Log ind igen"
+ "Log ud"
+ "Log ud alligevel"
+ "Spring over"
+ "Start"
+ "Start samtale"
+ "Begynd verifikation"
+ "Tryk for at indlæse kort"
+ "Tag billede"
+ "Tryk for indstillinger"
+ "Prøv igen"
+ "Frigør"
+ "Se i tidslinjen"
+ "Se kilde"
+ "Ja"
+ "Ja, prøv igen"
+ "Din server understøtter nu en ny, hurtigere protokol. Log ud og log ind igen for at opgradere nu. Hvis du gør dette nu, vil du undgå en tvungen logout, når den gamle protokol bliver fjerne senere."
+ "Opgradering tilgængelig"
+ "Om"
+ "Politik for acceptabel brug"
+ "Tilføjelse af billedtekst"
+ "Avancerede indstillinger"
+ "et billede"
+ "Analyse-værktøj"
+ "Udseende"
+ "Lyd"
+ "Blokerede brugere"
+ "Bobler"
+ "Opkald startet"
+ "Backup af samtale"
+ "Kopieret til udklipsholder"
+ "Ophavsret"
+ "Opretter rum…"
+ "Anmodning annulleret"
+ "Forlod rummet"
+ "Invitationen blev afvist"
+ "Mørkt tema"
+ "Fejl under dekryptering"
+ "Indstillinger for udviklere"
+ "Enheds-ID"
+ "Direkte samtale"
+ "Vis ikke dette igen"
+ "Download mislykkedes"
+ "Downloader"
+ "(redigeret)"
+ "Redigering"
+ "Redigering af billedtekst"
+ "* %1$s %2$s"
+ "Tom fil"
+ "Kryptering"
+ "Kryptering aktiveret"
+ "Indtast din PIN-kode"
+ "Fejl"
+ "Der opstod en fejl, du modtager muligvis ikke meddelelser om nye meddelelser. Fejlfinding af meddelelser fra indstillingerne.
+
+Årsag: %1$s."
+ "Alle"
+ "Mislykkedes"
+ "Favorit"
+ "Favoritmarkeret"
+ "Fil"
+ "Fil slettet"
+ "Fil gemt"
+ "Fil gemt i Downloads"
+ "Videresend besked"
+ "Ofte brugt"
+ "GIF"
+ "Billede"
+ "Som svar på %1$s"
+ "Installer APK"
+ "Dette Matrix-ID kan ikke findes, så invitationen modtages muligvis ikke."
+ "Forlader rummet"
+ "Lyst tema"
+ "Linje kopieret til udklipsholder"
+ "Linket er kopieret til udklipsholderen"
+ "Indlæser…"
+ "Indlæser flere…"
+
+ - "%d anden"
+ - "%d andre"
+
+
+ - "%1$d medlem"
+ - "%1$d medlemmer"
+
+ "Besked"
+ "Beskedhandlinger"
+ "Layout på beskeder"
+ "Beskeden er fjernet"
+ "Moderne"
+ "Lydløs"
+ "%1$s (%2$s)"
+ "Ingen resultater"
+ "Intet rumnavn"
+ "Ikke krypteret"
+ "Offline"
+ "Open Source-licenser"
+ "eller"
+ "Adgangskode"
+ "Mennesker"
+ "Permalink"
+ "Tilladelse"
+ "Fastgjort"
+ "Tjek venligst din internetforbindelse"
+ "Vent venligst…"
+ "Er du sikker på, at du vil afslutte denne afstemning?"
+ "Afstemning: %1$s"
+ "Stemmer i alt: %1$s"
+ "Resultaterne vil blive vist, når afstemningen er afsluttet"
+
+ - "%d stemme"
+ - "%d stemmer"
+
+ "Privatlivspolitik"
+ "Reaktion"
+ "Reaktioner"
+ "Årsag"
+ "Gendannelsesnøgle"
+ "Opdaterer…"
+
+ - "%1$d svar"
+
+ "Svarer til %1$s"
+ "Rapportér en fejl"
+ "Anmeld et problem"
+ "Anmeldelsen er indsendt"
+ "Rich text editor"
+ "Rum"
+ "Navn på rum"
+ "f.eks. navnet på dit projekt"
+ "Gemte ændringer"
+ "Gemmer"
+ "Skærmlås"
+ "Søg efter nogen"
+ "Søgeresultater"
+ "Sikkerhed"
+ "Set af"
+ "Send til"
+ "Sender…"
+ "Afsendelse mislykkedes"
+ "Sendt"
+ ". "
+ "Serveren er ikke understøttet"
+ "Server URL"
+ "Indstillinger"
+ "Delt placering"
+ "Logger ud"
+ "Noget gik galt"
+ "Vi stødte på et problem. Prøv venligst igen."
+ "Starter samtale…"
+ "Klistermærke"
+ "Succes"
+ "Forslag"
+ "Synkroniserer"
+ "System"
+ "Tekst"
+ "Tredjepartsmeddelelser"
+ "Tråd"
+ "Emne"
+ "Hvad handler det her rum om?"
+ "Ude af stand til at dekryptere"
+ "Sendt fra en usikker enhed"
+ "Du har ikke adgang til denne meddelelse"
+ "Afsenderens verificerede identitet blev nulstillet"
+ "Invitationer kunne ikke sendes til en eller flere brugere."
+ "Kan ikke sende invitation(er)"
+ "Lås op"
+ "Slå lyden til"
+ "Ikke-understøttet opkald"
+ "Ikke-understøttet begivenhed"
+ "Brugernavn"
+ "Bekræftelse annulleret"
+ "Bekræftelse fuldført"
+ "Verifikation mislykkedes"
+ "Verificeret"
+ "Bekræft enhed"
+ "Verificér identitet"
+ "Verificér bruger"
+ "Video"
+ "Talebesked"
+ "Venter…"
+ "Venter på denne besked"
+ "Dig"
+ "%1$ss identitet blev nulstillet. %2$s"
+ "%1$ss %2$s identitet blev nulstillet. %3$s"
+ "(%1$s)"
+ "%1$ss identitet blev nulstillet."
+ "%1$ss %2$s identitet blev nulstillet. %3$s"
+ "Tilbagetræk verifikation"
+ "Linket %1$s fører dig til et andet websted %2$s
+
+Er du sikker på, at du vil fortsætte?"
+ "Dobbelttjek dette link"
+ "Rummet er anmeldt"
+ "Anmeldte og forlod rummet"
+ "Bekræftelse"
+ "Fejl"
+ "Succes"
+ "Advarsel"
+ "Dine ændringer er ikke blevet gemt. Er du sikker på, at du vil gå tilbage?"
+ "Gem ændringer?"
+ "Din hjemmeserver skal opgraderes for at understøtte Matrix Authentication Service og kontooprettelse."
+ "Oprettelse af permalink mislykkedes"
+ "%1$s kunne ikke indlæse kortet. Prøv igen senere."
+ "Fejl under indlæsning af beskeder"
+ "%1$s kunne ikke få adgang til din placering. Prøv igen senere."
+ "Kunne ikke uploade din talebesked."
+ "Meddelelsen blev ikke fundet"
+ "%1$s har ikke tilladelse til at få adgang til din placering. Du kan aktivere adgang i Indstillinger."
+ "%1$s har ikke tilladelse til at se din placering. Aktivér adgang nedenfor."
+ "%1$s har ikke tilladelse til at få adgang til din mikrofon. Aktivér adgang for at optage en stemmemeddelelse."
+ "Dette kan skyldes netværks- eller serverproblemer."
+ "Denne rumadresse er allerede taget. Prøv at redigere rummets adressefelt eller at skifte rummets navn"
+ "Nogle tegn er ikke tilladt. Kun bogstaver, cifre og følgende symboler understøttes! $ & \'() * +/; =? @ [] - . _"
+ "Nogle beskeder er ikke blevet sendt"
+ "Beklager, der opstod en fejl"
+ "Afsenderen af begivenheden matcher ikke ejeren af den enhed, der sendte den."
+ "Ægtheden af denne krypterede besked kan ikke garanteres på denne enhed."
+ "Krypteret af en tidligere verificeret bruger."
+ "Ikke krypteret."
+ "Krypteret af en ukendt eller slettet enhed."
+ "Krypteret af en enhed, der ikke er verificeret af sin ejer."
+ "Krypteret af en ikke-verificeret bruger."
+ "🔐️ Kom med mig til %1$s"
+ "Hej, lad os snakkes på %1$s: %2$s"
+ "%1$s Android"
+ "Ryst enheden i frustration for at anmelde en fejl"
+ "%1$s: %2$s"
+ "Valgmuligheder"
+ "Fjern %1$s"
+ "Indstillinger"
+ "Det lykkedes ikke at vælge medie. Prøv igen."
+ "Billedtekster er muligvis ikke synlige for personer, der bruger ældre apps."
+ "Det lykkedes ikke at behandle medier til upload. Prøv venligst igen."
+ "Upload af medier mislykkedes. Prøv igen."
+ "Tryk på en besked og vælg \"%1$s\" for at inkludere den her."
+ "Fastgør vigtige beskeder, så de let kan opdages"
+
+ - "%1$d Fastgjort besked"
+ - "%1$d Fastgjorte beskeder"
+
+ "Fastgjorte beskeder"
+ "Du er ved at gå til din %1$s konto for at nulstille din identitet. Derefter vil du blive ført tilbage til appen."
+ "Kan du ikke bekræfte? Gå til din konto for at nulstille din identitet."
+ "Træk verifikationen tilbage og send"
+ "Du kan trække din verifikation tilbage og sende denne meddelelse alligevel, eller du kan annullere for nu og prøve igen senere efter at have gen-verificeret. %1$s"
+ "Din besked blev ikke sendt, fordi %1$s\'s verificerede identitet er blevet nulstillet"
+ "Send besked alligevel"
+ "%1$s bruger en eller flere uverificerede enheder. Du kan sende beskeden alligevel, eller du kan annullere for nu og prøve igen senere, når %2$s har bekræftet alle deres enheder."
+ "Din besked blev ikke sendt, fordi %1$s ikke har bekræftet alle enheder"
+ "En eller flere af dine enheder er ikke verificeret. Du kan sende beskeden alligevel, eller du kan annullere for nu og prøve igen senere, når du har verificeret alle dine enheder."
+ "Din besked blev ikke sendt, fordi du ikke har verificeret en eller flere af dine enheder"
+ "Det lykkedes ikke at behandle medier til upload. Prøv venligst igen."
+ "Kunne ikke hente brugeroplysninger"
+ "Besked i %1$s"
+ "%1$s af %2$s"
+ "%1$s Fastgjorte beskeder"
+ "Indlæser besked…"
+ "Se alle"
+ "Samtale"
+ "Del lokation"
+ "Del min lokation"
+ "Åbn i Apple Maps"
+ "Åbn i Google Maps"
+ "Åbn i OpenStreetMap"
+ "Del denne lokation"
+ "Beskeden blev ikke sendt fordi %1$s s bekræftede identitet blev nulstillet."
+ "Meddelelsen er ikke sendt, fordi %1$s ikke har bekræftet alle enheder."
+ "Beskeden er ikke sendt, fordi du ikke har verificeret en eller flere af dine enheder."
+ "Lokation"
+ "Version: %1$s (%2$s)"
+ "da"
+ "Historiske beskeder er ikke tilgængelige på denne enhed"
+ "Du skal verificere denne enhed for at få adgang til historiske beskeder"
+ "Du har ikke adgang til denne besked"
+ "Kan ikke dekryptere beskeden"
+ "Denne besked blev blokeret, enten fordi du ikke verificerede din enhed, eller fordi afsenderen skal have verificeret din identitet."
+
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 94f6dc40fc..7fc09c9d53 100644
--- a/libraries/ui-strings/src/main/res/values-de/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-de/translations.xml
@@ -27,7 +27,7 @@
"Gelesen von %1$s"
"Tippe, um alle anzuzeigen"
- "Reaktion mit %1$s entfernen"
+ "Reaktion mit %1$s entfernen"
"Dateien senden"
"Passwort anzeigen"
"Anruf starten"
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 795acf8c29..a9b1e15f7a 100644
--- a/libraries/ui-strings/src/main/res/values-el/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-el/translations.xml
@@ -1,5 +1,6 @@
+ "Προσθήκη αντίδρασης: %1$s"
"Εικόνα Προφίλ"
"Διαγραφή"
@@ -27,7 +28,8 @@
"Διαβάστηκε από %1$s"
"Πάτα για εμφάνιση όλων"
- "Αφαίρεση αντίδρασης με %1$s"
+ "Αφαίρεση αντίδρασης με %1$s"
+ "Αφαιρέστε την αντίδραση με %1$s"
"Αποστολή αρχείων"
"Εμφάνιση κωδικού πρόσβασης"
"Ξεκίνησε μια κλήση"
@@ -56,7 +58,7 @@
"Αντιγραφή συνδέσμου στο μήνυμα"
"Αντιγραφή κειμένου"
"Δημιουργία"
- "Δημιούργησε ένα δωμάτιο"
+ "Δημιουργία αίθουσας"
"Απενεργοποίηση"
"Απενεργοποίηση λογαριασμού"
"Απόρριψη"
@@ -85,7 +87,7 @@
"Μάθε περισσότερα"
"Αποχώρηση"
"Αποχώρηση από τη συζήτηση"
- "Αποχώρηση από το δωμάτιο"
+ "Αποχώρηση από την αίθουσα"
"Φόρτωσε περισσότερα"
"Διαχείριση λογαριασμού"
"Διαχείριση συσκευών"
@@ -110,7 +112,7 @@
"Αναφορά σφάλματος"
"Αναφορά περιεχομένου"
"Αναφορά συνομιλίας"
- "Αναφορά δωματίου"
+ "Αναφορά αίθουσας"
"Επαναφορά"
"Επαναφορά ταυτότητας"
"Επανάληψη"
@@ -144,6 +146,7 @@
"Πολιτική αποδεκτής χρήσης"
"Η λεζάντα προστίθεται"
"Ρυθμίσεις για προχωρημένους"
+ "μια εικόνα"
"Στατιστικά στοιχεία"
"Εμφάνιση"
"Ήχος"
@@ -153,9 +156,9 @@
"Αντίγραφο ασφαλείας συνομιλίας"
"Αντιγράφηκε στο πρόχειρο"
"Πνευματικά δικαιώματα"
- "Δημιουργία δωματίου…"
+ "Δημιουργία αίθουσας…"
"Το αίτημα ακυρώθηκε"
- "Αποχώρησε από το δωμάτιο"
+ "Αποχώρησε από την αίθουσα"
"Η πρόσκληση απορρίφθηκε"
"Σκοτεινό"
"Σφάλμα αποκρυπτογράφησης"
@@ -192,7 +195,7 @@
"Σε απάντηση στον χρήστη %1$s"
"Εγκατάσταση APK"
"Αυτό το Matrix ID δεν μπορεί να βρεθεί, επομένως η πρόσκληση ενδέχεται να μην ληφθεί."
- "Αποχώρηση από το δωμάτιο"
+ "Αποχώρηση από την αίθουσα"
"Φωτεινό"
"Η γραμμή αντιγράφηκε στο πρόχειρο"
"Ο σύνδεσμος αντιγράφηκε στο πρόχειρο"
@@ -214,7 +217,7 @@
"Σίγαση"
"%1$s (%2$s)"
"Κανένα αποτέλεσμα"
- "Χωρίς όνομα δωματίου"
+ "Δεν υπάρχει όνομα αίθουσας"
"Χωρίς κρυπτογράφηση"
"Εκτός σύνδεσης"
"Άδειες ανοιχτού κώδικα"
@@ -240,13 +243,17 @@
"Αιτιολογία"
"Κλειδί ανάκτησης"
"Ανανέωση…"
+
+ - "%1$d απάντηση"
+ - "%1$d απαντήσεις"
+
"Απάντηση σε %1$s"
"Αναφορά σφάλματος"
"Αναφορά προβλήματος"
"Η αναφορά υποβλήθηκε"
"Επεξεργαστής εμπλουτισμένου κειμένου"
"Αίθουσα"
- "Όνομα δωματίου"
+ "Όνομα αίθουσας"
"πχ. το όνομα του έργου σου"
"Αποθηκευμένες αλλαγές"
"Αποθηκεύεται"
@@ -259,6 +266,7 @@
"Αποστολή…"
"Αποτυχία αποστολής"
"Εστάλη"
+ ". "
"Ο διακομιστής δεν υποστηρίζεται"
"URL διακομιστή"
"Ρυθμίσεις"
@@ -276,7 +284,7 @@
"Ειδοποιήσεις τρίτων"
"Νήμα"
"Θέμα"
- "Τί αφορά το δωμάτιο;"
+ "Τι αφορά αυτή η αίθουσα;"
"Δεν είναι δυνατή η αποκρυπτογράφηση"
"Στάλθηκε από μια μη ασφαλής συσκευή"
"Δεν έχεις πρόσβαση σε αυτό το μήνυμα"
@@ -310,8 +318,8 @@
Είστε βέβαιοι ότι θέλετε να συνεχίσετε;"
"Ελέγξτε ξανά αυτόν τον σύνδεσμο"
- "Το δωμάτιο αναφέρθηκε"
- "Αναφέρθηκε και αποχωρήσατε από το δωμάτιο"
+ "Η αίθουσα αναφέρθηκε"
+ "Αναφέρθηκε και αποχωρήσατε από την αίθουσα"
"Επιβεβαίωση"
"Σφάλμα"
"Επιτυχία"
@@ -324,15 +332,17 @@
"Αποτυχία φόρτωσης μηνυμάτων"
"Το %1$s δεν μπόρεσε να αποκτήσει πρόσβαση στην τοποθεσία σου. Προσπάθησε ξανά αργότερα."
"Αποτυχία μεταφόρτωσης του φωνητικού σου μηνύματος."
+ "Η αίθουσα δεν υπάρχει πλέον ή η πρόσκληση δεν ισχύει πλέον."
"Το μήνυμα δεν βρέθηκε"
"Το %1$s δεν έχει άδεια πρόσβασης στην τοποθεσία σου. Μπορείς να ενεργοποιήσεις την πρόσβαση στις Ρυθμίσεις."
"Ο χρήστης %1$s δεν έχει άδεια πρόσβασης στην τοποθεσία σου. Ενεργοποίησε την πρόσβαση παρακάτω."
"Το %1$s δεν έχει άδεια πρόσβασης στο μικρόφωνό σου. Ενεργοποίησε την πρόσβαση για εγγραφή φωνητικού μηνύματος."
"Αυτό μπορεί να οφείλεται σε προβλήματα δικτύου ή διακομιστή."
- "Αυτή η διεύθυνση δωματίου υπάρχει ήδη, δοκίμασε να επεξεργαστείς το πεδίο διεύθυνσης δωματίου ή να αλλάξεις το όνομα δωματίου"
+ "Αυτή η διεύθυνση αίθουσας υπάρχει ήδη. Παρακαλώ δοκιμάστε να επεξεργαστείτε το πεδίο διεύθυνσης αίθουσας ή αλλάξτε το όνομα της αίθουσας"
"Ορισμένοι χαρακτήρες δεν επιτρέπονται. Υποστηρίζονται μόνο γράμματα, ψηφία και τα ακόλουθα σύμβολα ! $ & \'() * +/; = ? @ [] - . _"
"Ορισμένα μηνύματα δεν έχουν σταλεί"
"Λυπούμαστε, παρουσιάστηκε σφάλμα"
+ "Ο αποστολέας του συμβάντος δεν ταιριάζει με τον κάτοχο της συσκευής που το έστειλε."
"Η αυθεντικότητα αυτού του κρυπτογραφημένου μηνύματος δεν είναι εγγυημένη σε αυτήν τη συσκευή."
"Κρυπτογραφημένο από έναν προηγουμένως επαληθευμένο χρήστη."
"Μη κρυπτογραφημένο."
@@ -343,6 +353,10 @@
"Γεια, μίλα μου στην εφαρμογή %1$s :%2$s"
"%1$s Android"
"Κούνησε δυνατά τη συσκευή σου για να αναφέρεις κάποιο σφάλμα"
+ "%1$s: %2$s"
+ "Επιλογές"
+ "Αφαίρεση %1$s"
+ "Ρυθμίσεις"
"Αποτυχία επιλογής πολυμέσου, δοκίμασε ξανά."
"Οι λεζάντες ενδέχεται να μην είναι ορατές σε άτομα που χρησιμοποιούν παλαιότερες εφαρμογές."
"Αποτυχία μεταφόρτωσης μέσου, δοκίμασε ξανά."
@@ -367,6 +381,9 @@
"Αποτυχία μεταφόρτωσης μέσου, δοκίμασε ξανά."
"Δεν ήταν δυνατή η ανάκτηση στοιχείων χρήστη"
"Μήνυμα στο %1$s"
+ "Επέκταση"
+ "Μείωση"
+ "Βλέπετε ήδη αυτήν την αίθουσα!"
"%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 2b0c7b84d4..06b0270525 100644
--- a/libraries/ui-strings/src/main/res/values-es/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-es/translations.xml
@@ -27,7 +27,7 @@
"Leído por %1$s"
"Pulsa para mostrar todo"
- "Elimina la reacción con %1$s"
+ "Elimina la reacción con %1$s"
"Enviar archivos"
"Mostrar contraseña"
"Iniciar llamada"
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 1ed332da5f..805e30ec94 100644
--- a/libraries/ui-strings/src/main/res/values-et/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-et/translations.xml
@@ -1,5 +1,6 @@
+ "Reageeri: %1$s"
"Tunnuspilt"
"Kustuta"
@@ -27,11 +28,13 @@
"Seda luges %1$s"
"Vaata kõiki"
- "Eemalda reageerimine %1$s emotikoniga"
+ "Eemalda reageerimine %1$s emotikoniga"
+ "Eemalda reageerimine: %1$s"
"Saada faile"
"Näita salasõna"
"Helista"
"Kasutajamenüü"
+ "Vaata tunnuspilti"
"Vaata üksikasju"
"Häälsõnum, kestus:%1$s"
"Salvesta häälsõnum."
@@ -144,6 +147,7 @@
"Vastuvõetava kasutamise põhimõtted"
"Lisame selgitust"
"Täiendavad seadistused"
+ "pilt"
"Analüütika"
"Välimus"
"Heli"
@@ -240,6 +244,10 @@ Põhjus: %1$s."
"Põhjus"
"Taastevõti"
"Värskendame andmeid…"
+
+ - "%1$d vastus"
+ - "%1$d vastust"
+
"Vastates kasutajale %1$s"
"Teata veast"
"Teata veast"
@@ -259,6 +267,7 @@ Põhjus: %1$s."
"Saadame…"
"Saatmine ei õnnestunud"
"Saadetud"
+ ". "
"Server pole toetatud"
"Serveri URL"
"Seadistused"
@@ -324,6 +333,7 @@ Kas sa oled kindel, et soovid jätkata?"
"Sõnumite laadimine ei õnnestunud"
"Rakendus %1$s ei suutnud tuvastada sinu asukohta. Palun proovi hiljem uuesti."
"Sinu häälsõnumi üleslaadimine ei õnnestunud."
+ "Seda jututuba pole enam olemas või pole see kutse enam kehtiv."
"Sõnumit ei leidu"
"Rakendusel %1$s puudub õigus sinu asukohta tuvastada. Sa saad seda lubada süsteemi seadistustest."
"Rakendusel %1$s puudub õigus sinu asukohta tuvastada. Järgnevalt anna vastavad õigused."
@@ -333,6 +343,7 @@ Kas sa oled kindel, et soovid jätkata?"
"Mõned tähemärgid pole lubatud. Kasuta vaid tähti, numbreid ja neid kirjavahemärke ! $ & ‘ ( ) * + / ; = ? @ [ ] - . _"
"Mõned sõnumid on saatmata"
"Vabandust, ilmnes viga"
+ "Sündmuse saatja ja seadme omanik pole vastavuses."
"Selle krüptitud sõnumi tõepärasus pole selles seadmes tagatud."
"Krüptitud varem verifitseeritud kasutaja poolt"
"Pole krüptitud."
@@ -343,6 +354,10 @@ Kas sa oled kindel, et soovid jätkata?"
"Hei, suhtle minuga %1$s võrgus: %2$s"
"%1$s Android"
"Veast teatamiseks raputa nutiseadet ägedalt"
+ "%1$s: %2$s"
+ "Valikud"
+ "Kustuta: %1$s"
+ "Seadistused"
"Meediafaili valimine ei õnnestunud. Palun proovi uuesti."
"Selgitused ja alapealkirjad ei pruugi olla nähtavad vanemate rakenduste kasutajatele."
"Meediafaili töötlemine enne üleslaadimist ei õnnestunud. Palun proovi uuesti."
@@ -367,17 +382,14 @@ Kas sa oled kindel, et soovid jätkata?"
"Meediafaili töötlemine enne üleslaadimist ei õnnestunud. Palun proovi uuesti."
"Kasutaja andmete laadimine ei õnnestunud"
"Sõnum jututoas %1$s"
+ "Näita rohkem"
+ "Näita vähem"
+ "Sa juba vaatad seda jututuba!"
"%1$s / %2$s"
"%1$s esiletõstetud sõnumit"
"Laadime sõnumit…"
"Näita kõiki"
- "Hüppa uude jututuppa"
- "See jututuba on asendatud uuega ning pole enam aktiivne"
- "Vaata vanu sõnumeid"
- "See jututuba on varasema jututoa jätk"
"Vestlus"
- "Liitumispalve on saadetud"
- "See jututuba on uuendatud"
"Jaga asukohta"
"Jaga minu asukohta"
"Ava Apple Mapsis"
diff --git a/libraries/ui-strings/src/main/res/values-eu/translations.xml b/libraries/ui-strings/src/main/res/values-eu/translations.xml
index f3bbd83167..38cd755a78 100644
--- a/libraries/ui-strings/src/main/res/values-eu/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-eu/translations.xml
@@ -23,7 +23,7 @@
"%1$s(e)k irakurri du"
"Egin tap guztiak ikusteko"
- "Kendu %1$s erreakzioa"
+ "Kendu %1$s erreakzioa"
"Bidali fitxategiak"
"Erakutsi pasahitza"
"Hasi dei bat"
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 a6cc73c1f6..4701ff08f7 100644
--- a/libraries/ui-strings/src/main/res/values-fa/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-fa/translations.xml
@@ -22,7 +22,7 @@
"خوانده به دست %1$s و %2$s"
"خوانده به دست %1$s"
"زدن برای نمایش همه"
- "برداشتن واکنش با %1$s"
+ "برداشتن واکنش با %1$s"
"ارسال پروندهها"
"نمایش گذرواژه"
"آغاز یک تماس"
diff --git a/libraries/ui-strings/src/main/res/values-fi/translations.xml b/libraries/ui-strings/src/main/res/values-fi/translations.xml
index aba5d6756e..8b0d3e0cf7 100644
--- a/libraries/ui-strings/src/main/res/values-fi/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-fi/translations.xml
@@ -27,7 +27,7 @@
"%1$s on lukenut viestin"
"Näytä kaikki napauttamalla"
- "Poista reaktio emojilla %1$s"
+ "Poista reaktio emojilla %1$s"
"Lähetä tiedostoja"
"Näytä salasana"
"Aloita puhelu"
@@ -371,13 +371,7 @@ Haluatko varmasti jatkaa?"
"Kiinnitetty viesti %1$s"
"Viestiä ladataan…"
"Näytä kaikki"
- "Siirry uuteen huoneeseen"
- "Tämä huone on korvattu, eikä se ole enää aktiivinen"
- "Katso vanhoja viestejä"
- "Tämä huone on jatkoa toiselle huoneelle"
"Keskustelu"
- "Liittymispyyntö lähetetty"
- "Tämä huone on päivitetty"
"Jaa sijainti"
"Jaa sijaintini"
"Avaa Apple Mapsissa"
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 154710c593..8266d8ce0a 100644
--- a/libraries/ui-strings/src/main/res/values-fr/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-fr/translations.xml
@@ -1,5 +1,6 @@
+ "Ajouter une réaction: %1$s"
"Avatar"
"Supprimer"
@@ -27,11 +28,13 @@
"Lu par %1$s"
"Taper pour voir toute la liste"
+ "Supprimer la réaction avec %1$s"
"Supprimer la réaction avec %1$s"
"Envoyer des fichiers"
"Afficher le mot de passe"
"Démarrer un appel"
"Menu utilisateur"
+ "Voir l’avatar"
"Afficher les détails"
"Message vocal, durée: %1$s"
"Enregistrer un message vocal."
@@ -138,9 +141,6 @@
"Afficher la source"
"Oui"
"Oui, réessayez"
- "Désactivez l’optimisation de la batterie pour cette application afin de vous assurer que toutes les notifications sont reçues."
- "Désactiver l’optimisation"
- "Ils vous manque des notifications?"
"Votre serveur prend désormais en charge un nouveau protocole plus rapide. Déconnectez-vous, puis reconnectez-vous pour effectuer la mise à niveau dès maintenant. En le faisant tout de suite, vous éviterez une déconnexion forcée lorsque l’ancien protocole sera supprimé."
"Mise à niveau disponible"
"À propos"
@@ -244,6 +244,9 @@ Raison : %1$s."
"Raison"
"Clé de récupération"
"Actualisation…"
+
+ - "%1$d réponses"
+
"En réponse à %1$s"
"Signaler un problème"
"Remonter un problème"
@@ -329,6 +332,7 @@ Raison : %1$s."
"Échec du chargement des messages"
"%1$s n’a pas pu accéder à votre position. Veuillez réessayer ultérieurement."
"Échec lors de l’envoi du message vocal."
+ "Ce salon n’existe plus ou l’invitation n’est plus valable."
"Message introuvable"
"%1$s n’est pas autorisé à accéder à votre position. Vous pouvez activer l’accès dans les Paramètres."
"%1$s n’est pas autorisé à accéder à votre position. Activez l’accès ci-dessous."
@@ -349,6 +353,10 @@ Raison : %1$s."
"Salut, parle-moi sur %1$s : %2$s"
"%1$s Android"
"Rageshake pour signaler un problème"
+ "%1$s: %2$s"
+ "Options"
+ "Supprimer %1$s"
+ "Paramètres"
"Échec de la sélection du média, veuillez réessayer."
"Les légendes peuvent ne pas être visibles pour les utilisateurs d’anciennes applications."
"Échec du traitement des médias à télécharger, veuillez réessayer."
@@ -373,17 +381,14 @@ Raison : %1$s."
"Échec du traitement des médias à télécharger, veuillez réessayer."
"Impossible de récupérer les détails de l’utilisateur"
"Message dans %1$s"
+ "Développer"
+ "Réduire"
+ "Vous êtes déjà dans ce salon!"
"%1$s sur %2$s"
"%1$s Messages épinglés"
"Chargement du message…"
"Voir tout"
- "Aller dans le nouveau salon"
- "Ce salon a été remplacé et n’est plus actif"
- "Voir les anciens messages"
- "Ce salon est la continuation du salon précédent"
"Discussion"
- "Demande de rejoindre le salon envoyée"
- "Ce salon a été mis à niveau."
"Partage de position"
"Partager ma position"
"Ouvrir dans Apple Maps"
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 a58cb9db00..b0d8a37de9 100644
--- a/libraries/ui-strings/src/main/res/values-hu/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-hu/translations.xml
@@ -1,5 +1,6 @@
+ "Reakció hozzáadása: %1$s"
"Profilkép"
"Törlés"
@@ -27,11 +28,13 @@
"Olvasta: %1$s"
"Koppintson az összes megjelenítéséhez"
+ "Reakció eltávolítása: %1$s"
"Reakció eltávolítása: %1$s"
"Fájlküldés"
"Jelszó megjelenítése"
"Hanghívás indítása"
"Felhasználói menü"
+ "Profilkép megtekintése"
"Részletek megtekintése"
"Hangüzenet, időtartam: %1$s"
"Hangüzenet felvétele."
@@ -138,15 +141,13 @@
"Forrás megtekintése"
"Igen"
"Igen, újrapróbálkozás"
- "Kapcsolja ki az alkalmazás akkumulátor-optimalizálását, hogy biztosan megkapja az összes értesítést."
- "Optimalizálás letiltása"
- "Nem érkeznek meg az értesítések?"
"A kiszolgálója mostantól egy új, gyorsabb protokollt támogat. A frissítéshez jelentkezzen ki, majd jelentkezzen be újra. Ha ezt most megteszi, elkerülheti a kényszerített kijelentkeztetést a régi protokollt eltávolításakor."
"Frissítés érhető el"
"Névjegy"
"Elfogadható használatra vonatkozó szabályzat"
"Felirat hozzáadása"
"Speciális beállítások"
+ "egy kép"
"Elemzések"
"Megjelenítés"
"Hang"
@@ -243,6 +244,9 @@ Ok: %1$s."
"Ok"
"Helyreállítási kulcs"
"Frissítés…"
+
+ - "%1$d válasz"
+
"Válasz %1$s számára"
"Hiba jelentése"
"Probléma jelentése"
@@ -262,6 +266,7 @@ Ok: %1$s."
"Küldés…"
"A küldés sikertelen"
"Elküldve"
+ ". "
"A kiszolgáló nem támogatott"
"Kiszolgáló webcíme"
"Beállítások"
@@ -327,6 +332,7 @@ Biztos, hogy folytatja?"
"Nem sikerült betölteni az üzeneteket"
"Az %1$s nem tudta elérni a tartózkodási helyét. Próbálja újra később."
"Nem sikerült feltölteni a hangüzenetét."
+ "A szoba már nem létezik, vagy a meghívó már nem érvényes."
"Az üzenet nem található"
"Az %1$snek nincs engedélye, hogy hozzáférjen a tartózkodási helyéhez. Ezt a beállításokban engedélyezheti."
"Az %1$snek nincs engedélye, hogy hozzáférjen a tartózkodási helyéhez. Engedélyezze alább az elérését."
@@ -347,6 +353,10 @@ Biztos, hogy folytatja?"
"Beszélgessünk itt: %1$s, %2$s"
"%1$s Android"
"Az eszköz rázása a hibajelentéshez"
+ "%1$s: %2$s"
+ "Lehetőségek"
+ "Eltávolítás: %1$s"
+ "Beállítások"
"Nem sikerült kiválasztani a médiát, próbálja újra."
"Előfordulhat, hogy a feliratok nem láthatók a régebbi alkalmazásokat használók számára."
"Nem sikerült feldolgozni a feltöltendő médiát, próbálja újra."
@@ -371,17 +381,14 @@ Biztos, hogy folytatja?"
"Nem sikerült feldolgozni a feltöltendő médiát, próbálja újra."
"Nem sikerült letölteni a felhasználói adatokat"
"Üzenet a következőben: %1$s"
+ "Kibontás"
+ "Csökkentés"
+ "Már ezt a szobát nézi!"
"%1$s / %2$s"
"%1$s kitűzött üzenet"
"Üzenet betöltése…"
"Összes megtekintése"
- "Ugrás az új szobába"
- "Ezt a szobát lecserélték, és már nem aktív."
- "Régi üzenetek megtekintése"
- "Ez a szoba egy másik szoba folytatása"
"Csevegés"
- "Csatlakozási kérés elküldve"
- "A szoba verzióját frissítették"
"Hely megosztása"
"Saját hely megosztása"
"Megnyitás az Apple Mapsben"
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 c27f8ef33b..05387a00a3 100644
--- a/libraries/ui-strings/src/main/res/values-in/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-in/translations.xml
@@ -22,7 +22,7 @@
"Dibaca oleh %1$s"
"Ketuk untuk melihat semua"
- "Hapus reaksi dengan %1$s"
+ "Hapus reaksi dengan %1$s"
"Kirim berkas"
"Tampilkan kata sandi"
"Mulai panggilan"
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 4f4446050b..52df6ff9ec 100644
--- a/libraries/ui-strings/src/main/res/values-it/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-it/translations.xml
@@ -24,7 +24,7 @@
"Visualizzato da %1$s"
"Tocca per mostrare tutti"
- "Rimuovi la reazione con %1$s"
+ "Rimuovi la reazione con %1$s"
"Invia file"
"Mostra password"
"Avvia una chiamata"
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 5688760fc3..7e3fe1912a 100644
--- a/libraries/ui-strings/src/main/res/values-ka/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-ka/translations.xml
@@ -24,7 +24,7 @@
"წაიკითხეს: %s"
"შეეხეთ ყველაფრის საჩვენებლად"
- "%1$s რეაქციის წაშლა"
+ "%1$s რეაქციის წაშლა"
"ფაილების გაგზავნა"
"პაროლის ჩვენება"
"დარეკვა"
diff --git a/libraries/ui-strings/src/main/res/values-nb/translations.xml b/libraries/ui-strings/src/main/res/values-nb/translations.xml
index 5536fb3a7e..6c2ec13d81 100644
--- a/libraries/ui-strings/src/main/res/values-nb/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-nb/translations.xml
@@ -1,5 +1,6 @@
+ "Legg til reaksjon: %1$s"
"Profilbilde"
"Slett"
@@ -27,6 +28,7 @@
"Lest av %1$s"
"Trykk for å vise alle"
+ "Fjern reaksjonen med %1$s"
"Fjern reaksjonen med %1$s"
"Sende filer"
"Vis passord"
@@ -138,9 +140,6 @@
"Vis kilde"
"Ja"
"Ja, prøv igjen"
- "Deaktiver batterioptimalisering for denne appen for å sikre at alle varsler mottas."
- "Deaktiver optimalisering"
- "Kommer ikke varslene frem?"
"Serveren din støtter nå en ny, raskere protokoll. Logg ut og logg inn igjen for å oppgradere nå. Ved å gjøre dette nå, unngår du å bli tvunget til å logge ut når den gamle protokollen fjernes senere."
"Oppgradering tilgjengelig"
"Om"
@@ -244,6 +243,9 @@
"Årsak"
"Gjenopprettingsnøkkel"
"Oppdaterer…"
+
+ - "%1$d svar"
+
"Svar til %1$s"
"Rapporter en feil"
"Rapporter et problem"
@@ -328,6 +330,7 @@ Er du sikker på at du vil fortsette?"
"Kunne ikke laste inn meldinger"
"%1$s fikk ikke tilgang til lokasjonen din. Vennligst prøv igjen senere."
"Kunne ikke laste opp talemeldingen din."
+ "Rommet eksisterer ikke lenger, eller invitasjonen er ikke lenger gyldig."
"Melding ikke funnet"
"%1$s har ikke tilgang til lokasjonen din. Du kan aktivere tilgang i Innstillinger."
"%1$s har ikke tilgang til lokasjonen din. Aktiver tilgang nedenfor."
@@ -376,17 +379,14 @@ Er du sikker på at du vil fortsette?"
"Kunne ikke behandle medier for opplasting, vennligst prøv igjen."
"Kunne ikke hente brukerdetaljer"
"Melding i %1$s"
+ "Utvid"
+ "Reduser"
+ "Du ser allerede på dette rommet!"
"%1$s av %2$s"
"%1$s Festede meldinger"
"Laster inn melding…"
"Vis alle"
- "Gå til nytt rom"
- "Dette rommet har blitt erstattet og er ikke lenger aktivt"
- "Se gamle meldinger"
- "Dette rommet er en fortsettelse av et annet rom"
"Chat"
- "Forespørsel om å bli med sendt"
- "Dette rommet har blitt oppgradert"
"Del lokasjon"
"Del min lokasjon"
"Åpne i 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 fcb11918db..c6a8608fd4 100644
--- a/libraries/ui-strings/src/main/res/values-nl/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-nl/translations.xml
@@ -27,7 +27,7 @@
"Gelezen door %1$s"
"Tik om alles weer te geven"
- "Verwijder reactie met %1$s"
+ "Verwijder reactie met %1$s"
"Bestanden verzenden"
"Wachtwoord weergeven"
"Begin een oproep"
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 bb8e162f30..01bb2cadaa 100644
--- a/libraries/ui-strings/src/main/res/values-pl/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-pl/translations.xml
@@ -29,7 +29,7 @@
"Odczytane przez %1$s"
"Stuknij, aby pokazać wszystkich"
- "Usuń reakcję %1$s"
+ "Usuń reakcję %1$s"
"Wyślij pliki"
"Pokaż hasło"
"Rozpocznij rozmowę"
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 f5952be07e..5e617e1c3e 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
@@ -27,7 +27,7 @@
"Lido por %1$s"
"Toque para mostrar tudo"
- "Remover reação com %1$s"
+ "Remover reação com %1$s"
"Enviar arquivos"
"Mostrar senha"
"Iniciar uma chamada"
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 721755f9f1..aed2fa6f04 100644
--- a/libraries/ui-strings/src/main/res/values-pt/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-pt/translations.xml
@@ -1,12 +1,13 @@
+ "Adicionar reação: %1$s"
"Avatar"
"Eliminar"
- "%1$d dígito inserido"
- "%1$d dígitos inseridos"
- "Ocultar senha"
+ "Ocultar palavra-passe"
"Juntar-se à chamada"
"Saltar para o fundo"
"Apenas menções"
@@ -27,11 +28,13 @@
"Lida por %1$s"
"Toca para mostrar tudo"
+ "Remover reação com %1$s"
"Remover reação com %1$s"
"Enviar ficheiros"
"Mostrar senha"
"Iniciar chamada"
"Menu de utilizador"
+ "Ver avatar"
"Ver detalhes"
"Mensagem de voz, duração: %1$s"
"Gravar mensagem de voz."
@@ -144,6 +147,7 @@
"Política de utilização aceitável"
"A adicionar legenda"
"Configurações avançadas"
+ "uma imagem"
"Recolha e análise de dados"
"Aparência"
"Áudio"
@@ -240,6 +244,10 @@ Razão: %1$s."
"Motivo"
"Chave de recuperação"
"A atualizar…"
+
+ - "%1$d resposta"
+ - "%1$d respostas"
+
"Em resposta a %1$s"
"Comunicar falha"
"Comunicar um problema"
@@ -259,6 +267,7 @@ Razão: %1$s."
"A enviar…"
"Falha no envio"
"Enviada"
+ ". "
"Servidor não suportado"
"URL do servidor"
"Configurações"
@@ -324,6 +333,7 @@ Tens a certeza de que queres continuar?"
"Falha ao carregar mensagens"
"A %1$s não conseguiu aceder à tua localização. Por favor, tenta novamente mais tarde."
"Falha ao carregar mensagem de voz."
+ "A sala já não existe ou o convite já não é válido."
"Mensagem não encontrada"
"A %1$s não tem permissão para aceder à tua localização. Podes ativar o acesso nas Definições."
"A %1$s não tem permissão para aceder à tua localização. Continua para ativares o acesso."
@@ -333,6 +343,7 @@ Tens a certeza de que queres continuar?"
"Alguns caracteres não são permitidos. Apenas letras, dígitos e os seguintes símbolos são suportados! $ & ‘ ( ) * + / ; = ? @ [ ] - . _"
"Algumas mensagens não foram enviadas"
"Desculpe, ocorreu um erro"
+ "O remetente deste evento não é o dono do dispositivo que o enviou."
"A autenticidade desta mensagem cifrada não pode ser garantida neste dispositivo."
"Criptografado por um usuário verificado anteriormente."
"Não cifrado."
@@ -343,6 +354,10 @@ Tens a certeza de que queres continuar?"
"Alô! Fala comigo na %1$s: %2$s"
"%1$s Android"
"Agita o dispositivo em fúria para comunicar um problema"
+ "%1$s: %2$s"
+ "Opções"
+ "Remover %1$s"
+ "Configurações"
"Falha ao selecionar multimédia, por favor tente novamente."
"As legendas poderão não ser visíveis em versões mais antigas da aplicação."
"Falha ao processar multimédia para carregamento, por favor tente novamente."
@@ -367,6 +382,9 @@ Tens a certeza de que queres continuar?"
"Falha ao processar multimédia para carregamento, por favor tente novamente."
"Não foi possível obter os detalhes de utilizador."
"Mensagem em %1$s"
+ "Expandir"
+ "Reduzir"
+ "Já estás a ver esta sala!"
"%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 aad4fc5981..4f370e6924 100644
--- a/libraries/ui-strings/src/main/res/values-ro/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-ro/translations.xml
@@ -26,7 +26,7 @@
"Citit de%1$s"
"Atingeți pentru a le afișa pe toate"
- "Îndepărtați reacția cu %1$s"
+ "Îndepărtați reacția cu %1$s"
"Trimiteți fișiere"
"Afișați parola"
"Începeți un apel"
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 7d2f9ba66a..93fb5cb170 100644
--- a/libraries/ui-strings/src/main/res/values-ru/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-ru/translations.xml
@@ -29,7 +29,7 @@
"Прочитано %1$s"
"Нажмите, чтобы показать все"
- "Удалить реакцию с %1$s"
+ "Удалить реакцию с %1$s"
"Отправить файлы"
"Показать пароль"
"Начать звонок"
@@ -377,13 +377,7 @@
"%1$s Закрепленные сообщения"
"Загрузка сообщения…"
"Посмотреть все"
- "Перейти в новую комнату"
- "Эта комната была заменена и больше не активна"
- "Посмотреть старые сообщения"
- "Эта комната является продолжением другой комнаты"
"Чат"
- "Запрос на присоединение отправлен"
- "Эта комната была обновлена"
"Поделиться местоположением"
"Поделиться моим местоположением"
"Открыть в 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 14dea09167..250691e703 100644
--- a/libraries/ui-strings/src/main/res/values-sk/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-sk/translations.xml
@@ -1,5 +1,6 @@
+ "Pridať reakciu: %1$s"
"Obrázok"
"Vymazať"
@@ -29,11 +30,13 @@
"Prečítal/a %1$s"
"Ťuknutím zobrazíte všetko"
+ "Odstrániť reakciu s %1$s"
"Odstrániť reakciu s %1$s"
"Odoslať súbory"
"Zobraziť heslo"
"Začať hovor"
"Používateľské menu"
+ "Zobraziť profilový obrázok"
"Zobraziť podrobnosti"
"Hlasová správa, dĺžka: %1$s"
"Nahrať hlasovú správu."
@@ -146,6 +149,7 @@
"Zásady prijateľného používania"
"Pridáva sa titulok"
"Pokročilé nastavenia"
+ "obrázok"
"Analytika"
"Vzhľad"
"Zvuk"
@@ -245,6 +249,11 @@ Dôvod: %1$s."
"Dôvod"
"Kľúč na obnovenie"
"Obnovuje sa…"
+
+ - "%1$d odpoveď"
+ - "%1$d odpovede"
+ - "%1$d odpovedí"
+
"Odpoveď na %1$s"
"Nahlásiť chybu"
"Nahlásiť problém"
@@ -264,6 +273,7 @@ Dôvod: %1$s."
"Odosiela sa…"
"Odoslanie zlyhalo"
"Odoslané"
+ ". "
"Server nie je podporovaný"
"URL adresa servera"
"Nastavenia"
@@ -329,6 +339,7 @@ Naozaj chcete pokračovať?"
"Načítanie správ zlyhalo"
"%1$s nemohol získať prístup k vašej polohe. Skúste to prosím neskôr."
"Nepodarilo sa nahrať hlasovú správu."
+ "Miestnosť už neexistuje alebo pozvánka už nie je platná."
"Správa sa nenašla"
"%1$s nemá povolenie na prístup k vašej polohe. Prístup môžete zapnúť v Nastaveniach."
"%1$s nemá povolenie na prístup k vašej polohe. Povoľte prístup nižšie."
@@ -338,6 +349,7 @@ Naozaj chcete pokračovať?"
"Niektoré znaky nie sú povolené. Podporované sú iba písmená, číslice a nasledujúce symboly ! $ & \'() * +/; =? @ [] - . _"
"Niektoré správy neboli odoslané"
"Prepáčte, vyskytla sa chyba"
+ "Odosielateľ udalosti sa nezhoduje s vlastníkom zariadenia, ktoré ju odoslalo."
"Pravosť tejto šifrovanej správy nie je možné zaručiť na tomto zariadení."
"Šifrované predtým overeným používateľom."
"Nie je šifrované."
@@ -348,6 +360,10 @@ Naozaj chcete pokračovať?"
"Ahoj, porozprávajte sa so mnou na %1$s: %2$s"
"%1$s Android"
"Zúrivo potriasť pre nahlásenie chyby"
+ "%1$s: %2$s"
+ "Možnosti"
+ "Odstrániť %1$s"
+ "Nastavenia"
"Nepodarilo sa vybrať médium, skúste to prosím znova."
"Titulky nemusia byť viditeľné pre ľudí používajúcich staršie aplikácie."
"Nepodarilo sa spracovať médiá na odoslanie, skúste to prosím znova."
@@ -373,6 +389,9 @@ Naozaj chcete pokračovať?"
"Nepodarilo sa spracovať médiá na odoslanie, skúste to prosím znova."
"Nepodarilo sa získať údaje o používateľovi"
"Správa v %1$s"
+ "Rozbaliť"
+ "Zmenšiť"
+ "Už si prezeráte túto miestnosť!"
"%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 aa8b4e231e..046da66d2d 100644
--- a/libraries/ui-strings/src/main/res/values-sv/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-sv/translations.xml
@@ -27,7 +27,7 @@
"Läst av %1$s"
"Tryck för att visa alla"
- "Ta bort reaktionen med %1$s"
+ "Ta bort reaktionen med %1$s"
"Skicka filer"
"Visa lösenord"
"Starta ett samtal"
@@ -371,13 +371,7 @@ Anledning:%1$s."
"%1$s Fästa meddelanden"
"Laddar meddelande …"
"Visa alla"
- "Hoppa till nytt rum"
- "Det här rummet har ersatts och är inte längre aktivt"
- "Se gamla meddelanden"
- "Det här rummet är en fortsättning på ett annat rum"
"Chatt"
- "Begäran om att gå med skickad"
- "Det här rummet har uppgraderats"
"Dela plats"
"Dela min plats"
"Öppna i Apple Maps"
diff --git a/libraries/ui-strings/src/main/res/values-tr/translations.xml b/libraries/ui-strings/src/main/res/values-tr/translations.xml
index fee4cbe5dd..fdec006bb3 100644
--- a/libraries/ui-strings/src/main/res/values-tr/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-tr/translations.xml
@@ -24,7 +24,7 @@
"Okuyan %1$s"
"Tümünü göstermek için dokunun"
- "Tepkimeyi kaldır %1$s"
+ "Tepkimeyi kaldır %1$s"
"Dosyaları gönder"
"Şifreyi göster"
"Bir arama başlatın"
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 985a951d93..b4b1b5578d 100644
--- a/libraries/ui-strings/src/main/res/values-uk/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-uk/translations.xml
@@ -1,5 +1,6 @@
+ "Додати реакцію: %1$s"
"Аватар"
"Видалити"
@@ -29,7 +30,8 @@
"Прочитано %1$s"
"Натисніть, щоб показати все"
- "Видалити реакцію з %1$s"
+ "Видалити реакцію з %1$s"
+ "Прибрати реакцію %1$s"
"Надіслати файли"
"Показати пароль"
"Розпочати виклик"
@@ -264,6 +266,7 @@
"Надсилання…"
"Не вдалося надіслати"
"Надіслано"
+ ". "
"Сервер не підтримується"
"URL-адреса сервера"
"Налаштування"
@@ -329,6 +332,7 @@
"Не вдалося завантажити повідомлення"
"%1$s не вдалося отримати доступ до вашого розташування. Повторіть спробу пізніше."
"Не вдалося завантажити голосове повідомлення."
+ "Кімната більше не існує або запрошення не чинне."
"Повідомлення не знайдено"
"%1$s не має дозволу на доступ до вашого розташування. Увімкнути доступ можна в Налаштуваннях."
"%1$s не має дозволу на доступ до вашого розташування. Увімкніть доступ нижче."
@@ -338,6 +342,7 @@
"Деякі символи не допускаються. Підтримуються тільки букви, цифри і наступні символи! $ & ‘ ( ) * + / ; = ? @ [ ] - . _"
"Деякі повідомлення не були надіслані"
"Вибачте, сталася помилка"
+ "Відправник події не збігається з власником пристрою, який його надіслав."
"Автентичність цього зашифрованого повідомлення не може бути гарантована на цьому пристрої."
"Зашифровано попередньо перевіреним користувачем."
"Не зашифровано."
@@ -348,6 +353,10 @@
"Вітаю, поспілкуйтеся зі мною в %1$s: %2$s"
"%1$s Android"
"Повідомити про ваду за допомогою Rageshake"
+ "%1$s: %2$s"
+ "Варіанти"
+ "Вилучити %1$s"
+ "Налаштування"
"Не вдалося вибрати медіафайл, спробуйте ще раз."
"Користувачі старих застосунків можуть не бачити підписи."
"Не вдалося обробити медіафайл для завантаження, спробуйте ще раз."
@@ -373,6 +382,9 @@
"Не вдалося обробити медіафайл для завантаження, спробуйте ще раз."
"Не вдалося отримати дані користувача"
"Повідомлення в %1$s"
+ "Розгорнути"
+ "Згорнути"
+ "Уже переглядаєте цю кімнату!"
"%1$s із %2$s"
"%1$s закріплених повідомлень"
"Завантаження повідомлення…"
diff --git a/libraries/ui-strings/src/main/res/values-ur/translations.xml b/libraries/ui-strings/src/main/res/values-ur/translations.xml
index e71a5e2014..aa813b829b 100644
--- a/libraries/ui-strings/src/main/res/values-ur/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-ur/translations.xml
@@ -24,7 +24,7 @@
"%1$s نے پڑھا"
"سب دکھانے کے لیے تھپتھپائیں"
- "%1$s کے ساتھ رد عمل ہٹائیں"
+ "%1$s کے ساتھ رد عمل ہٹائیں"
"مسلیں بھیجیں"
"لفظ عبور دکھائیں"
"مکالمہ شروع کریں"
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 f83e689b17..86b6dfdaaf 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
@@ -25,7 +25,7 @@
"%1$s 已讀"
"點擊以顯示全部"
- "移除 %1$s 的反應"
+ "移除 %1$s 的反應"
"傳送檔案"
"顯示密碼"
"開始通話"
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 c5a29e7f61..b9dc5d882e 100644
--- a/libraries/ui-strings/src/main/res/values-zh/translations.xml
+++ b/libraries/ui-strings/src/main/res/values-zh/translations.xml
@@ -25,7 +25,7 @@
"%1$s 已读"
"点击以显示全部"
- "撤回反应 %1$s"
+ "撤回反应 %1$s"
"发送文件"
"显示密码"
"开始通话"
@@ -58,6 +58,7 @@
"停用"
"停用账户"
"拒绝"
+ "拒绝并屏蔽"
"删除投票"
"禁用"
"丢弃"
@@ -103,8 +104,11 @@
"删除消息"
"回复"
"在消息列中回复"
+ "举报"
"报告错误"
"举报内容"
+ "举报对话"
+ "举报房间"
"重置"
"重置身份"
"重试"
@@ -216,6 +220,7 @@
"固定链接"
"权限"
"已置顶"
+ "请检查 Internet 连接"
"请稍候……"
"确定要结束这个投票吗?"
"投票:%1$s"
@@ -230,6 +235,9 @@
"理由"
"恢复密钥"
"正在刷新…"
+
+ - "%1$d 个回复"
+
"正在回复 %1$s"
"报告错误"
"报告问题"
@@ -255,6 +263,7 @@
"共享位置"
"正在登出"
"发生了一些错误"
+ "我们遇到了一个问题。请重试。"
"开始聊天…"
"贴纸"
"成功"
@@ -299,6 +308,8 @@
确定要继续吗?"
"请再次确认链接"
+ "已举报房间"
+ "举报并离开房间"
"确认"
"错误"
"成功"
diff --git a/libraries/ui-strings/src/main/res/values/localazy.xml b/libraries/ui-strings/src/main/res/values/localazy.xml
index 9d6a7cb9b9..41e87f83c5 100644
--- a/libraries/ui-strings/src/main/res/values/localazy.xml
+++ b/libraries/ui-strings/src/main/res/values/localazy.xml
@@ -1,5 +1,6 @@
+ "Add reaction: %1$s"
"Avatar"
"Delete"
@@ -11,6 +12,7 @@
"Jump to bottom"
"Mentions only"
"Muted"
+ "Other user avatar"
"Page %1$d"
"Pause"
"Voice message, duration: %1$s, current position: %2$s"
@@ -27,15 +29,20 @@
"Read by %1$s"
"Tap to show all"
+ "Remove reaction: %1$s"
"Remove reaction with %1$s"
+ "Room avatar"
"Send files"
"Show password"
"Start a call"
+ "User avatar"
"User menu"
+ "View avatar"
"View details"
"Voice message, duration: %1$s"
"Record voice message."
"Stop recording"
+ "Your avatar"
"Accept"
"Add caption"
"Add to timeline"
@@ -134,13 +141,11 @@
"Tap for options"
"Try again"
"Unpin"
+ "View"
"View in timeline"
"View source"
"Yes"
"Yes, try again"
- "Disable battery optimization for this app, to make sure all notifications are received."
- "Disable optimization"
- "Notifications not arriving?"
"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."
"Upgrade available"
"About"
@@ -382,18 +387,14 @@ Are you sure you want to continue?"
"Failed processing media to upload, please try again."
"Could not retrieve user details"
"Message in %1$s"
+ "Expand"
+ "Reduce"
"Already viewing this room!"
"%1$s of %2$s"
"%1$s Pinned messages"
"Loading message…"
"View All"
- "Jump to new room"
- "This room has been replaced and is no longer active"
- "See old messages"
- "This room is a continuation of another room"
"Chat"
- "Request to join sent"
- "This room has been upgraded"
"Share location"
"Share my location"
"Open in Apple Maps"
diff --git a/libraries/ui-utils/build.gradle.kts b/libraries/ui-utils/build.gradle.kts
index 40530645dc..fc60dc277e 100644
--- a/libraries/ui-utils/build.gradle.kts
+++ b/libraries/ui-utils/build.gradle.kts
@@ -15,5 +15,7 @@ android {
dependencies {
testImplementation(libs.test.junit)
testImplementation(libs.test.truth)
+ testImplementation(libs.coroutines.test)
+ testImplementation(libs.test.truth)
}
}
diff --git a/libraries/ui-utils/src/main/kotlin/io/element/android/libraries/ui/utils/MultipleTapToUnlock.kt b/libraries/ui-utils/src/main/kotlin/io/element/android/libraries/ui/utils/MultipleTapToUnlock.kt
new file mode 100644
index 0000000000..15a8b82eee
--- /dev/null
+++ b/libraries/ui-utils/src/main/kotlin/io/element/android/libraries/ui/utils/MultipleTapToUnlock.kt
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+package io.element.android.libraries.ui.utils
+
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
+import kotlin.time.Duration.Companion.seconds
+
+/**
+ * Returns true if the user has tapped [numberOfTapToUnlock] times in a short amount of time.
+ * The counter is reset after 2 seconds of inactivity.
+ *
+ * @param numberOfTapToUnlock The number of taps required to unlock.
+ */
+class MultipleTapToUnlock(
+ private val numberOfTapToUnlock: Int = 7,
+) {
+ private var counter = numberOfTapToUnlock
+ private var currentJob: Job? = null
+
+ fun unlock(scope: CoroutineScope): Boolean {
+ counter--
+ currentJob?.cancel()
+ return if (counter > 0) {
+ currentJob = scope.launch {
+ delay(2.seconds)
+ // Reset counter if user is not fast enough
+ counter = numberOfTapToUnlock
+ }
+ false
+ } else {
+ true
+ }
+ }
+}
diff --git a/libraries/ui-utils/src/test/kotlin/io/element/android/libraries/ui/utils/MultipleTapToUnlockTest.kt b/libraries/ui-utils/src/test/kotlin/io/element/android/libraries/ui/utils/MultipleTapToUnlockTest.kt
new file mode 100644
index 0000000000..1745f617d8
--- /dev/null
+++ b/libraries/ui-utils/src/test/kotlin/io/element/android/libraries/ui/utils/MultipleTapToUnlockTest.kt
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2025 New Vector Ltd.
+ *
+ * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
+ * Please see LICENSE files in the repository root for full details.
+ */
+
+@file:OptIn(ExperimentalCoroutinesApi::class)
+
+package io.element.android.libraries.ui.utils
+
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.test.advanceTimeBy
+import kotlinx.coroutines.test.runTest
+import org.junit.Test
+import kotlin.time.Duration.Companion.seconds
+
+class MultipleTapToUnlockTest {
+ @Test
+ fun `test multiple tap should unlock`() = runTest {
+ val sut = MultipleTapToUnlock(3)
+ assertThat(sut.unlock(backgroundScope)).isFalse()
+ assertThat(sut.unlock(backgroundScope)).isFalse()
+ assertThat(sut.unlock(backgroundScope)).isTrue()
+ assertThat(sut.unlock(backgroundScope)).isTrue()
+ // All next call returns true
+ advanceTimeBy(3.seconds)
+ assertThat(sut.unlock(backgroundScope)).isTrue()
+ }
+ @Test
+ fun `test waiting should reset counter`() = runTest {
+ val sut = MultipleTapToUnlock(3)
+ assertThat(sut.unlock(backgroundScope)).isFalse()
+ assertThat(sut.unlock(backgroundScope)).isFalse()
+ advanceTimeBy(3.seconds)
+ assertThat(sut.unlock(backgroundScope)).isFalse()
+ assertThat(sut.unlock(backgroundScope)).isFalse()
+ assertThat(sut.unlock(backgroundScope)).isTrue()
+ }
+}
diff --git a/plugins/src/main/kotlin/extension/locales.kt b/plugins/src/main/kotlin/extension/locales.kt
index 8e2f9544b9..b123ac4914 100644
--- a/plugins/src/main/kotlin/extension/locales.kt
+++ b/plugins/src/main/kotlin/extension/locales.kt
@@ -7,6 +7,7 @@ val locales = setOf(
"bg",
"cs",
"cy",
+ "da",
"de",
"el",
"en",
diff --git a/screenshots/de/features.call.impl.ui_CallScreenView_Day_1_de.png b/screenshots/de/features.call.impl.ui_CallScreenView_Day_1_de.png
index c2c39667d3..0a83b12192 100644
--- a/screenshots/de/features.call.impl.ui_CallScreenView_Day_1_de.png
+++ b/screenshots/de/features.call.impl.ui_CallScreenView_Day_1_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b281231613c814130499743851deed96cc285b6134ffe64aaa52cbb91e0a5e2a
-size 14402
+oid sha256:b06d5375521caae14aa0621493a93e562e0ec655b9e83e19d05f9c1d9ffbb628
+size 11571
diff --git a/screenshots/de/features.call.impl.ui_CallScreenView_Day_2_de.png b/screenshots/de/features.call.impl.ui_CallScreenView_Day_2_de.png
index b0cdc880cf..9367c10d95 100644
--- a/screenshots/de/features.call.impl.ui_CallScreenView_Day_2_de.png
+++ b/screenshots/de/features.call.impl.ui_CallScreenView_Day_2_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:27dc69f4e564335bfc868fce9e63448db98e9d82a60d364fc627912659e1025c
-size 14077
+oid sha256:6011ceb2ef963b0410fd0bc3c01906c56a7f1b2a73f36c95f0951469c98f77dd
+size 11128
diff --git a/screenshots/de/features.call.impl.ui_CallScreenView_Day_3_de.png b/screenshots/de/features.call.impl.ui_CallScreenView_Day_3_de.png
index 1663a62312..15ebcffdd4 100644
--- a/screenshots/de/features.call.impl.ui_CallScreenView_Day_3_de.png
+++ b/screenshots/de/features.call.impl.ui_CallScreenView_Day_3_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:240af0e27b7159df0f4f11a1d64f56ea1f209f7dc5de86998c5a9717e61ff82e
-size 22008
+oid sha256:e3f09b0342378a82bbe394877fd03662f8d6554a1f91c9304e7118d171754f6d
+size 19159
diff --git a/screenshots/de/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_de.png b/screenshots/de/features.home.impl.components_ConfirmRecoveryKeyBanner_Day_0_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_de.png
rename to screenshots/de/features.home.impl.components_ConfirmRecoveryKeyBanner_Day_0_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_de.png b/screenshots/de/features.home.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_de.png
rename to screenshots/de/features.home.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_de.png b/screenshots/de/features.home.impl.components_DefaultRoomListTopBar_Day_0_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_de.png
rename to screenshots/de/features.home.impl.components_DefaultRoomListTopBar_Day_0_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_de.png b/screenshots/de/features.home.impl.components_FullScreenIntentPermissionBanner_Day_0_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_de.png
rename to screenshots/de/features.home.impl.components_FullScreenIntentPermissionBanner_Day_0_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_0_de.png b/screenshots/de/features.home.impl.components_RoomListContentView_Day_0_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_0_de.png
rename to screenshots/de/features.home.impl.components_RoomListContentView_Day_0_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_1_de.png b/screenshots/de/features.home.impl.components_RoomListContentView_Day_1_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_1_de.png
rename to screenshots/de/features.home.impl.components_RoomListContentView_Day_1_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_3_de.png b/screenshots/de/features.home.impl.components_RoomListContentView_Day_3_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_3_de.png
rename to screenshots/de/features.home.impl.components_RoomListContentView_Day_3_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png b/screenshots/de/features.home.impl.components_RoomListContentView_Day_4_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_RoomListContentView_Day_4_de.png
rename to screenshots/de/features.home.impl.components_RoomListContentView_Day_4_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_29_de.png b/screenshots/de/features.home.impl.components_RoomSummaryRow_Day_29_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_29_de.png
rename to screenshots/de/features.home.impl.components_RoomSummaryRow_Day_29_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_2_de.png b/screenshots/de/features.home.impl.components_RoomSummaryRow_Day_2_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_2_de.png
rename to screenshots/de/features.home.impl.components_RoomSummaryRow_Day_2_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_30_de.png b/screenshots/de/features.home.impl.components_RoomSummaryRow_Day_30_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_30_de.png
rename to screenshots/de/features.home.impl.components_RoomSummaryRow_Day_30_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_31_de.png b/screenshots/de/features.home.impl.components_RoomSummaryRow_Day_31_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_31_de.png
rename to screenshots/de/features.home.impl.components_RoomSummaryRow_Day_31_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_32_de.png b/screenshots/de/features.home.impl.components_RoomSummaryRow_Day_32_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_32_de.png
rename to screenshots/de/features.home.impl.components_RoomSummaryRow_Day_32_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_33_de.png b/screenshots/de/features.home.impl.components_RoomSummaryRow_Day_33_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_RoomSummaryRow_Day_33_de.png
rename to screenshots/de/features.home.impl.components_RoomSummaryRow_Day_33_de.png
diff --git a/screenshots/de/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png b/screenshots/de/features.home.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png
rename to screenshots/de/features.home.impl.components_SetUpRecoveryKeyBanner_Day_0_de.png
diff --git a/screenshots/de/features.roomlist.impl.filters_RoomListFiltersView_Day_0_de.png b/screenshots/de/features.home.impl.filters_RoomListFiltersView_Day_0_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.filters_RoomListFiltersView_Day_0_de.png
rename to screenshots/de/features.home.impl.filters_RoomListFiltersView_Day_0_de.png
diff --git a/screenshots/de/features.roomlist.impl.filters_RoomListFiltersView_Day_1_de.png b/screenshots/de/features.home.impl.filters_RoomListFiltersView_Day_1_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.filters_RoomListFiltersView_Day_1_de.png
rename to screenshots/de/features.home.impl.filters_RoomListFiltersView_Day_1_de.png
diff --git a/screenshots/de/features.roomlist.impl.search_RoomListSearchContent_Day_1_de.png b/screenshots/de/features.home.impl.search_RoomListSearchContent_Day_1_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl.search_RoomListSearchContent_Day_1_de.png
rename to screenshots/de/features.home.impl.search_RoomListSearchContent_Day_1_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListDeclineInviteMenuContent_Day_0_de.png b/screenshots/de/features.home.impl_RoomListDeclineInviteMenuContent_Day_0_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListDeclineInviteMenuContent_Day_0_de.png
rename to screenshots/de/features.home.impl_RoomListDeclineInviteMenuContent_Day_0_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_de.png b/screenshots/de/features.home.impl_RoomListModalBottomSheetContent_Day_0_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_de.png
rename to screenshots/de/features.home.impl_RoomListModalBottomSheetContent_Day_0_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_de.png b/screenshots/de/features.home.impl_RoomListModalBottomSheetContent_Day_1_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_de.png
rename to screenshots/de/features.home.impl_RoomListModalBottomSheetContent_Day_1_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_de.png b/screenshots/de/features.home.impl_RoomListModalBottomSheetContent_Day_2_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_de.png
rename to screenshots/de/features.home.impl_RoomListModalBottomSheetContent_Day_2_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_0_de.png b/screenshots/de/features.home.impl_RoomListView_Day_0_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListView_Day_0_de.png
rename to screenshots/de/features.home.impl_RoomListView_Day_0_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png b/screenshots/de/features.home.impl_RoomListView_Day_10_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListView_Day_10_de.png
rename to screenshots/de/features.home.impl_RoomListView_Day_10_de.png
diff --git a/screenshots/de/features.home.impl_RoomListView_Day_11_de.png b/screenshots/de/features.home.impl_RoomListView_Day_11_de.png
new file mode 100644
index 0000000000..8ea198ec99
--- /dev/null
+++ b/screenshots/de/features.home.impl_RoomListView_Day_11_de.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:540b721270f65172ff2c231ebf5a83c8c17716f655780adb19549cbb368db675
+size 101728
diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_1_de.png b/screenshots/de/features.home.impl_RoomListView_Day_1_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListView_Day_1_de.png
rename to screenshots/de/features.home.impl_RoomListView_Day_1_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_2_de.png b/screenshots/de/features.home.impl_RoomListView_Day_2_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListView_Day_2_de.png
rename to screenshots/de/features.home.impl_RoomListView_Day_2_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_3_de.png b/screenshots/de/features.home.impl_RoomListView_Day_3_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListView_Day_3_de.png
rename to screenshots/de/features.home.impl_RoomListView_Day_3_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_4_de.png b/screenshots/de/features.home.impl_RoomListView_Day_4_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListView_Day_4_de.png
rename to screenshots/de/features.home.impl_RoomListView_Day_4_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_5_de.png b/screenshots/de/features.home.impl_RoomListView_Day_5_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListView_Day_5_de.png
rename to screenshots/de/features.home.impl_RoomListView_Day_5_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_6_de.png b/screenshots/de/features.home.impl_RoomListView_Day_6_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListView_Day_6_de.png
rename to screenshots/de/features.home.impl_RoomListView_Day_6_de.png
diff --git a/screenshots/de/features.roomlist.impl_RoomListView_Day_7_de.png b/screenshots/de/features.home.impl_RoomListView_Day_7_de.png
similarity index 100%
rename from screenshots/de/features.roomlist.impl_RoomListView_Day_7_de.png
rename to screenshots/de/features.home.impl_RoomListView_Day_7_de.png
diff --git a/screenshots/de/features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_3_de.png b/screenshots/de/features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_3_de.png
index a1bdd4c535..b944e9a7b2 100644
--- a/screenshots/de/features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_3_de.png
+++ b/screenshots/de/features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_3_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:c61007af7ad374f26b832e7da5653c7d9ed1d0e02c0219fbe331164f2e110a7f
-size 12405
+oid sha256:ee8997d0c539dca790728f8b2227f6a8620c814f69656a209dcfc5fe12aa9f34
+size 22395
diff --git a/screenshots/de/features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_4_de.png b/screenshots/de/features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_4_de.png
index 6659f4baf8..5ee5f5866f 100644
--- a/screenshots/de/features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_4_de.png
+++ b/screenshots/de/features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_4_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:69318c3177594668e96c7c14251382ab3a8cde767c84c1a3763aefba074a8256
-size 12057
+oid sha256:00f553a66eb9afb952a35387e6988ca2e56f396dc2b329ec08172122a13661d4
+size 20743
diff --git a/screenshots/de/features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_5_de.png b/screenshots/de/features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_5_de.png
new file mode 100644
index 0000000000..b944e9a7b2
--- /dev/null
+++ b/screenshots/de/features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_5_de.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ee8997d0c539dca790728f8b2227f6a8620c814f69656a209dcfc5fe12aa9f34
+size 22395
diff --git a/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_0_de.png b/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_0_de.png
index 88ce7f8165..99407b4dc5 100644
--- a/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_0_de.png
+++ b/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:e71425e752a8ecd40579d23be5bb300ef1745e0d28436bfa6553af74590b1154
-size 318115
+oid sha256:4dfbe8da67e61d4681d24f119ba1d9e9d72582d2fb08f5da02b0e885866f800c
+size 314617
diff --git a/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_1_de.png b/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_1_de.png
index 4478d30a0a..08b5217d10 100644
--- a/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_1_de.png
+++ b/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_1_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:3e35411d5bdd3070aa61621989dcd75bc4625103c83488a64dacaa32f56e5351
-size 319571
+oid sha256:8beef56d2ec9c0939e594a20dae2aa9d4910fbd0398a71e2fe3798041f2c2508
+size 310229
diff --git a/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_2_de.png b/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_2_de.png
index 706aac2785..50a5fabbb1 100644
--- a/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_2_de.png
+++ b/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_2_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:369c3358762a39c41ed62144ab2b5e15077c0cc35d860d409d3dc07ec91014be
-size 316905
+oid sha256:bc307a1c888ba4238ee113eb62d06303e1a66ba9198bccddcac06a348f8294d5
+size 313215
diff --git a/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_3_de.png b/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_3_de.png
index b82143a424..7717deabda 100644
--- a/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_3_de.png
+++ b/screenshots/de/features.login.impl.screens.onboarding_OnBoardingView_Day_3_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f1d640e2499bb791232c179a913cd07cc629254d975e02f5679811e929fbfd20
-size 311421
+oid sha256:1b619aa43723f2b0acefe6a8b06ad0b1c32bcab142dbdd7f2a6df89036b92323
+size 307425
diff --git a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_0_de.png b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_0_de.png
index dc0fa99f96..d9a7c9b57c 100644
--- a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_0_de.png
+++ b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d6feb59d0f97d679a0d5e0ecd9e5c6939b487b829b7a82671db1a6d8403574bb
-size 396515
+oid sha256:6844f7713a4b428a0a1ccfef5980721dc3a561d6921168134e0231cb4b8a7391
+size 396487
diff --git a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_1_de.png b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_1_de.png
deleted file mode 100644
index dc0fa99f96..0000000000
--- a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_1_de.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:d6feb59d0f97d679a0d5e0ecd9e5c6939b487b829b7a82671db1a6d8403574bb
-size 396515
diff --git a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_2_de.png b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_2_de.png
index 716168a6c3..9db17042dd 100644
--- a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_2_de.png
+++ b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_2_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a6db0a9f5bdb467c1ce39fc8e552753475f8f8b2e77da3bb9ca39f8a1b1a4681
-size 54574
+oid sha256:1397fed8a9781b1f0075fabae221d3bff827fc25aa3b918919202be2a2650d66
+size 54541
diff --git a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_3_de.png b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_3_de.png
index dc0fa99f96..d9a7c9b57c 100644
--- a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_3_de.png
+++ b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_3_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d6feb59d0f97d679a0d5e0ecd9e5c6939b487b829b7a82671db1a6d8403574bb
-size 396515
+oid sha256:6844f7713a4b428a0a1ccfef5980721dc3a561d6921168134e0231cb4b8a7391
+size 396487
diff --git a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_4_de.png b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_4_de.png
index 8eb515be35..a64ef3cb97 100644
--- a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_4_de.png
+++ b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_4_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:9fa4bf73b0d3e48d0e06d939c0b2d9bc824126c116881176d088312b4891d81f
-size 54543
+oid sha256:b7cf927b76093686e123f7f8e45b8ba17f58e15f58bdc1999cdc1a7c2d1f0af6
+size 54509
diff --git a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_5_de.png b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_5_de.png
index 689fa4539c..18148b3dd9 100644
--- a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_5_de.png
+++ b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_5_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:e5e034198ebca17c608365103c0d9b76180d3fd745912b559a0bf210c25ad91c
-size 55724
+oid sha256:e9bde8eb56bf3df43bc4f58122db1b4229736d9949878e8d1162e9b50bf8314c
+size 55693
diff --git a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_7_de.png b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_7_de.png
index dc0fa99f96..d9a7c9b57c 100644
--- a/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_7_de.png
+++ b/screenshots/de/features.messages.impl.attachments.preview_AttachmentsView_7_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d6feb59d0f97d679a0d5e0ecd9e5c6939b487b829b7a82671db1a6d8403574bb
-size 396515
+oid sha256:6844f7713a4b428a0a1ccfef5980721dc3a561d6921168134e0231cb4b8a7391
+size 396487
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 129987cf6d..05cd75b735 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:24abc4b97bde6956806e35a9afd12780371bb0071b1c23598e5f0a6abbb218ac
-size 54991
+oid sha256:37d52ac68f524755b1245b8bfddc137e9ae609b2096f958b9920d2f1c6bebba2
+size 54958
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 e8693e5f62..4b9d2d095e 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:bb13812558aa295627e05908477108c8c1bc9cdb0fae5288ca668488cd49d536
-size 65667
+oid sha256:0733dabade5399a419fa04c553a719c32c4925826d34091f7a64a0b4eb929e23
+size 65637
diff --git a/screenshots/de/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_de.png b/screenshots/de/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_de.png
index 762d8261bb..8c05ba9cdc 100644
--- a/screenshots/de/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_de.png
+++ b/screenshots/de/features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b420f57f6ac010b9e3cfd3f3d5bff3dfd50474a1dfe18fa295f066273d7b2dae
-size 21317
+oid sha256:982e1555cf3dc1a9e954ad5894ff695612daa54352125f905b033e462787df9a
+size 21314
diff --git a/screenshots/de/features.messages.impl.messagecomposer_MessageComposerView_Day_0_de.png b/screenshots/de/features.messages.impl.messagecomposer_MessageComposerView_Day_0_de.png
index f95dddb777..6643ce9eff 100644
--- a/screenshots/de/features.messages.impl.messagecomposer_MessageComposerView_Day_0_de.png
+++ b/screenshots/de/features.messages.impl.messagecomposer_MessageComposerView_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:aa5028f3fed84036094624136b5101cbb2a983d063cc64d0547021b510eaae5d
-size 18550
+oid sha256:e4e58b90fc0168991058340c2e29f3a2146c57598ea471aa7ba0b68b950c5574
+size 18507
diff --git a/screenshots/de/features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_de.png
index d0b692554d..e5c06e8e2f 100644
--- a/screenshots/de/features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_de.png
+++ b/screenshots/de/features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:78be9296ea0102e3738bffcf76ba11596f996a71355133846b5611b1c9b9f988
-size 14606
+oid sha256:eb4cb0382f0da7e276049900e18af9aa4e3dfa3b85eb58cc234696efe5b712c8
+size 49826
diff --git a/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png b/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png
index cae3730883..870e9837ad 100644
--- a/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png
+++ b/screenshots/de/features.messages.impl.timeline.components_MessageShieldView_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:61be4981840f008add4183ab3581c087d82b8aa453d5e87859e1ddd58ffb294b
-size 48166
+oid sha256:93f8eebe5be37e8ee6ba1dd59e3780f7bc96ec94b3b76aa5e3c7d98344e55e36
+size 55948
diff --git a/screenshots/de/features.messages.impl_MessagesView_Day_14_de.png b/screenshots/de/features.messages.impl_MessagesView_Day_14_de.png
new file mode 100644
index 0000000000..75d959028f
--- /dev/null
+++ b/screenshots/de/features.messages.impl_MessagesView_Day_14_de.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:16dadbf00de495615b692187852e0d2e12a749f9ef5bf652b8cfe5d8c5a90d8c
+size 63369
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 1c6f613b11..cad0d74da6 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:1ed6c7840ad790fc808a6c51bebbfd5ebf0cc1735fa0dea5ce692d99ca0178a5
-size 55646
+oid sha256:f4224b4cb9df1cba1c51d93a8454ac397442e4ddc25226455bc4de6d753c62d8
+size 59300
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 60f44fd73a..4043448813 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:cb29742520c9662f7eee364c28129f4f76ae5ab8fd9ce02dbf657a3429a3e7aa
-size 51530
+oid sha256:4810560dc63bdb17ae199183685f1854f9bfff24515efa1e0cdf634be761b646
+size 54170
diff --git a/screenshots/de/features.preferences.impl.user.editprofile_EditUserProfileView_Day_1_de.png b/screenshots/de/features.preferences.impl.user.editprofile_EditUserProfileView_Day_1_de.png
new file mode 100644
index 0000000000..fed4e6873d
--- /dev/null
+++ b/screenshots/de/features.preferences.impl.user.editprofile_EditUserProfileView_Day_1_de.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:78688c13e131c5000e7dec50addad0053bb5d3f7dd90ac092eab81623dac69cc
+size 70524
diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_15_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_15_de.png
index a97ff5b521..6d022fa45a 100644
--- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_15_de.png
+++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_15_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:429df957cda3d0601fe4c451f370241978402033edf6017302115c10aa59f3bc
-size 46237
+oid sha256:5edd8ce73500098587c532e8889baca2c0072cf4194303cb0ddd65e7d26ff398
+size 46184
diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_17_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_17_de.png
index a06d8b5f9f..4fed40e2ee 100644
--- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_17_de.png
+++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_17_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:400de13e3e446bc18b1a5d7819fd4b874ffa4bcbc5b80684d84c203b7f5fb897
-size 41836
+oid sha256:52191d77cc9fb34885078c1861eeb25364eacb3d65e0e25b4ca2ebf2a02d3045
+size 44705
diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_18_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_18_de.png
index cce1b0aa7a..a06d8b5f9f 100644
--- a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_18_de.png
+++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_18_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:1de394c34446754f68f028a11fb4112aa56dbbbc69d8d4d5f8f5f48606bd011c
-size 41792
+oid sha256:400de13e3e446bc18b1a5d7819fd4b874ffa4bcbc5b80684d84c203b7f5fb897
+size 41836
diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_19_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_19_de.png
new file mode 100644
index 0000000000..cce1b0aa7a
--- /dev/null
+++ b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_19_de.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1de394c34446754f68f028a11fb4112aa56dbbbc69d8d4d5f8f5f48606bd011c
+size 41792
diff --git a/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png b/screenshots/de/features.roomdetails.impl_RoomDetailsDark_1_de.png
index 9de805b0a4..af0713f159 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:a93f5d684a4f2acef7584f02235e29fe086cd9aaa30a4028c9fe9ee2c01a653d
-size 38689
+oid sha256:567249653f7aad689badeed227f1fb1844151dbe7e839b2ff79ead5ddd5f91a4
+size 42060
diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_17_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_17_de.png
index 9eb485f277..ec64a5d2a1 100644
--- a/screenshots/de/features.roomdetails.impl_RoomDetails_17_de.png
+++ b/screenshots/de/features.roomdetails.impl_RoomDetails_17_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:422f724e69ca057e5e3031f73bae86fad2fa533af748b930f836c430079c20b0
-size 42861
+oid sha256:be8d3f7dbdc083db4c7698bd8579a33b99fc15e5fae1076a8f8b06b8fb906afd
+size 45981
diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_18_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_18_de.png
index dfc9a43500..9eb485f277 100644
--- a/screenshots/de/features.roomdetails.impl_RoomDetails_18_de.png
+++ b/screenshots/de/features.roomdetails.impl_RoomDetails_18_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f180e16ec70466bcd5b03bc067ce5a017ea2f345776aa38b8b2a54ed534f1cc5
-size 42739
+oid sha256:422f724e69ca057e5e3031f73bae86fad2fa533af748b930f836c430079c20b0
+size 42861
diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_19_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_19_de.png
new file mode 100644
index 0000000000..dfc9a43500
--- /dev/null
+++ b/screenshots/de/features.roomdetails.impl_RoomDetails_19_de.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f180e16ec70466bcd5b03bc067ce5a017ea2f345776aa38b8b2a54ed534f1cc5
+size 42739
diff --git a/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png b/screenshots/de/features.roomdetails.impl_RoomDetails_1_de.png
index 6c3e1b6460..e6eaca702a 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:0abc2fd5fe653f25b3bc13949b1a9c28c5951ca0712db7e399cc7b43dbd71554
-size 39730
+oid sha256:100f6e208e22a312b1ce1009102d5b8d1891d28d0e326e514334e3b53849a65d
+size 43192
diff --git a/screenshots/de/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_de.png b/screenshots/de/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_de.png
index d0f08ffe52..10e166e98a 100644
--- a/screenshots/de/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_MarkdownTextComposerEdit_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:af4e734f66b3d9e1158d4276f43ab8b6915cf8005c512b59831dd581a3cb438e
-size 55494
+oid sha256:2099eef793b8e48ea898f477cbfb782a470079e1e169cb72fd99fb285cae4022
+size 55497
diff --git a/screenshots/de/libraries.textcomposer_TextComposerAddCaption_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerAddCaption_Day_0_de.png
index 4b8cd97ecc..a9633e8d1f 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerAddCaption_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerAddCaption_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:73deeb55c3f7c1734c78fc85ae6892eacc12d3ff507d0b94479f59080af1c505
-size 61242
+oid sha256:bb24147e7a8a9e75c8a8dafd50d83530f2c1e942304f0daa3d6b8b3c28e8bd2a
+size 61442
diff --git a/screenshots/de/libraries.textcomposer_TextComposerCaption_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerCaption_Day_0_de.png
index c11afad1a6..28f77d2dce 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerCaption_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerCaption_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:413062f9f92a3c0f376c12a30dac541da083c4030069834d83f01143d31949c8
-size 48834
+oid sha256:df3992dca26add78c7d5c325c4dcb1dbbbc73ad89edcb187f823f4b28bc057a6
+size 48865
diff --git a/screenshots/de/libraries.textcomposer_TextComposerEditCaption_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerEditCaption_Day_0_de.png
index 2b6a9b823c..86489db05d 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerEditCaption_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerEditCaption_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a19b9df6856f277082a8cec51d2f278b4ec9d8bbc4623c9026fd8f9246e1ed13
-size 59129
+oid sha256:992054813335b901b58b9708e4ff0ec5e15823b1a712ad810052701571550430
+size 59337
diff --git a/screenshots/de/libraries.textcomposer_TextComposerEditNotEncrypted_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerEditNotEncrypted_Day_0_de.png
index 768f400cda..ffc8d8791b 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerEditNotEncrypted_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerEditNotEncrypted_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:0f9dcea0ff31cd53affbe4e6adcae2681ec98570d3f26ef9e79b014c75a57919
-size 67937
+oid sha256:c7ddd16c4d67a3aba5de38be25238c8269f71afe1cd7ebc16108226268f088e7
+size 67935
diff --git a/screenshots/de/libraries.textcomposer_TextComposerEdit_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerEdit_Day_0_de.png
index d0f08ffe52..10e166e98a 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerEdit_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerEdit_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:af4e734f66b3d9e1158d4276f43ab8b6915cf8005c512b59831dd581a3cb438e
-size 55494
+oid sha256:2099eef793b8e48ea898f477cbfb782a470079e1e169cb72fd99fb285cae4022
+size 55497
diff --git a/screenshots/de/libraries.textcomposer_TextComposerFormattingNotEncrypted_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerFormattingNotEncrypted_Day_0_de.png
index 6ea8c4a052..7860ec1988 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerFormattingNotEncrypted_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerFormattingNotEncrypted_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5b45550a4e0579982bda9d9f8ceba223a46111baac3aa91cde7fc55c2d4d63ca
-size 66196
+oid sha256:90706d1d933bb5f730662d812eb846750267a1e2495df9a00aa8b099f407946a
+size 66040
diff --git a/screenshots/de/libraries.textcomposer_TextComposerFormatting_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerFormatting_Day_0_de.png
index 4944157b9c..965bba9f22 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerFormatting_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerFormatting_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:8f521b3c6970fad597fab5a24e4b608bfd9a6d1596c1a4675f402a0ac49d7654
-size 53491
+oid sha256:88b5cef701ed726b9570ef194fd07da2be4b09d3c02a9cecdd0a04894ea5c736
+size 53419
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_0_de.png
index 23421c86c1..1ef7e3004e 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5649deae47b73edf1f57c9e0836285d67b1e3c15de4e8d6587abe635789de05b
-size 74898
+oid sha256:a73103227c128c1f28b3b50cb1c14a9ae052b118249fa807db41e311e82bcf21
+size 74834
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_10_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_10_de.png
index efb98584bd..e30ff355ac 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_10_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_10_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:022ebe25ae12c40682454d668ea24dbe749946f0edeee55ddf28ca22d99c360c
-size 61519
+oid sha256:31112b9353107408794ced14e8079b9c5382e153df7efe5428b4dfae1e8ce4fe
+size 61468
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_11_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_11_de.png
index 2873584aae..aa5b22fcc9 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_11_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_11_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ba32f8394882b4491b345852817e238b30504c2d364a2ab60748e310ecf5f1bd
-size 74291
+oid sha256:da7799a387265659209bbbc28fdef696d603247de596084dc42c84cb1a1e950a
+size 74248
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_1_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_1_de.png
index d704ded910..50632d441e 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_1_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_1_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5c61e5013cef3e1ebe06c51e24e816d3cdf7fcf04857bc7d02a86a480d83844b
-size 82400
+oid sha256:8c82097113e6a51041aea18ebf5ce4d460920d42b1ec25f0ccf44c623a81bbe7
+size 82346
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_2_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_2_de.png
index cda1620f8c..4e541e3b78 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_2_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_2_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:2e40c4bf8e1a08d8a023067681f86ba887b97f54716aef24e0feb8cde2d34975
-size 63999
+oid sha256:3c44eaf0d7532b9d1d0685c51e34ec7543600c745143f39fee8eaf16ac81dbaf
+size 63947
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_3_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_3_de.png
index c736dc8169..f4d891ead7 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_3_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_3_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:344b99b0df98328ac83711647ab162fa6b652eac9b05640938f682e4de47d4d0
-size 62896
+oid sha256:cee23d424d4272b9079ee26d49f4f6b2e5a820af8b6a5ed666228db1f389798a
+size 62838
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_4_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_4_de.png
index 177f5135f3..5801097ed8 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_4_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_4_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7ea10ab065f00bd96553e64dcfe582274bdb075db2fcb882aeeab3710f7b77f9
-size 68530
+oid sha256:11e62a896997c3de594b077b02998359ff96b65b166fccf7bebf419449425e5a
+size 68480
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_5_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_5_de.png
index d2c54e26bb..979ba9c61c 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_5_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_5_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:fe97833d8fb608ade441753fad18ad6e0cce2510b5451e1c5d9b10c18a7e97d4
-size 92039
+oid sha256:1339de24c9c196afc106c955650b13288b7afbebcfae65e68281c7c96c615abd
+size 91982
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_6_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_6_de.png
index 1eab364bad..2de6631075 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_6_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_6_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:76741feeb6e436310715d45f8fcbe01a1987800f10db5ed9fed478b30a77bd0c
-size 62390
+oid sha256:1b2cbfb2eab3af42ef566bd9cdc21d437144b05d968b98d6d86b36def92acafa
+size 62336
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_7_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_7_de.png
index ced6e2c206..e93966addf 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_7_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_7_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d33c1114f55bd699ec160b1ebb518fb809b41ca74e145a1cc894b0a54d1a3ee3
-size 63519
+oid sha256:6050a0697ec0e343c1c3e3c118db5c7b0b70e6538f2a7bb903586bd7f6424ce7
+size 63467
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_8_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_8_de.png
index 5505f6779e..c4d965e54c 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_8_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_8_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:97235ce5cb23cc144a124192cc6849e44beeed331521f289d8d5444df95fc58e
-size 71403
+oid sha256:a0042e41c23d05ccf736061546c8dc30f2a6e15f6f5f7ac82546d90e83c75d55
+size 71344
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_9_de.png b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_9_de.png
index cf0160a1bf..39ec0b5132 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_9_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReplyNotEncrypted_Day_9_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:61d7d88797f535e24d84ea5fceb15f8362b31d6a08510e38214288e978bad0e5
-size 61926
+oid sha256:dbaade7bde192beee2f230097bf022f3f091fa64cde85ee8106f2e27f985f055
+size 61874
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_0_de.png
index 1cf257b5df..366f5c6f55 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:483a47b2450370d7e5cfc267c4c6d21fb6bf91cc09b734215355276bf21d6516
-size 75980
+oid sha256:a9c6ba3a6d39ab7928ce7ccf7e37a399412cd71a8ff790997806f860358c4d01
+size 75900
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_10_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_10_de.png
index 9f238e3d0f..c2a79f6649 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_10_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_10_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:e03d4fb9d9f61c7be275c35f2147f7fe6eb4e0f8185c81ae0e8c92e3a649b705
-size 59483
+oid sha256:dde43a408286bd596221359e3a29ed82325326f9c5f9ea7e83636ec2a07855e4
+size 59435
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_11_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_11_de.png
index 7088990852..3d0a1cb6c8 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_11_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_11_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:2b21561e0a75416139e6cea48147fcf8f94fcb82470c083de2386bc09b6bb638
-size 74179
+oid sha256:8ccdf0f2a87017ff6fd061670450aa6e4fa33dfdef95e0100b94aaf304c8edc9
+size 74099
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_1_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_1_de.png
index 7343ba3a68..5bf71f1dea 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_1_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_1_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:72cf358766cac6a25856d67b64231e0f197d822d528e6b2677121c939c3af009
-size 85364
+oid sha256:9050d07e311f03077cc9e943ca3dd50612b95804232bda285e076390c4da86c6
+size 85289
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_2_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_2_de.png
index b62091a933..2c3b4f6a5f 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_2_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_2_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:8e97d95e3879db231a277be5811fcb8ad9c4781266180a17ee051b23c70b7d35
-size 62594
+oid sha256:7f9e6b5f62d9ca76b369a204040f583932bc827fb6b5f1c1ca0942c814d30f31
+size 62539
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_3_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_3_de.png
index 4ad99eaff1..048d4842d9 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_3_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_3_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:04ef750b7bf937ec4f37bfef7b8fe01d8ad5dae3a0e82220a5058a72c2747799
-size 61642
+oid sha256:ea1f6d452f6fbb9ba45bbc3ef777266f99fd71e0f277c8c557adc8d9470adddf
+size 61586
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_4_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_4_de.png
index 6ec236e181..bcf5e5386c 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_4_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_4_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ceb13e2468d332613c9876f5b1b8b0f2d1d0308f60f8375d1157a28aab6af6a8
-size 69022
+oid sha256:1053bc550660011eee4f313a845d596b5fec2e6a6c65580a7843f855998f2017
+size 68969
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_5_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_5_de.png
index 735caca5a4..2480986170 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_5_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_5_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7aa44ff345d0b2bb9a4f2c2c94f4cf5acfe1518c33608a4673f748d5f25ac886
-size 104285
+oid sha256:5c53a176cf0f300d40708e01069e27c66349d874c206bd7d079dafa3bcf71abe
+size 104228
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_6_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_6_de.png
index c9f64c9762..7d10e145ec 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_6_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_6_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a15da02688f8f096b84d61579901b0b1b951a3e3ad185a41959f8bf51a12ba02
-size 60667
+oid sha256:c46f7a68998accd949e8ca2e33bd9f8e663de338ebd464e9178dab4c4dd8deec
+size 60617
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_7_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_7_de.png
index 4b5ed412cc..0419ce4b2a 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_7_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_7_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5c6b9ef3e544c8b43b037d1d85bffb1c20c19d211ebeae8fde3c1832e2454759
-size 62717
+oid sha256:1fcfe18b254baaff3c93481680979f944fbcbab9e40de45920e35a031e3d64b9
+size 62666
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_8_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_8_de.png
index a020e8e929..ea8a69d22a 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_8_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_8_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5bcfd88322da25f0222dc25941b3c05a3e1b40bf9c43d6d6479e8c2e9c1590d5
-size 71118
+oid sha256:c4e5601722e9d3e983e168e7725d1bf0538692b89a22784257c6a6f451dad447
+size 71072
diff --git a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_9_de.png b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_9_de.png
index 5ed4c0135b..dc4559c47d 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerReply_Day_9_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerReply_Day_9_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:38722413573171f3e32a273e18d1e07d887dc031b56dbc337495e74b972f8d5e
-size 60175
+oid sha256:01a0264c455d738cb46073213f043ab27762bec96d5839c42daaf12cfec9dd0f
+size 60127
diff --git a/screenshots/de/libraries.textcomposer_TextComposerSimpleNotEncrypted_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerSimpleNotEncrypted_Day_0_de.png
index 55c39845a0..d892e33f6d 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerSimpleNotEncrypted_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerSimpleNotEncrypted_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:6bf747f7a203f82715af67bfbe1d7833781122f4df5bb1edee6c69b964bd5354
-size 58386
+oid sha256:f553fb21d87d1b6cb92d083e60e873d1aa56b85ff2a06874122c78bd72c250f0
+size 58371
diff --git a/screenshots/de/libraries.textcomposer_TextComposerSimple_Day_0_de.png b/screenshots/de/libraries.textcomposer_TextComposerSimple_Day_0_de.png
index 795ba6a267..62761e404a 100644
--- a/screenshots/de/libraries.textcomposer_TextComposerSimple_Day_0_de.png
+++ b/screenshots/de/libraries.textcomposer_TextComposerSimple_Day_0_de.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:38ec4ada1a2d0f5ca18b8d11d30477be907bc9947cd42e93cf546a86cb75e188
-size 46540
+oid sha256:48afdc8565914ae3782d3c90055bd7686e0e208638a2fb8b86bdaf70c5e48ea3
+size 46578
diff --git a/screenshots/html/data.js b/screenshots/html/data.js
index 5edac704cf..c2fa336194 100644
--- a/screenshots/html/data.js
+++ b/screenshots/html/data.js
@@ -1,70 +1,71 @@
// 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",20252,],
+["features.preferences.impl.about_AboutView_Day_0_en","features.preferences.impl.about_AboutView_Night_0_en",20266,],
["features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_0_en","features.invite.impl.acceptdecline_AcceptDeclineInviteView_Night_0_en",0,],
-["features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_1_en","features.invite.impl.acceptdecline_AcceptDeclineInviteView_Night_1_en",20252,],
-["features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_2_en","features.invite.impl.acceptdecline_AcceptDeclineInviteView_Night_2_en",20252,],
-["features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_3_en","features.invite.impl.acceptdecline_AcceptDeclineInviteView_Night_3_en",20252,],
-["features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_4_en","features.invite.impl.acceptdecline_AcceptDeclineInviteView_Night_4_en",20252,],
-["features.logout.impl_AccountDeactivationView_Day_0_en","features.logout.impl_AccountDeactivationView_Night_0_en",20252,],
-["features.logout.impl_AccountDeactivationView_Day_1_en","features.logout.impl_AccountDeactivationView_Night_1_en",20252,],
-["features.logout.impl_AccountDeactivationView_Day_2_en","features.logout.impl_AccountDeactivationView_Night_2_en",20252,],
-["features.logout.impl_AccountDeactivationView_Day_3_en","features.logout.impl_AccountDeactivationView_Night_3_en",20252,],
-["features.logout.impl_AccountDeactivationView_Day_4_en","features.logout.impl_AccountDeactivationView_Night_4_en",20252,],
-["features.login.impl.accountprovider_AccountProviderOtherView_Day_0_en","features.login.impl.accountprovider_AccountProviderOtherView_Night_0_en",20252,],
+["features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_1_en","features.invite.impl.acceptdecline_AcceptDeclineInviteView_Night_1_en",20266,],
+["features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_2_en","features.invite.impl.acceptdecline_AcceptDeclineInviteView_Night_2_en",20266,],
+["features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_3_en","features.invite.impl.acceptdecline_AcceptDeclineInviteView_Night_3_en",20266,],
+["features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_4_en","features.invite.impl.acceptdecline_AcceptDeclineInviteView_Night_4_en",20266,],
+["features.invite.impl.acceptdecline_AcceptDeclineInviteView_Day_5_en","features.invite.impl.acceptdecline_AcceptDeclineInviteView_Night_5_en",20269,],
+["features.logout.impl_AccountDeactivationView_Day_0_en","features.logout.impl_AccountDeactivationView_Night_0_en",20266,],
+["features.logout.impl_AccountDeactivationView_Day_1_en","features.logout.impl_AccountDeactivationView_Night_1_en",20266,],
+["features.logout.impl_AccountDeactivationView_Day_2_en","features.logout.impl_AccountDeactivationView_Night_2_en",20266,],
+["features.logout.impl_AccountDeactivationView_Day_3_en","features.logout.impl_AccountDeactivationView_Night_3_en",20266,],
+["features.logout.impl_AccountDeactivationView_Day_4_en","features.logout.impl_AccountDeactivationView_Night_4_en",20266,],
+["features.login.impl.accountprovider_AccountProviderOtherView_Day_0_en","features.login.impl.accountprovider_AccountProviderOtherView_Night_0_en",20266,],
["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",20252,],
-["features.messages.impl.actionlist_ActionListViewContent_Day_11_en","features.messages.impl.actionlist_ActionListViewContent_Night_11_en",20252,],
-["features.messages.impl.actionlist_ActionListViewContent_Day_12_en","features.messages.impl.actionlist_ActionListViewContent_Night_12_en",20252,],
+["features.messages.impl.actionlist_ActionListViewContent_Day_10_en","features.messages.impl.actionlist_ActionListViewContent_Night_10_en",20266,],
+["features.messages.impl.actionlist_ActionListViewContent_Day_11_en","features.messages.impl.actionlist_ActionListViewContent_Night_11_en",20266,],
+["features.messages.impl.actionlist_ActionListViewContent_Day_12_en","features.messages.impl.actionlist_ActionListViewContent_Night_12_en",20266,],
["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",20252,],
-["features.messages.impl.actionlist_ActionListViewContent_Day_3_en","features.messages.impl.actionlist_ActionListViewContent_Night_3_en",20252,],
-["features.messages.impl.actionlist_ActionListViewContent_Day_4_en","features.messages.impl.actionlist_ActionListViewContent_Night_4_en",20252,],
-["features.messages.impl.actionlist_ActionListViewContent_Day_5_en","features.messages.impl.actionlist_ActionListViewContent_Night_5_en",20252,],
-["features.messages.impl.actionlist_ActionListViewContent_Day_6_en","features.messages.impl.actionlist_ActionListViewContent_Night_6_en",20252,],
-["features.messages.impl.actionlist_ActionListViewContent_Day_7_en","features.messages.impl.actionlist_ActionListViewContent_Night_7_en",20252,],
-["features.messages.impl.actionlist_ActionListViewContent_Day_8_en","features.messages.impl.actionlist_ActionListViewContent_Night_8_en",20252,],
-["features.messages.impl.actionlist_ActionListViewContent_Day_9_en","features.messages.impl.actionlist_ActionListViewContent_Night_9_en",20252,],
-["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",20252,],
-["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",20252,],
-["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",20252,],
-["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewDark_0_en","",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewDark_1_en","",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewDark_2_en","",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewDark_3_en","",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewDark_4_en","",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewDark_5_en","",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewLight_0_en","",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewLight_1_en","",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewLight_2_en","",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewLight_3_en","",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewLight_4_en","",20252,],
-["features.preferences.impl.advanced_AdvancedSettingsViewLight_5_en","",20252,],
-["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",20252,],
-["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",20252,],
-["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",20252,],
-["features.analytics.impl_AnalyticsOptInView_Day_1_en","features.analytics.impl_AnalyticsOptInView_Night_1_en",20252,],
-["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",20252,],
-["features.analytics.api.preferences_AnalyticsPreferencesView_Day_1_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_1_en",20252,],
-["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",20252,],
+["features.messages.impl.actionlist_ActionListViewContent_Day_2_en","features.messages.impl.actionlist_ActionListViewContent_Night_2_en",20266,],
+["features.messages.impl.actionlist_ActionListViewContent_Day_3_en","features.messages.impl.actionlist_ActionListViewContent_Night_3_en",20266,],
+["features.messages.impl.actionlist_ActionListViewContent_Day_4_en","features.messages.impl.actionlist_ActionListViewContent_Night_4_en",20266,],
+["features.messages.impl.actionlist_ActionListViewContent_Day_5_en","features.messages.impl.actionlist_ActionListViewContent_Night_5_en",20266,],
+["features.messages.impl.actionlist_ActionListViewContent_Day_6_en","features.messages.impl.actionlist_ActionListViewContent_Night_6_en",20266,],
+["features.messages.impl.actionlist_ActionListViewContent_Day_7_en","features.messages.impl.actionlist_ActionListViewContent_Night_7_en",20266,],
+["features.messages.impl.actionlist_ActionListViewContent_Day_8_en","features.messages.impl.actionlist_ActionListViewContent_Night_8_en",20266,],
+["features.messages.impl.actionlist_ActionListViewContent_Day_9_en","features.messages.impl.actionlist_ActionListViewContent_Night_9_en",20266,],
+["features.createroom.impl.addpeople_AddPeopleView_Day_0_en","features.createroom.impl.addpeople_AddPeopleView_Night_0_en",20266,],
+["features.createroom.impl.addpeople_AddPeopleView_Day_1_en","features.createroom.impl.addpeople_AddPeopleView_Night_1_en",20266,],
+["features.createroom.impl.addpeople_AddPeopleView_Day_2_en","features.createroom.impl.addpeople_AddPeopleView_Night_2_en",20266,],
+["features.createroom.impl.addpeople_AddPeopleView_Day_3_en","features.createroom.impl.addpeople_AddPeopleView_Night_3_en",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewDark_0_en","",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewDark_1_en","",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewDark_2_en","",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewDark_3_en","",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewDark_4_en","",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewDark_5_en","",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewLight_0_en","",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewLight_1_en","",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewLight_2_en","",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewLight_3_en","",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewLight_4_en","",20266,],
+["features.preferences.impl.advanced_AdvancedSettingsViewLight_5_en","",20266,],
+["libraries.designsystem.components.dialogs_AlertDialogContent_Dialogs_en","",20266,],
+["libraries.designsystem.components.dialogs_AlertDialog_Day_0_en","libraries.designsystem.components.dialogs_AlertDialog_Night_0_en",20266,],
+["features.analytics.impl_AnalyticsOptInView_Day_0_en","features.analytics.impl_AnalyticsOptInView_Night_0_en",20266,],
+["features.analytics.impl_AnalyticsOptInView_Day_1_en","features.analytics.impl_AnalyticsOptInView_Night_1_en",20266,],
+["features.analytics.api.preferences_AnalyticsPreferencesView_Day_0_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_0_en",20266,],
+["features.analytics.api.preferences_AnalyticsPreferencesView_Day_1_en","features.analytics.api.preferences_AnalyticsPreferencesView_Night_1_en",20266,],
+["features.preferences.impl.analytics_AnalyticsSettingsView_Day_0_en","features.preferences.impl.analytics_AnalyticsSettingsView_Night_0_en",20266,],
["libraries.designsystem.components_Announcement_Day_0_en","libraries.designsystem.components_Announcement_Night_0_en",0,],
-["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",20252,],
+["services.apperror.impl_AppErrorView_Day_0_en","services.apperror.impl_AppErrorView_Night_0_en",20266,],
["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",20252,],
+["libraries.designsystem.components.async_AsyncActionView_Day_1_en","libraries.designsystem.components.async_AsyncActionView_Night_1_en",20266,],
["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",20252,],
+["libraries.designsystem.components.async_AsyncActionView_Day_3_en","libraries.designsystem.components.async_AsyncActionView_Night_3_en",20266,],
["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",20252,],
+["libraries.designsystem.components.async_AsyncFailure_Day_0_en","libraries.designsystem.components.async_AsyncFailure_Night_0_en",20266,],
["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",20252,],
+["features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Day_0_en","features.messages.impl.messagecomposer_AttachmentSourcePickerMenu_Night_0_en",20266,],
["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,],
@@ -74,18 +75,19 @@ 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","",20252,],
-["features.messages.impl.attachments.preview_AttachmentsView_1_en","",20252,],
-["features.messages.impl.attachments.preview_AttachmentsView_2_en","",20252,],
-["features.messages.impl.attachments.preview_AttachmentsView_3_en","",20252,],
-["features.messages.impl.attachments.preview_AttachmentsView_4_en","",20252,],
-["features.messages.impl.attachments.preview_AttachmentsView_5_en","",20252,],
+["features.messages.impl.attachments.preview_AttachmentsView_0_en","",20266,],
+["features.messages.impl.attachments.preview_AttachmentsView_1_en","",0,],
+["features.messages.impl.attachments.preview_AttachmentsView_2_en","",20266,],
+["features.messages.impl.attachments.preview_AttachmentsView_3_en","",20266,],
+["features.messages.impl.attachments.preview_AttachmentsView_4_en","",20266,],
+["features.messages.impl.attachments.preview_AttachmentsView_5_en","",20266,],
["features.messages.impl.attachments.preview_AttachmentsView_6_en","",0,],
-["features.messages.impl.attachments.preview_AttachmentsView_7_en","",20252,],
+["features.messages.impl.attachments.preview_AttachmentsView_7_en","",20266,],
["libraries.mediaviewer.impl.gallery.ui_AudioItemView_Day_0_en","libraries.mediaviewer.impl.gallery.ui_AudioItemView_Night_0_en",0,],
["libraries.mediaviewer.impl.gallery.ui_AudioItemView_Day_1_en","libraries.mediaviewer.impl.gallery.ui_AudioItemView_Night_1_en",0,],
["libraries.mediaviewer.impl.gallery.ui_AudioItemView_Day_2_en","libraries.mediaviewer.impl.gallery.ui_AudioItemView_Night_2_en",0,],
-["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",20252,],
+["libraries.matrix.ui.components_AvatarActionBottomSheet_Day_0_en","libraries.matrix.ui.components_AvatarActionBottomSheet_Night_0_en",20266,],
+["libraries.designsystem.components.avatar.internal_AvatarCluster_Avatars_en","",0,],
["features.knockrequests.impl.banner_AvatarRowRtl_Day_0_en","features.knockrequests.impl.banner_AvatarRowRtl_Night_0_en",0,],
["features.knockrequests.impl.banner_AvatarRowRtl_Day_1_en","features.knockrequests.impl.banner_AvatarRowRtl_Night_1_en",0,],
["features.knockrequests.impl.banner_AvatarRowRtl_Day_2_en","features.knockrequests.impl.banner_AvatarRowRtl_Night_2_en",0,],
@@ -191,15 +193,16 @@ export const screenshots = [
["libraries.designsystem.components.avatar_Avatar_Avatars_9_en","",0,],
["libraries.designsystem.components.button_BackButton_Buttons_en","",0,],
["libraries.designsystem.components_Badge_Day_0_en","libraries.designsystem.components_Badge_Night_0_en",0,],
+["features.home.impl.components_BatteryOptimizationBanner_Day_0_en","features.home.impl.components_BatteryOptimizationBanner_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",20252,],
-["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",20252,],
-["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",20252,],
-["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",20252,],
-["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",20252,],
-["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",20252,],
-["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",20252,],
+["features.preferences.impl.blockedusers_BlockedUsersView_Day_0_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_0_en",20266,],
+["features.preferences.impl.blockedusers_BlockedUsersView_Day_1_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_1_en",20266,],
+["features.preferences.impl.blockedusers_BlockedUsersView_Day_2_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_2_en",20266,],
+["features.preferences.impl.blockedusers_BlockedUsersView_Day_3_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_3_en",20266,],
+["features.preferences.impl.blockedusers_BlockedUsersView_Day_4_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_4_en",20266,],
+["features.preferences.impl.blockedusers_BlockedUsersView_Day_5_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_5_en",20266,],
+["features.preferences.impl.blockedusers_BlockedUsersView_Day_6_en","features.preferences.impl.blockedusers_BlockedUsersView_Night_6_en",20266,],
["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,],
@@ -210,141 +213,138 @@ 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",20252,],
-["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",20252,],
-["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",20252,],
-["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",20252,],
-["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",20252,],
+["features.rageshake.impl.bugreport_BugReportView_Day_0_en","features.rageshake.impl.bugreport_BugReportView_Night_0_en",20266,],
+["features.rageshake.impl.bugreport_BugReportView_Day_1_en","features.rageshake.impl.bugreport_BugReportView_Night_1_en",20266,],
+["features.rageshake.impl.bugreport_BugReportView_Day_2_en","features.rageshake.impl.bugreport_BugReportView_Night_2_en",20266,],
+["features.rageshake.impl.bugreport_BugReportView_Day_3_en","features.rageshake.impl.bugreport_BugReportView_Night_3_en",20266,],
+["features.rageshake.impl.bugreport_BugReportView_Day_4_en","features.rageshake.impl.bugreport_BugReportView_Night_4_en",20266,],
["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.messages.impl.timeline.components_CallMenuItem_Day_0_en","features.messages.impl.timeline.components_CallMenuItem_Night_0_en",0,],
["features.messages.impl.timeline.components_CallMenuItem_Day_1_en","features.messages.impl.timeline.components_CallMenuItem_Night_1_en",0,],
-["features.messages.impl.timeline.components_CallMenuItem_Day_2_en","features.messages.impl.timeline.components_CallMenuItem_Night_2_en",20252,],
-["features.messages.impl.timeline.components_CallMenuItem_Day_3_en","features.messages.impl.timeline.components_CallMenuItem_Night_3_en",20252,],
+["features.messages.impl.timeline.components_CallMenuItem_Day_2_en","features.messages.impl.timeline.components_CallMenuItem_Night_2_en",20266,],
+["features.messages.impl.timeline.components_CallMenuItem_Day_3_en","features.messages.impl.timeline.components_CallMenuItem_Night_3_en",20266,],
["features.messages.impl.timeline.components_CallMenuItem_Day_4_en","features.messages.impl.timeline.components_CallMenuItem_Night_4_en",0,],
["features.messages.impl.timeline.components_CallMenuItem_Day_5_en","features.messages.impl.timeline.components_CallMenuItem_Night_5_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",20252,],
-["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",20252,],
-["features.call.impl.ui_CallScreenView_Day_3_en","features.call.impl.ui_CallScreenView_Night_3_en",20252,],
-["libraries.textcomposer_CaptionWarningBottomSheet_Day_0_en","libraries.textcomposer_CaptionWarningBottomSheet_Night_0_en",20252,],
-["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",20252,],
-["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_1_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_1_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",20252,],
+["features.call.impl.ui_CallScreenView_Day_1_en","features.call.impl.ui_CallScreenView_Night_1_en",20266,],
+["features.call.impl.ui_CallScreenView_Day_2_en","features.call.impl.ui_CallScreenView_Night_2_en",20266,],
+["features.call.impl.ui_CallScreenView_Day_3_en","features.call.impl.ui_CallScreenView_Night_3_en",20266,],
+["libraries.textcomposer_CaptionWarningBottomSheet_Day_0_en","libraries.textcomposer_CaptionWarningBottomSheet_Night_0_en",20266,],
+["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_0_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_0_en",20266,],
+["features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Day_1_en","features.login.impl.screens.changeaccountprovider_ChangeAccountProviderView_Night_1_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_0_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_10_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_10_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_1_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_1_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_2_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_2_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_3_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_3_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_4_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_4_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_5_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_5_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_6_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_6_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_7_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_7_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_8_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_8_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Day_9_en","features.roomdetails.impl.rolesandpermissions.changeroles_ChangeRolesView_Night_9_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_0_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_1_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_2_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_3_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_4_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_5_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions.permissions_ChangeRoomPermissionsView_Night_6_en",20266,],
["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",20252,],
-["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",20252,],
-["features.login.impl.changeserver_ChangeServerView_Day_3_en","features.login.impl.changeserver_ChangeServerView_Night_3_en",20252,],
+["features.login.impl.changeserver_ChangeServerView_Day_1_en","features.login.impl.changeserver_ChangeServerView_Night_1_en",20266,],
+["features.login.impl.changeserver_ChangeServerView_Day_2_en","features.login.impl.changeserver_ChangeServerView_Night_2_en",20266,],
+["features.login.impl.changeserver_ChangeServerView_Day_3_en","features.login.impl.changeserver_ChangeServerView_Night_3_en",20266,],
["libraries.matrix.ui.components_CheckableResolvedUserRow_en","",0,],
-["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",20252,],
+["libraries.matrix.ui.components_CheckableUnresolvedUserRow_en","",20266,],
["libraries.designsystem.theme.components_Checkboxes_Toggles_en","",0,],
-["features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Day_0_en","features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Night_0_en",20252,],
-["features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Day_1_en","features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Night_1_en",20252,],
-["features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Day_2_en","features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Night_2_en",20252,],
-["features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Day_0_en","features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Night_0_en",20252,],
-["features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Day_1_en","features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Night_1_en",20252,],
-["features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Day_2_en","features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Night_2_en",20252,],
-["features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Day_3_en","features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Night_3_en",20252,],
+["features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Day_0_en","features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Night_0_en",20266,],
+["features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Day_1_en","features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Night_1_en",20266,],
+["features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Day_2_en","features.login.impl.screens.chooseaccountprovider_ChooseAccountProviderView_Night_2_en",20266,],
+["features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Day_0_en","features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Night_0_en",20266,],
+["features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Day_1_en","features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Night_1_en",20266,],
+["features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Day_2_en","features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Night_2_en",20266,],
+["features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Day_3_en","features.ftue.impl.sessionverification.choosemode_ChooseSelfVerificationModeView_Night_3_en",20266,],
["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",20252,],
-["libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_1_en","libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_1_en",20252,],
-["libraries.textcomposer_ComposerModeView_Day_0_en","libraries.textcomposer_ComposerModeView_Night_0_en",20252,],
+["libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_0_en","libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_0_en",20266,],
+["libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Day_1_en","libraries.designsystem.atomic.molecules_ComposerAlertMolecule_Night_1_en",20266,],
+["libraries.textcomposer_ComposerModeView_Day_0_en","libraries.textcomposer_ComposerModeView_Night_0_en",20266,],
["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.designsystem.components.avatar_CompositeAvatar_Avatars_en","",0,],
-["features.createroom.impl.configureroom_ConfigureRoomViewDark_0_en","",20252,],
-["features.createroom.impl.configureroom_ConfigureRoomViewDark_1_en","",20252,],
-["features.createroom.impl.configureroom_ConfigureRoomViewDark_2_en","",20252,],
-["features.createroom.impl.configureroom_ConfigureRoomViewDark_3_en","",20252,],
-["features.createroom.impl.configureroom_ConfigureRoomViewDark_4_en","",20252,],
-["features.createroom.impl.configureroom_ConfigureRoomViewDark_5_en","",20252,],
-["features.createroom.impl.configureroom_ConfigureRoomViewLight_0_en","",20252,],
-["features.createroom.impl.configureroom_ConfigureRoomViewLight_1_en","",20252,],
-["features.createroom.impl.configureroom_ConfigureRoomViewLight_2_en","",20252,],
-["features.createroom.impl.configureroom_ConfigureRoomViewLight_3_en","",20252,],
-["features.createroom.impl.configureroom_ConfigureRoomViewLight_4_en","",20252,],
-["features.createroom.impl.configureroom_ConfigureRoomViewLight_5_en","",20252,],
-["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",20252,],
-["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en",20252,],
-["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en",20252,],
-["features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",20252,],
+["features.createroom.impl.configureroom_ConfigureRoomViewDark_0_en","",20266,],
+["features.createroom.impl.configureroom_ConfigureRoomViewDark_1_en","",20266,],
+["features.createroom.impl.configureroom_ConfigureRoomViewDark_2_en","",20266,],
+["features.createroom.impl.configureroom_ConfigureRoomViewDark_3_en","",20266,],
+["features.createroom.impl.configureroom_ConfigureRoomViewDark_4_en","",20266,],
+["features.createroom.impl.configureroom_ConfigureRoomViewDark_5_en","",20266,],
+["features.createroom.impl.configureroom_ConfigureRoomViewLight_0_en","",20266,],
+["features.createroom.impl.configureroom_ConfigureRoomViewLight_1_en","",20266,],
+["features.createroom.impl.configureroom_ConfigureRoomViewLight_2_en","",20266,],
+["features.createroom.impl.configureroom_ConfigureRoomViewLight_3_en","",20266,],
+["features.createroom.impl.configureroom_ConfigureRoomViewLight_4_en","",20266,],
+["features.createroom.impl.configureroom_ConfigureRoomViewLight_5_en","",20266,],
+["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_0_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_0_en",20266,],
+["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_1_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_1_en",20266,],
+["features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Day_2_en","features.login.impl.screens.confirmaccountprovider_ConfirmAccountProviderView_Night_2_en",20266,],
+["features.home.impl.components_ConfirmRecoveryKeyBanner_Day_0_en","features.home.impl.components_ConfirmRecoveryKeyBanner_Night_0_en",20269,],
["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,],
["libraries.designsystem.atomic.atoms_CounterAtom_Day_0_en","libraries.designsystem.atomic.atoms_CounterAtom_Night_0_en",0,],
-["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",20252,],
-["features.login.impl.screens.createaccount_CreateAccountView_Day_0_en","features.login.impl.screens.createaccount_CreateAccountView_Night_0_en",20252,],
-["features.login.impl.screens.createaccount_CreateAccountView_Day_1_en","features.login.impl.screens.createaccount_CreateAccountView_Night_1_en",20252,],
-["features.login.impl.screens.createaccount_CreateAccountView_Day_2_en","features.login.impl.screens.createaccount_CreateAccountView_Night_2_en",20252,],
-["features.login.impl.screens.createaccount_CreateAccountView_Day_3_en","features.login.impl.screens.createaccount_CreateAccountView_Night_3_en",20252,],
-["libraries.matrix.ui.components_CreateDmConfirmationBottomSheet_Day_0_en","libraries.matrix.ui.components_CreateDmConfirmationBottomSheet_Night_0_en",20252,],
-["libraries.matrix.ui.components_CreateDmConfirmationBottomSheet_Day_1_en","libraries.matrix.ui.components_CreateDmConfirmationBottomSheet_Night_1_en",20252,],
-["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",20252,],
-["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",20252,],
-["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",20252,],
-["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",20252,],
-["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",20252,],
-["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",20252,],
-["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",20252,],
-["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",20252,],
-["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",20252,],
-["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",20252,],
-["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",20252,],
-["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",20252,],
-["features.createroom.impl.root_CreateRoomRootView_Day_4_en","features.createroom.impl.root_CreateRoomRootView_Night_4_en",20252,],
-["features.createroom.impl.root_CreateRoomRootView_Day_5_en","features.createroom.impl.root_CreateRoomRootView_Night_5_en",20252,],
-["libraries.dateformatter.impl.previews_DateFormatterModeView_0_en","",20252,],
-["libraries.dateformatter.impl.previews_DateFormatterModeView_1_en","",20252,],
-["libraries.dateformatter.impl.previews_DateFormatterModeView_2_en","",20252,],
-["libraries.dateformatter.impl.previews_DateFormatterModeView_3_en","",20252,],
-["libraries.dateformatter.impl.previews_DateFormatterModeView_4_en","",20252,],
+["features.rageshake.api.crash_CrashDetectionView_Day_0_en","features.rageshake.api.crash_CrashDetectionView_Night_0_en",20266,],
+["features.login.impl.screens.createaccount_CreateAccountView_Day_0_en","features.login.impl.screens.createaccount_CreateAccountView_Night_0_en",20266,],
+["features.login.impl.screens.createaccount_CreateAccountView_Day_1_en","features.login.impl.screens.createaccount_CreateAccountView_Night_1_en",20266,],
+["features.login.impl.screens.createaccount_CreateAccountView_Day_2_en","features.login.impl.screens.createaccount_CreateAccountView_Night_2_en",20266,],
+["features.login.impl.screens.createaccount_CreateAccountView_Day_3_en","features.login.impl.screens.createaccount_CreateAccountView_Night_3_en",20266,],
+["libraries.matrix.ui.components_CreateDmConfirmationBottomSheet_Day_0_en","libraries.matrix.ui.components_CreateDmConfirmationBottomSheet_Night_0_en",20266,],
+["libraries.matrix.ui.components_CreateDmConfirmationBottomSheet_Day_1_en","libraries.matrix.ui.components_CreateDmConfirmationBottomSheet_Night_1_en",20266,],
+["features.poll.impl.create_CreatePollView_Day_0_en","features.poll.impl.create_CreatePollView_Night_0_en",20266,],
+["features.poll.impl.create_CreatePollView_Day_1_en","features.poll.impl.create_CreatePollView_Night_1_en",20266,],
+["features.poll.impl.create_CreatePollView_Day_2_en","features.poll.impl.create_CreatePollView_Night_2_en",20266,],
+["features.poll.impl.create_CreatePollView_Day_3_en","features.poll.impl.create_CreatePollView_Night_3_en",20266,],
+["features.poll.impl.create_CreatePollView_Day_4_en","features.poll.impl.create_CreatePollView_Night_4_en",20266,],
+["features.poll.impl.create_CreatePollView_Day_5_en","features.poll.impl.create_CreatePollView_Night_5_en",20266,],
+["features.poll.impl.create_CreatePollView_Day_6_en","features.poll.impl.create_CreatePollView_Night_6_en",20266,],
+["features.poll.impl.create_CreatePollView_Day_7_en","features.poll.impl.create_CreatePollView_Night_7_en",20266,],
+["features.createroom.impl.root_CreateRoomRootView_Day_0_en","features.createroom.impl.root_CreateRoomRootView_Night_0_en",20266,],
+["features.createroom.impl.root_CreateRoomRootView_Day_1_en","features.createroom.impl.root_CreateRoomRootView_Night_1_en",20266,],
+["features.createroom.impl.root_CreateRoomRootView_Day_2_en","features.createroom.impl.root_CreateRoomRootView_Night_2_en",20266,],
+["features.createroom.impl.root_CreateRoomRootView_Day_3_en","features.createroom.impl.root_CreateRoomRootView_Night_3_en",20266,],
+["features.createroom.impl.root_CreateRoomRootView_Day_4_en","features.createroom.impl.root_CreateRoomRootView_Night_4_en",20266,],
+["features.createroom.impl.root_CreateRoomRootView_Day_5_en","features.createroom.impl.root_CreateRoomRootView_Night_5_en",20266,],
+["libraries.dateformatter.impl.previews_DateFormatterModeView_0_en","",20266,],
+["libraries.dateformatter.impl.previews_DateFormatterModeView_1_en","",20266,],
+["libraries.dateformatter.impl.previews_DateFormatterModeView_2_en","",20266,],
+["libraries.dateformatter.impl.previews_DateFormatterModeView_3_en","",20266,],
+["libraries.dateformatter.impl.previews_DateFormatterModeView_4_en","",20266,],
["libraries.mediaviewer.impl.gallery.ui_DateItemView_Day_0_en","libraries.mediaviewer.impl.gallery.ui_DateItemView_Night_0_en",0,],
["libraries.mediaviewer.impl.gallery.ui_DateItemView_Day_1_en","libraries.mediaviewer.impl.gallery.ui_DateItemView_Night_1_en",0,],
-["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime_pickers_en","",20252,],
-["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime_pickers_en","",20252,],
-["features.invite.impl.declineandblock_DeclineAndBlockView_Day_0_en","features.invite.impl.declineandblock_DeclineAndBlockView_Night_0_en",20252,],
-["features.invite.impl.declineandblock_DeclineAndBlockView_Day_1_en","features.invite.impl.declineandblock_DeclineAndBlockView_Night_1_en",20252,],
-["features.invite.impl.declineandblock_DeclineAndBlockView_Day_2_en","features.invite.impl.declineandblock_DeclineAndBlockView_Night_2_en",20252,],
-["features.invite.impl.declineandblock_DeclineAndBlockView_Day_3_en","features.invite.impl.declineandblock_DeclineAndBlockView_Night_3_en",20252,],
-["features.invite.impl.declineandblock_DeclineAndBlockView_Day_4_en","features.invite.impl.declineandblock_DeclineAndBlockView_Night_4_en",20252,],
+["libraries.designsystem.theme.components.previews_DatePickerDark_DateTime_pickers_en","",20266,],
+["libraries.designsystem.theme.components.previews_DatePickerLight_DateTime_pickers_en","",20266,],
+["features.invite.impl.declineandblock_DeclineAndBlockView_Day_0_en","features.invite.impl.declineandblock_DeclineAndBlockView_Night_0_en",20266,],
+["features.invite.impl.declineandblock_DeclineAndBlockView_Day_1_en","features.invite.impl.declineandblock_DeclineAndBlockView_Night_1_en",20266,],
+["features.invite.impl.declineandblock_DeclineAndBlockView_Day_2_en","features.invite.impl.declineandblock_DeclineAndBlockView_Night_2_en",20266,],
+["features.invite.impl.declineandblock_DeclineAndBlockView_Day_3_en","features.invite.impl.declineandblock_DeclineAndBlockView_Night_3_en",20266,],
+["features.invite.impl.declineandblock_DeclineAndBlockView_Day_4_en","features.invite.impl.declineandblock_DeclineAndBlockView_Night_4_en",20266,],
["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",20252,],
-["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",20252,],
-["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",20252,],
+["features.logout.impl.direct_DefaultDirectLogoutView_Day_1_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_1_en",20266,],
+["features.logout.impl.direct_DefaultDirectLogoutView_Day_2_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_2_en",20266,],
+["features.logout.impl.direct_DefaultDirectLogoutView_Day_3_en","features.logout.impl.direct_DefaultDirectLogoutView_Night_3_en",20266,],
["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",20252,],
-["features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",20252,],
-["features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en","features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en",20252,],
+["features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Day_0_en","features.preferences.impl.notifications.edit_DefaultNotificationSettingOption_Night_0_en",20266,],
+["features.home.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en","features.home.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en",20269,],
+["features.home.impl.components_DefaultRoomListTopBar_Day_0_en","features.home.impl.components_DefaultRoomListTopBar_Night_0_en",20269,],
["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",20252,],
-["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",20252,],
-["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",20252,],
-["features.licenses.impl.list_DependencyLicensesListView_Day_3_en","features.licenses.impl.list_DependencyLicensesListView_Night_3_en",20252,],
-["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",20252,],
-["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",20252,],
-["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",20252,],
+["features.licenses.impl.list_DependencyLicensesListView_Day_0_en","features.licenses.impl.list_DependencyLicensesListView_Night_0_en",20266,],
+["features.licenses.impl.list_DependencyLicensesListView_Day_1_en","features.licenses.impl.list_DependencyLicensesListView_Night_1_en",20266,],
+["features.licenses.impl.list_DependencyLicensesListView_Day_2_en","features.licenses.impl.list_DependencyLicensesListView_Night_2_en",20266,],
+["features.licenses.impl.list_DependencyLicensesListView_Day_3_en","features.licenses.impl.list_DependencyLicensesListView_Night_3_en",20266,],
+["features.preferences.impl.developer_DeveloperSettingsView_Day_0_en","features.preferences.impl.developer_DeveloperSettingsView_Night_0_en",20266,],
+["features.preferences.impl.developer_DeveloperSettingsView_Day_1_en","features.preferences.impl.developer_DeveloperSettingsView_Night_1_en",20266,],
+["features.preferences.impl.developer_DeveloperSettingsView_Day_2_en","features.preferences.impl.developer_DeveloperSettingsView_Night_2_en",20266,],
["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,],
@@ -357,17 +357,18 @@ 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",20252,],
-["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",20252,],
-["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",20252,],
-["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",20252,],
-["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",20252,],
-["features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Day_0_en","features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Night_0_en",20252,],
-["features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Day_1_en","features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Night_1_en",20252,],
-["features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Day_2_en","features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Night_2_en",20252,],
-["features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Day_3_en","features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Night_3_en",20252,],
-["features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Day_4_en","features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Night_4_en",20252,],
-["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",20252,],
+["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_0_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_0_en",20266,],
+["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_1_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_1_en",20266,],
+["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_2_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_2_en",20266,],
+["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_3_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_3_en",20266,],
+["features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Day_4_en","features.preferences.impl.notifications.edit_EditDefaultNotificationSettingView_Night_4_en",20266,],
+["features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Day_0_en","features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Night_0_en",20266,],
+["features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Day_1_en","features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Night_1_en",20266,],
+["features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Day_2_en","features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Night_2_en",20266,],
+["features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Day_3_en","features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Night_3_en",20266,],
+["features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Day_4_en","features.roomdetails.impl.securityandprivacy.editroomaddress_EditRoomAddressView_Night_4_en",20266,],
+["features.preferences.impl.user.editprofile_EditUserProfileView_Day_0_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_0_en",20266,],
+["features.preferences.impl.user.editprofile_EditUserProfileView_Day_1_en","features.preferences.impl.user.editprofile_EditUserProfileView_Night_1_en",20269,],
["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,],
@@ -377,10 +378,11 @@ 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","",20252,],
-["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",20252,],
-["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",20252,],
+["libraries.designsystem.components.dialogs_ErrorDialogContent_Dialogs_en","",20266,],
+["libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialogWithDoNotShowAgain_Night_0_en",20266,],
+["libraries.designsystem.components.dialogs_ErrorDialog_Day_0_en","libraries.designsystem.components.dialogs_ErrorDialog_Night_0_en",20266,],
["features.messages.impl.timeline.debug_EventDebugInfoView_Day_0_en","features.messages.impl.timeline.debug_EventDebugInfoView_Night_0_en",0,],
+["libraries.designsystem.components_ExpandableBottomSheetLayout_en","",0,],
["libraries.featureflag.ui_FeatureListView_Day_0_en","libraries.featureflag.ui_FeatureListView_Night_0_en",0,],
["libraries.mediaviewer.impl.gallery.ui_FileItemView_Day_0_en","libraries.mediaviewer.impl.gallery.ui_FileItemView_Night_0_en",0,],
["libraries.mediaviewer.impl.gallery.ui_FileItemView_Day_1_en","libraries.mediaviewer.impl.gallery.ui_FileItemView_Night_1_en",0,],
@@ -397,16 +399,16 @@ 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",20252,],
-["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",20252,],
-["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",20252,],
+["features.messages.impl.timeline.focus_FocusRequestStateView_Day_1_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_1_en",20266,],
+["features.messages.impl.timeline.focus_FocusRequestStateView_Day_2_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_2_en",20266,],
+["features.messages.impl.timeline.focus_FocusRequestStateView_Day_3_en","features.messages.impl.timeline.focus_FocusRequestStateView_Night_3_en",20266,],
["features.messages.impl.timeline.components_FocusedEvent_Day_0_en","features.messages.impl.timeline.components_FocusedEvent_Night_0_en",0,],
["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",20252,],
-["features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en",20252,],
+["features.messages.impl.forward_ForwardMessagesView_Day_3_en","features.messages.impl.forward_ForwardMessagesView_Night_3_en",20266,],
+["features.home.impl.components_FullScreenIntentPermissionBanner_Day_0_en","features.home.impl.components_FullScreenIntentPermissionBanner_Night_0_en",20269,],
["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,],
@@ -420,8 +422,8 @@ export const screenshots = [
["libraries.designsystem.atomic.molecules_IconTitlePlaceholdersRowMolecule_Day_0_en","libraries.designsystem.atomic.molecules_IconTitlePlaceholdersRowMolecule_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,],
["appicon.enterprise_Icon_en","",0,],
+["appicon.element_Icon_en","",0,],
["libraries.designsystem.icons_IconsCompound_Day_0_en","libraries.designsystem.icons_IconsCompound_Night_0_en",0,],
["libraries.designsystem.icons_IconsCompound_Day_1_en","libraries.designsystem.icons_IconsCompound_Night_1_en",0,],
["libraries.designsystem.icons_IconsCompound_Day_2_en","libraries.designsystem.icons_IconsCompound_Night_2_en",0,],
@@ -430,8 +432,8 @@ export const screenshots = [
["libraries.designsystem.icons_IconsCompound_Day_5_en","libraries.designsystem.icons_IconsCompound_Night_5_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",20252,],
-["features.messages.impl.crypto.identity_IdentityChangeStateView_Day_2_en","features.messages.impl.crypto.identity_IdentityChangeStateView_Night_2_en",20252,],
+["features.messages.impl.crypto.identity_IdentityChangeStateView_Day_1_en","features.messages.impl.crypto.identity_IdentityChangeStateView_Night_1_en",20266,],
+["features.messages.impl.crypto.identity_IdentityChangeStateView_Day_2_en","features.messages.impl.crypto.identity_IdentityChangeStateView_Night_2_en",20266,],
["libraries.mediaviewer.impl.gallery.ui_ImageItemView_Day_0_en","libraries.mediaviewer.impl.gallery.ui_ImageItemView_Night_0_en",0,],
["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,],
@@ -439,85 +441,85 @@ export const screenshots = [
["libraries.matrix.ui.messages.reply_InReplyToView_Day_1_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_1_en",0,],
["libraries.matrix.ui.messages.reply_InReplyToView_Day_2_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_2_en",0,],
["libraries.matrix.ui.messages.reply_InReplyToView_Day_3_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_3_en",0,],
-["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",20252,],
+["libraries.matrix.ui.messages.reply_InReplyToView_Day_4_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_4_en",20266,],
["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",20252,],
+["libraries.matrix.ui.messages.reply_InReplyToView_Day_8_en","libraries.matrix.ui.messages.reply_InReplyToView_Night_8_en",20266,],
["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",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_0_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_0_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_10_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_10_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_11_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_11_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_12_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_12_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_13_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_13_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_1_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_1_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_2_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_2_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_3_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_3_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_4_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_4_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_5_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_5_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_6_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_6_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_7_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_7_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_8_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_8_en",20252,],
-["features.verifysession.impl.incoming_IncomingVerificationView_Day_9_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_9_en",20252,],
+["features.call.impl.ui_IncomingCallScreen_Day_0_en","features.call.impl.ui_IncomingCallScreen_Night_0_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_0_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_0_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_10_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_10_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_11_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_11_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_12_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_12_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_13_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_13_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_1_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_1_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_2_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_2_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_3_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_3_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_4_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_4_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_5_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_5_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_6_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_6_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_7_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_7_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_8_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_8_en",20266,],
+["features.verifysession.impl.incoming_IncomingVerificationView_Day_9_en","features.verifysession.impl.incoming_IncomingVerificationView_Night_9_en",20266,],
["features.networkmonitor.api.ui_Indicator_Day_0_en","features.networkmonitor.api.ui_Indicator_Night_0_en",0,],
["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,],
-["features.call.impl.ui_InvalidAudioDeviceDialog_Day_0_en","features.call.impl.ui_InvalidAudioDeviceDialog_Night_0_en",20255,],
-["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",20252,],
-["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_0_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_0_en",20252,],
-["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_1_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_1_en",20252,],
-["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_2_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_2_en",20252,],
-["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_3_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_3_en",20252,],
-["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_4_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_4_en",20252,],
-["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_5_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_5_en",20252,],
+["features.call.impl.ui_InvalidAudioDeviceDialog_Day_0_en","features.call.impl.ui_InvalidAudioDeviceDialog_Night_0_en",20266,],
+["libraries.matrix.ui.components_InviteSenderView_Day_0_en","libraries.matrix.ui.components_InviteSenderView_Night_0_en",20266,],
+["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_0_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_0_en",20266,],
+["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_1_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_1_en",20266,],
+["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_2_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_2_en",20266,],
+["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_3_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_3_en",20266,],
+["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_4_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_4_en",20266,],
+["features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Day_5_en","features.createroom.impl.joinbyaddress_JoinRoomByAddressView_Night_5_en",20266,],
["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",20252,],
-["features.joinroom.impl_JoinRoomView_Day_11_en","features.joinroom.impl_JoinRoomView_Night_11_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_12_en","features.joinroom.impl_JoinRoomView_Night_12_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_13_en","features.joinroom.impl_JoinRoomView_Night_13_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_14_en","features.joinroom.impl_JoinRoomView_Night_14_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_15_en","features.joinroom.impl_JoinRoomView_Night_15_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_16_en","features.joinroom.impl_JoinRoomView_Night_16_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",20252,],
-["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",20252,],
-["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_0_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_0_en",20252,],
-["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_1_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_1_en",20252,],
-["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_2_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_2_en",20252,],
-["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_3_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_3_en",20252,],
-["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_4_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_4_en",20252,],
-["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_5_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_5_en",20252,],
-["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_6_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_6_en",20252,],
-["features.knockrequests.impl.list_KnockRequestsListView_Day_0_en","features.knockrequests.impl.list_KnockRequestsListView_Night_0_en",20252,],
-["features.knockrequests.impl.list_KnockRequestsListView_Day_10_en","features.knockrequests.impl.list_KnockRequestsListView_Night_10_en",20252,],
-["features.knockrequests.impl.list_KnockRequestsListView_Day_1_en","features.knockrequests.impl.list_KnockRequestsListView_Night_1_en",20252,],
-["features.knockrequests.impl.list_KnockRequestsListView_Day_2_en","features.knockrequests.impl.list_KnockRequestsListView_Night_2_en",20252,],
-["features.knockrequests.impl.list_KnockRequestsListView_Day_3_en","features.knockrequests.impl.list_KnockRequestsListView_Night_3_en",20252,],
-["features.knockrequests.impl.list_KnockRequestsListView_Day_4_en","features.knockrequests.impl.list_KnockRequestsListView_Night_4_en",20252,],
-["features.knockrequests.impl.list_KnockRequestsListView_Day_5_en","features.knockrequests.impl.list_KnockRequestsListView_Night_5_en",20252,],
-["features.knockrequests.impl.list_KnockRequestsListView_Day_6_en","features.knockrequests.impl.list_KnockRequestsListView_Night_6_en",20252,],
-["features.knockrequests.impl.list_KnockRequestsListView_Day_7_en","features.knockrequests.impl.list_KnockRequestsListView_Night_7_en",20252,],
-["features.knockrequests.impl.list_KnockRequestsListView_Day_8_en","features.knockrequests.impl.list_KnockRequestsListView_Night_8_en",20252,],
-["features.knockrequests.impl.list_KnockRequestsListView_Day_9_en","features.knockrequests.impl.list_KnockRequestsListView_Night_9_en",20252,],
+["features.joinroom.impl_JoinRoomView_Day_10_en","features.joinroom.impl_JoinRoomView_Night_10_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_11_en","features.joinroom.impl_JoinRoomView_Night_11_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_12_en","features.joinroom.impl_JoinRoomView_Night_12_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_13_en","features.joinroom.impl_JoinRoomView_Night_13_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_14_en","features.joinroom.impl_JoinRoomView_Night_14_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_15_en","features.joinroom.impl_JoinRoomView_Night_15_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_16_en","features.joinroom.impl_JoinRoomView_Night_16_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_1_en","features.joinroom.impl_JoinRoomView_Night_1_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_2_en","features.joinroom.impl_JoinRoomView_Night_2_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_3_en","features.joinroom.impl_JoinRoomView_Night_3_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_4_en","features.joinroom.impl_JoinRoomView_Night_4_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_5_en","features.joinroom.impl_JoinRoomView_Night_5_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_6_en","features.joinroom.impl_JoinRoomView_Night_6_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_7_en","features.joinroom.impl_JoinRoomView_Night_7_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_8_en","features.joinroom.impl_JoinRoomView_Night_8_en",20266,],
+["features.joinroom.impl_JoinRoomView_Day_9_en","features.joinroom.impl_JoinRoomView_Night_9_en",20266,],
+["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_0_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_0_en",20266,],
+["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_1_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_1_en",20266,],
+["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_2_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_2_en",20266,],
+["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_3_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_3_en",20266,],
+["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_4_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_4_en",20266,],
+["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_5_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_5_en",20266,],
+["features.knockrequests.impl.banner_KnockRequestsBannerView_Day_6_en","features.knockrequests.impl.banner_KnockRequestsBannerView_Night_6_en",20266,],
+["features.knockrequests.impl.list_KnockRequestsListView_Day_0_en","features.knockrequests.impl.list_KnockRequestsListView_Night_0_en",20266,],
+["features.knockrequests.impl.list_KnockRequestsListView_Day_10_en","features.knockrequests.impl.list_KnockRequestsListView_Night_10_en",20266,],
+["features.knockrequests.impl.list_KnockRequestsListView_Day_1_en","features.knockrequests.impl.list_KnockRequestsListView_Night_1_en",20266,],
+["features.knockrequests.impl.list_KnockRequestsListView_Day_2_en","features.knockrequests.impl.list_KnockRequestsListView_Night_2_en",20266,],
+["features.knockrequests.impl.list_KnockRequestsListView_Day_3_en","features.knockrequests.impl.list_KnockRequestsListView_Night_3_en",20266,],
+["features.knockrequests.impl.list_KnockRequestsListView_Day_4_en","features.knockrequests.impl.list_KnockRequestsListView_Night_4_en",20266,],
+["features.knockrequests.impl.list_KnockRequestsListView_Day_5_en","features.knockrequests.impl.list_KnockRequestsListView_Night_5_en",20266,],
+["features.knockrequests.impl.list_KnockRequestsListView_Day_6_en","features.knockrequests.impl.list_KnockRequestsListView_Night_6_en",20266,],
+["features.knockrequests.impl.list_KnockRequestsListView_Day_7_en","features.knockrequests.impl.list_KnockRequestsListView_Night_7_en",20266,],
+["features.knockrequests.impl.list_KnockRequestsListView_Day_8_en","features.knockrequests.impl.list_KnockRequestsListView_Night_8_en",20266,],
+["features.knockrequests.impl.list_KnockRequestsListView_Day_9_en","features.knockrequests.impl.list_KnockRequestsListView_Night_9_en",20266,],
["libraries.designsystem.components_LabelledCheckbox_Toggles_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",20252,],
-["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",20252,],
-["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",20252,],
-["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",20252,],
-["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",20252,],
-["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",20252,],
+["features.leaveroom.api_LeaveRoomView_Day_1_en","features.leaveroom.api_LeaveRoomView_Night_1_en",20266,],
+["features.leaveroom.api_LeaveRoomView_Day_2_en","features.leaveroom.api_LeaveRoomView_Night_2_en",20266,],
+["features.leaveroom.api_LeaveRoomView_Day_3_en","features.leaveroom.api_LeaveRoomView_Night_3_en",20266,],
+["features.leaveroom.api_LeaveRoomView_Day_4_en","features.leaveroom.api_LeaveRoomView_Night_4_en",20266,],
+["features.leaveroom.api_LeaveRoomView_Day_5_en","features.leaveroom.api_LeaveRoomView_Night_5_en",20266,],
+["features.leaveroom.api_LeaveRoomView_Day_6_en","features.leaveroom.api_LeaveRoomView_Night_6_en",20266,],
["libraries.designsystem.background_LightGradientBackground_Day_0_en","libraries.designsystem.background_LightGradientBackground_Night_0_en",0,],
["libraries.designsystem.theme.components_LinearProgressIndicator_Progress_Indicators_en","",0,],
["features.messages.impl.link_LinkView_Day_0_en","features.messages.impl.link_LinkView_Night_0_en",0,],
-["features.messages.impl.link_LinkView_Day_1_en","features.messages.impl.link_LinkView_Night_1_en",20252,],
+["features.messages.impl.link_LinkView_Day_1_en","features.messages.impl.link_LinkView_Night_1_en",20266,],
["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_ListItemPrimaryActionWithIcon_List_item_-_Primary_action_&_Icon_List_items_en","",0,],
@@ -572,31 +574,31 @@ 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",20252,],
-["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",20252,],
-["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",20252,],
-["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",20252,],
+["appnav.room.joined_LoadingRoomNodeView_Day_1_en","appnav.room.joined_LoadingRoomNodeView_Night_1_en",20266,],
+["features.lockscreen.impl.settings_LockScreenSettingsView_Day_0_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_0_en",20266,],
+["features.lockscreen.impl.settings_LockScreenSettingsView_Day_1_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_1_en",20266,],
+["features.lockscreen.impl.settings_LockScreenSettingsView_Day_2_en","features.lockscreen.impl.settings_LockScreenSettingsView_Night_2_en",20266,],
["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",20252,],
-["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",20252,],
-["appnav.loggedin_LoggedInView_Day_3_en","appnav.loggedin_LoggedInView_Night_3_en",20252,],
-["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",20252,],
-["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",20252,],
-["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",20252,],
-["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",20252,],
-["features.logout.impl_LogoutView_Day_10_en","features.logout.impl_LogoutView_Night_10_en",20252,],
-["features.logout.impl_LogoutView_Day_11_en","features.logout.impl_LogoutView_Night_11_en",20252,],
-["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",20252,],
-["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",20252,],
-["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",20252,],
-["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",20252,],
-["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",20252,],
-["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",20252,],
-["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",20252,],
-["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",20252,],
-["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",20252,],
+["appnav.loggedin_LoggedInView_Day_1_en","appnav.loggedin_LoggedInView_Night_1_en",20266,],
+["appnav.loggedin_LoggedInView_Day_2_en","appnav.loggedin_LoggedInView_Night_2_en",20266,],
+["appnav.loggedin_LoggedInView_Day_3_en","appnav.loggedin_LoggedInView_Night_3_en",20266,],
+["features.login.impl.screens.loginpassword_LoginPasswordView_Day_0_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_0_en",20266,],
+["features.login.impl.screens.loginpassword_LoginPasswordView_Day_1_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_1_en",20266,],
+["features.login.impl.screens.loginpassword_LoginPasswordView_Day_2_en","features.login.impl.screens.loginpassword_LoginPasswordView_Night_2_en",20266,],
+["features.logout.impl_LogoutView_Day_0_en","features.logout.impl_LogoutView_Night_0_en",20266,],
+["features.logout.impl_LogoutView_Day_10_en","features.logout.impl_LogoutView_Night_10_en",20266,],
+["features.logout.impl_LogoutView_Day_11_en","features.logout.impl_LogoutView_Night_11_en",20266,],
+["features.logout.impl_LogoutView_Day_1_en","features.logout.impl_LogoutView_Night_1_en",20266,],
+["features.logout.impl_LogoutView_Day_2_en","features.logout.impl_LogoutView_Night_2_en",20266,],
+["features.logout.impl_LogoutView_Day_3_en","features.logout.impl_LogoutView_Night_3_en",20266,],
+["features.logout.impl_LogoutView_Day_4_en","features.logout.impl_LogoutView_Night_4_en",20266,],
+["features.logout.impl_LogoutView_Day_5_en","features.logout.impl_LogoutView_Night_5_en",20266,],
+["features.logout.impl_LogoutView_Day_6_en","features.logout.impl_LogoutView_Night_6_en",20266,],
+["features.logout.impl_LogoutView_Day_7_en","features.logout.impl_LogoutView_Night_7_en",20266,],
+["features.logout.impl_LogoutView_Day_8_en","features.logout.impl_LogoutView_Night_8_en",20266,],
+["features.logout.impl_LogoutView_Day_9_en","features.logout.impl_LogoutView_Night_9_en",20266,],
["libraries.designsystem.components.button_MainActionButton_Buttons_en","",0,],
-["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",20252,],
+["libraries.textcomposer_MarkdownTextComposerEdit_Day_0_en","libraries.textcomposer_MarkdownTextComposerEdit_Night_0_en",20266,],
["libraries.textcomposer.components.markdown_MarkdownTextInput_Day_0_en","libraries.textcomposer.components.markdown_MarkdownTextInput_Night_0_en",0,],
["libraries.designsystem.atomic.atoms_MatrixBadgeAtomInfo_Day_0_en","libraries.designsystem.atomic.atoms_MatrixBadgeAtomInfo_Night_0_en",0,],
["libraries.designsystem.atomic.atoms_MatrixBadgeAtomNegative_Day_0_en","libraries.designsystem.atomic.atoms_MatrixBadgeAtomNegative_Night_0_en",0,],
@@ -609,22 +611,22 @@ export const screenshots = [
["libraries.matrix.ui.components_MatrixUserRow_Day_1_en","libraries.matrix.ui.components_MatrixUserRow_Night_1_en",0,],
["libraries.mediaviewer.impl.local.audio_MediaAudioView_Day_0_en","libraries.mediaviewer.impl.local.audio_MediaAudioView_Night_0_en",0,],
["libraries.mediaviewer.impl.local.audio_MediaAudioView_Day_1_en","libraries.mediaviewer.impl.local.audio_MediaAudioView_Night_1_en",0,],
-["libraries.mediaviewer.impl.details_MediaDeleteConfirmationBottomSheet_Day_0_en","libraries.mediaviewer.impl.details_MediaDeleteConfirmationBottomSheet_Night_0_en",20252,],
-["libraries.mediaviewer.impl.details_MediaDetailsBottomSheet_Day_0_en","libraries.mediaviewer.impl.details_MediaDetailsBottomSheet_Night_0_en",20252,],
+["libraries.mediaviewer.impl.details_MediaDeleteConfirmationBottomSheet_Day_0_en","libraries.mediaviewer.impl.details_MediaDeleteConfirmationBottomSheet_Night_0_en",20266,],
+["libraries.mediaviewer.impl.details_MediaDetailsBottomSheet_Day_0_en","libraries.mediaviewer.impl.details_MediaDetailsBottomSheet_Night_0_en",20266,],
["libraries.mediaviewer.impl.local.file_MediaFileView_Day_0_en","libraries.mediaviewer.impl.local.file_MediaFileView_Night_0_en",0,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_0_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_0_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_10_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_10_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_11_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_11_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_12_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_12_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_1_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_1_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_2_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_2_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_3_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_3_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_4_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_4_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_5_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_5_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_6_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_6_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_7_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_7_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_8_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_8_en",20252,],
-["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_9_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_9_en",20252,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_0_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_0_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_10_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_10_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_11_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_11_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_12_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_12_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_1_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_1_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_2_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_2_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_3_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_3_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_4_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_4_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_5_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_5_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_6_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_6_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_7_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_7_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_8_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_8_en",20266,],
+["libraries.mediaviewer.impl.gallery_MediaGalleryView_Day_9_en","libraries.mediaviewer.impl.gallery_MediaGalleryView_Night_9_en",20266,],
["libraries.mediaviewer.impl.local.image_MediaImageView_Day_0_en","libraries.mediaviewer.impl.local.image_MediaImageView_Night_0_en",0,],
["libraries.mediaviewer.impl.local.player_MediaPlayerControllerView_Day_0_en","libraries.mediaviewer.impl.local.player_MediaPlayerControllerView_Night_0_en",0,],
["libraries.mediaviewer.impl.local.player_MediaPlayerControllerView_Day_1_en","libraries.mediaviewer.impl.local.player_MediaPlayerControllerView_Night_1_en",0,],
@@ -632,14 +634,14 @@ export const screenshots = [
["libraries.mediaviewer.impl.local.video_MediaVideoView_Day_0_en","libraries.mediaviewer.impl.local.video_MediaVideoView_Night_0_en",0,],
["libraries.mediaviewer.impl.viewer_MediaViewerView_0_en","",0,],
["libraries.mediaviewer.impl.viewer_MediaViewerView_10_en","",0,],
-["libraries.mediaviewer.impl.viewer_MediaViewerView_11_en","",20252,],
-["libraries.mediaviewer.impl.viewer_MediaViewerView_12_en","",20252,],
+["libraries.mediaviewer.impl.viewer_MediaViewerView_11_en","",20266,],
+["libraries.mediaviewer.impl.viewer_MediaViewerView_12_en","",20266,],
["libraries.mediaviewer.impl.viewer_MediaViewerView_13_en","",0,],
-["libraries.mediaviewer.impl.viewer_MediaViewerView_14_en","",20252,],
+["libraries.mediaviewer.impl.viewer_MediaViewerView_14_en","",20266,],
["libraries.mediaviewer.impl.viewer_MediaViewerView_15_en","",0,],
["libraries.mediaviewer.impl.viewer_MediaViewerView_16_en","",0,],
["libraries.mediaviewer.impl.viewer_MediaViewerView_1_en","",0,],
-["libraries.mediaviewer.impl.viewer_MediaViewerView_2_en","",20252,],
+["libraries.mediaviewer.impl.viewer_MediaViewerView_2_en","",20266,],
["libraries.mediaviewer.impl.viewer_MediaViewerView_3_en","",0,],
["libraries.mediaviewer.impl.viewer_MediaViewerView_4_en","",0,],
["libraries.mediaviewer.impl.viewer_MediaViewerView_5_en","",0,],
@@ -651,7 +653,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",20252,],
+["features.messages.impl.messagecomposer_MessageComposerView_Day_0_en","features.messages.impl.messagecomposer_MessageComposerView_Night_0_en",20266,],
["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_1_en","features.messages.impl.timeline.components_MessageEventBubble_Night_1_en",0,],
["features.messages.impl.timeline.components_MessageEventBubble_Day_2_en","features.messages.impl.timeline.components_MessageEventBubble_Night_2_en",0,],
@@ -660,7 +662,7 @@ export const screenshots = [
["features.messages.impl.timeline.components_MessageEventBubble_Day_5_en","features.messages.impl.timeline.components_MessageEventBubble_Night_5_en",0,],
["features.messages.impl.timeline.components_MessageEventBubble_Day_6_en","features.messages.impl.timeline.components_MessageEventBubble_Night_6_en",0,],
["features.messages.impl.timeline.components_MessageEventBubble_Day_7_en","features.messages.impl.timeline.components_MessageEventBubble_Night_7_en",0,],
-["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",20252,],
+["features.messages.impl.timeline.components_MessageShieldView_Day_0_en","features.messages.impl.timeline.components_MessageShieldView_Night_0_en",20266,],
["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,],
@@ -668,25 +670,26 @@ 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",20252,],
-["features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_en","features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_1_en",20252,],
-["features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_2_en","features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_2_en",20252,],
-["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",20252,],
-["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",20252,],
-["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",20252,],
-["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",20252,],
-["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",20252,],
-["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",20252,],
-["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",20252,],
-["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",20252,],
-["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",20252,],
-["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",20252,],
-["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",20252,],
-["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",20252,],
-["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",20252,],
-["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",20252,],
+["features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_0_en","features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_0_en",20266,],
+["features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_1_en","features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_1_en",20266,],
+["features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Day_2_en","features.messages.impl.crypto.identity_MessagesViewWithIdentityChange_Night_2_en",20266,],
+["features.messages.impl_MessagesView_Day_0_en","features.messages.impl_MessagesView_Night_0_en",20266,],
+["features.messages.impl_MessagesView_Day_10_en","features.messages.impl_MessagesView_Night_10_en",20266,],
+["features.messages.impl_MessagesView_Day_11_en","features.messages.impl_MessagesView_Night_11_en",20266,],
+["features.messages.impl_MessagesView_Day_12_en","features.messages.impl_MessagesView_Night_12_en",20266,],
+["features.messages.impl_MessagesView_Day_13_en","features.messages.impl_MessagesView_Night_13_en",20266,],
+["features.messages.impl_MessagesView_Day_14_en","features.messages.impl_MessagesView_Night_14_en",20269,],
+["features.messages.impl_MessagesView_Day_1_en","features.messages.impl_MessagesView_Night_1_en",20266,],
+["features.messages.impl_MessagesView_Day_2_en","features.messages.impl_MessagesView_Night_2_en",20266,],
+["features.messages.impl_MessagesView_Day_3_en","features.messages.impl_MessagesView_Night_3_en",20266,],
+["features.messages.impl_MessagesView_Day_4_en","features.messages.impl_MessagesView_Night_4_en",20266,],
+["features.messages.impl_MessagesView_Day_5_en","features.messages.impl_MessagesView_Night_5_en",20266,],
+["features.messages.impl_MessagesView_Day_6_en","features.messages.impl_MessagesView_Night_6_en",20266,],
+["features.messages.impl_MessagesView_Day_7_en","features.messages.impl_MessagesView_Night_7_en",20266,],
+["features.messages.impl_MessagesView_Day_8_en","features.messages.impl_MessagesView_Night_8_en",20266,],
+["features.messages.impl_MessagesView_Day_9_en","features.messages.impl_MessagesView_Night_9_en",20266,],
["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",20252,],
+["features.migration.impl_MigrationView_Day_1_en","features.migration.impl_MigrationView_Night_1_en",20266,],
["libraries.designsystem.theme.components_ModalBottomSheetDark_Bottom_Sheets_en","",0,],
["libraries.designsystem.theme.components_ModalBottomSheetLight_Bottom_Sheets_en","",0,],
["appicon.element_MonochromeIcon_en","",0,],
@@ -695,43 +698,44 @@ 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.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_13_en","features.preferences.impl.notifications_NotificationSettingsView_Night_13_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",20252,],
-["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",20252,],
-["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",20252,],
+["libraries.designsystem.theme.components_NavigationBar_App_Bars_en","",0,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_0_en","features.preferences.impl.notifications_NotificationSettingsView_Night_0_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_10_en","features.preferences.impl.notifications_NotificationSettingsView_Night_10_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_11_en","features.preferences.impl.notifications_NotificationSettingsView_Night_11_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_12_en","features.preferences.impl.notifications_NotificationSettingsView_Night_12_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_13_en","features.preferences.impl.notifications_NotificationSettingsView_Night_13_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_1_en","features.preferences.impl.notifications_NotificationSettingsView_Night_1_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_2_en","features.preferences.impl.notifications_NotificationSettingsView_Night_2_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_3_en","features.preferences.impl.notifications_NotificationSettingsView_Night_3_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_4_en","features.preferences.impl.notifications_NotificationSettingsView_Night_4_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_5_en","features.preferences.impl.notifications_NotificationSettingsView_Night_5_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_6_en","features.preferences.impl.notifications_NotificationSettingsView_Night_6_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_7_en","features.preferences.impl.notifications_NotificationSettingsView_Night_7_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_8_en","features.preferences.impl.notifications_NotificationSettingsView_Night_8_en",20266,],
+["features.preferences.impl.notifications_NotificationSettingsView_Day_9_en","features.preferences.impl.notifications_NotificationSettingsView_Night_9_en",20266,],
+["features.ftue.impl.notifications_NotificationsOptInView_Day_0_en","features.ftue.impl.notifications_NotificationsOptInView_Night_0_en",20266,],
["libraries.designsystem.atomic.pages_OnBoardingPage_Day_0_en","libraries.designsystem.atomic.pages_OnBoardingPage_Night_0_en",0,],
-["features.login.impl.screens.onboarding_OnBoardingView_Day_0_en","features.login.impl.screens.onboarding_OnBoardingView_Night_0_en",20252,],
-["features.login.impl.screens.onboarding_OnBoardingView_Day_1_en","features.login.impl.screens.onboarding_OnBoardingView_Night_1_en",20252,],
-["features.login.impl.screens.onboarding_OnBoardingView_Day_2_en","features.login.impl.screens.onboarding_OnBoardingView_Night_2_en",20252,],
-["features.login.impl.screens.onboarding_OnBoardingView_Day_3_en","features.login.impl.screens.onboarding_OnBoardingView_Night_3_en",20252,],
-["features.login.impl.screens.onboarding_OnBoardingView_Day_4_en","features.login.impl.screens.onboarding_OnBoardingView_Night_4_en",20252,],
-["features.login.impl.screens.onboarding_OnBoardingView_Day_5_en","features.login.impl.screens.onboarding_OnBoardingView_Night_5_en",20252,],
+["features.login.impl.screens.onboarding_OnBoardingView_Day_0_en","features.login.impl.screens.onboarding_OnBoardingView_Night_0_en",20266,],
+["features.login.impl.screens.onboarding_OnBoardingView_Day_1_en","features.login.impl.screens.onboarding_OnBoardingView_Night_1_en",20266,],
+["features.login.impl.screens.onboarding_OnBoardingView_Day_2_en","features.login.impl.screens.onboarding_OnBoardingView_Night_2_en",20266,],
+["features.login.impl.screens.onboarding_OnBoardingView_Day_3_en","features.login.impl.screens.onboarding_OnBoardingView_Night_3_en",20266,],
+["features.login.impl.screens.onboarding_OnBoardingView_Day_4_en","features.login.impl.screens.onboarding_OnBoardingView_Night_4_en",20266,],
+["features.login.impl.screens.onboarding_OnBoardingView_Day_5_en","features.login.impl.screens.onboarding_OnBoardingView_Night_5_en",20266,],
["libraries.designsystem.background_OnboardingBackground_Day_0_en","libraries.designsystem.background_OnboardingBackground_Night_0_en",0,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_0_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_0_en",20252,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_10_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_10_en",20252,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_11_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_11_en",20252,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_0_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_0_en",20266,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_10_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_10_en",20266,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_11_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_11_en",20266,],
["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_12_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_12_en",0,],
["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_13_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_13_en",0,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_1_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_1_en",20252,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_2_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_2_en",20252,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_3_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_3_en",20252,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_4_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_4_en",20252,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_5_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_5_en",20252,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_6_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_6_en",20252,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_7_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_7_en",20252,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_8_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_8_en",20252,],
-["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_9_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_9_en",20252,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_1_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_1_en",20266,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_2_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_2_en",20266,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_3_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_3_en",20266,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_4_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_4_en",20266,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_5_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_5_en",20266,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_6_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_6_en",20266,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_7_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_7_en",20266,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_8_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_8_en",20266,],
+["features.verifysession.impl.outgoing_OutgoingVerificationView_Day_9_en","features.verifysession.impl.outgoing_OutgoingVerificationView_Night_9_en",20266,],
["libraries.designsystem.theme.components_OutlinedButtonLargeLowPadding_Buttons_en","",0,],
["libraries.designsystem.theme.components_OutlinedButtonLarge_Buttons_en","",0,],
["libraries.designsystem.theme.components_OutlinedButtonMediumLowPadding_Buttons_en","",0,],
@@ -745,65 +749,65 @@ export const screenshots = [
["libraries.designsystem.components_PageTitleWithIconFull_Day_5_en","libraries.designsystem.components_PageTitleWithIconFull_Night_5_en",0,],
["libraries.designsystem.components_PageTitleWithIconFull_Day_6_en","libraries.designsystem.components_PageTitleWithIconFull_Night_6_en",0,],
["libraries.designsystem.components_PageTitleWithIconMinimal_Day_0_en","libraries.designsystem.components_PageTitleWithIconMinimal_Night_0_en",0,],
-["libraries.mediaviewer.impl.local.pdf_PdfPagesErrorView_Day_0_en","libraries.mediaviewer.impl.local.pdf_PdfPagesErrorView_Night_0_en",20252,],
-["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",20252,],
-["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",20252,],
-["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",20252,],
-["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",20252,],
-["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",20252,],
+["libraries.mediaviewer.impl.local.pdf_PdfPagesErrorView_Day_0_en","libraries.mediaviewer.impl.local.pdf_PdfPagesErrorView_Night_0_en",20266,],
+["features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Day_0_en","features.roomdetails.impl.rolesandpermissions.changeroles_PendingMemberRowWithLongName_Night_0_en",20266,],
+["libraries.permissions.api_PermissionsView_Day_0_en","libraries.permissions.api_PermissionsView_Night_0_en",20266,],
+["libraries.permissions.api_PermissionsView_Day_1_en","libraries.permissions.api_PermissionsView_Night_1_en",20266,],
+["libraries.permissions.api_PermissionsView_Day_2_en","libraries.permissions.api_PermissionsView_Night_2_en",20266,],
+["libraries.permissions.api_PermissionsView_Day_3_en","libraries.permissions.api_PermissionsView_Night_3_en",20266,],
["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",20252,],
-["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_7_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",20252,],
-["features.lockscreen.impl.unlock_PinUnlockView_Day_7_en","features.lockscreen.impl.unlock_PinUnlockView_Night_7_en",20252,],
+["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_0_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_0_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_1_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_1_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_2_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_2_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_3_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_3_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_4_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_4_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_5_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_5_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_6_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_6_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockViewInApp_Day_7_en","features.lockscreen.impl.unlock_PinUnlockViewInApp_Night_7_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockView_Day_0_en","features.lockscreen.impl.unlock_PinUnlockView_Night_0_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockView_Day_1_en","features.lockscreen.impl.unlock_PinUnlockView_Night_1_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockView_Day_2_en","features.lockscreen.impl.unlock_PinUnlockView_Night_2_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockView_Day_3_en","features.lockscreen.impl.unlock_PinUnlockView_Night_3_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockView_Day_4_en","features.lockscreen.impl.unlock_PinUnlockView_Night_4_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockView_Day_5_en","features.lockscreen.impl.unlock_PinUnlockView_Night_5_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockView_Day_6_en","features.lockscreen.impl.unlock_PinUnlockView_Night_6_en",20266,],
+["features.lockscreen.impl.unlock_PinUnlockView_Day_7_en","features.lockscreen.impl.unlock_PinUnlockView_Night_7_en",20266,],
["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",20252,],
-["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",20252,],
-["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",20252,],
-["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",20252,],
-["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",20252,],
-["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",20252,],
-["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",20252,],
-["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",20252,],
-["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",20252,],
-["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",20252,],
-["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",20252,],
-["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",20252,],
-["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",20252,],
-["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",20252,],
+["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_10_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_10_en",20266,],
+["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_1_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_1_en",20266,],
+["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_2_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_2_en",20266,],
+["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_3_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_3_en",20266,],
+["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_4_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_4_en",20266,],
+["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_5_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_5_en",20266,],
+["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_6_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_6_en",20266,],
+["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_7_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_7_en",20266,],
+["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_8_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_8_en",20266,],
+["features.messages.impl.pinned.banner_PinnedMessagesBannerView_Day_9_en","features.messages.impl.pinned.banner_PinnedMessagesBannerView_Night_9_en",20266,],
+["features.messages.impl.pinned.list_PinnedMessagesListView_Day_0_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_0_en",20266,],
+["features.messages.impl.pinned.list_PinnedMessagesListView_Day_1_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_1_en",20266,],
+["features.messages.impl.pinned.list_PinnedMessagesListView_Day_2_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_2_en",20266,],
+["features.messages.impl.pinned.list_PinnedMessagesListView_Day_3_en","features.messages.impl.pinned.list_PinnedMessagesListView_Night_3_en",20266,],
["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",20252,],
-["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",20252,],
-["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",20252,],
-["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",20252,],
-["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",20252,],
+["features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedNotSelected_Night_0_en",20266,],
+["features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewDisclosedSelected_Night_0_en",20266,],
+["features.poll.api.pollcontent_PollAnswerViewEndedSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedSelected_Night_0_en",20266,],
+["features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerNotSelected_Night_0_en",20266,],
+["features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Day_0_en","features.poll.api.pollcontent_PollAnswerViewEndedWinnerSelected_Night_0_en",20266,],
["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",20252,],
-["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",20252,],
-["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",20252,],
-["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",20252,],
-["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",20252,],
-["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",20252,],
-["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",20252,],
-["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",20252,],
-["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",20252,],
-["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",20252,],
-["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",20252,],
+["features.poll.api.pollcontent_PollContentViewCreatorEditable_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEditable_Night_0_en",20266,],
+["features.poll.api.pollcontent_PollContentViewCreatorEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewCreatorEnded_Night_0_en",20266,],
+["features.poll.api.pollcontent_PollContentViewCreator_Day_0_en","features.poll.api.pollcontent_PollContentViewCreator_Night_0_en",20266,],
+["features.poll.api.pollcontent_PollContentViewDisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewDisclosed_Night_0_en",20266,],
+["features.poll.api.pollcontent_PollContentViewEnded_Day_0_en","features.poll.api.pollcontent_PollContentViewEnded_Night_0_en",20266,],
+["features.poll.api.pollcontent_PollContentViewUndisclosed_Day_0_en","features.poll.api.pollcontent_PollContentViewUndisclosed_Night_0_en",20266,],
+["features.poll.impl.history_PollHistoryView_Day_0_en","features.poll.impl.history_PollHistoryView_Night_0_en",20266,],
+["features.poll.impl.history_PollHistoryView_Day_1_en","features.poll.impl.history_PollHistoryView_Night_1_en",20266,],
+["features.poll.impl.history_PollHistoryView_Day_2_en","features.poll.impl.history_PollHistoryView_Night_2_en",20266,],
+["features.poll.impl.history_PollHistoryView_Day_3_en","features.poll.impl.history_PollHistoryView_Night_3_en",20266,],
+["features.poll.impl.history_PollHistoryView_Day_4_en","features.poll.impl.history_PollHistoryView_Night_4_en",20266,],
["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,],
@@ -817,321 +821,325 @@ export const screenshots = [
["libraries.designsystem.components.preferences_PreferenceRow_Preferences_en","",0,],
["libraries.designsystem.components.preferences_PreferenceSlide_Preferences_en","",0,],
["libraries.designsystem.components.preferences_PreferenceSwitch_Preferences_en","",0,],
-["features.preferences.impl.root_PreferencesRootViewDark_0_en","",20252,],
-["features.preferences.impl.root_PreferencesRootViewDark_1_en","",20252,],
-["features.preferences.impl.root_PreferencesRootViewLight_0_en","",20252,],
-["features.preferences.impl.root_PreferencesRootViewLight_1_en","",20252,],
+["features.preferences.impl.root_PreferencesRootViewDark_0_en","",20266,],
+["features.preferences.impl.root_PreferencesRootViewDark_1_en","",20266,],
+["features.preferences.impl.root_PreferencesRootViewLight_0_en","",20266,],
+["features.preferences.impl.root_PreferencesRootViewLight_1_en","",20266,],
["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","",20252,],
-["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",20252,],
-["features.messages.impl.timeline.protection_ProtectedView_Day_0_en","features.messages.impl.timeline.protection_ProtectedView_Night_0_en",20252,],
-["features.messages.impl.timeline.protection_ProtectedView_Day_1_en","features.messages.impl.timeline.protection_ProtectedView_Night_1_en",20252,],
-["features.messages.impl.timeline.protection_ProtectedView_Day_2_en","features.messages.impl.timeline.protection_ProtectedView_Night_2_en",20252,],
-["features.messages.impl.timeline.protection_ProtectedView_Day_3_en","features.messages.impl.timeline.protection_ProtectedView_Night_3_en",20252,],
-["libraries.troubleshoot.impl.history_PushHistoryView_Day_0_en","libraries.troubleshoot.impl.history_PushHistoryView_Night_0_en",20252,],
-["libraries.troubleshoot.impl.history_PushHistoryView_Day_1_en","libraries.troubleshoot.impl.history_PushHistoryView_Night_1_en",20252,],
-["libraries.troubleshoot.impl.history_PushHistoryView_Day_2_en","libraries.troubleshoot.impl.history_PushHistoryView_Night_2_en",20252,],
-["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",20252,],
-["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",20252,],
-["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",20252,],
-["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",20252,],
-["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",20252,],
-["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",20252,],
-["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",20252,],
-["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",20252,],
-["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",20252,],
-["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",20252,],
-["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",20252,],
-["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",20252,],
-["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",20252,],
-["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",20252,],
-["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",20252,],
-["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",20252,],
-["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_4_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_4_en",20252,],
+["libraries.designsystem.components_ProgressDialogContent_Dialogs_en","",20266,],
+["libraries.designsystem.components_ProgressDialog_Day_0_en","libraries.designsystem.components_ProgressDialog_Night_0_en",20266,],
+["features.messages.impl.timeline.protection_ProtectedView_Day_0_en","features.messages.impl.timeline.protection_ProtectedView_Night_0_en",20266,],
+["features.messages.impl.timeline.protection_ProtectedView_Day_1_en","features.messages.impl.timeline.protection_ProtectedView_Night_1_en",20266,],
+["features.messages.impl.timeline.protection_ProtectedView_Day_2_en","features.messages.impl.timeline.protection_ProtectedView_Night_2_en",20266,],
+["features.messages.impl.timeline.protection_ProtectedView_Day_3_en","features.messages.impl.timeline.protection_ProtectedView_Night_3_en",20266,],
+["libraries.troubleshoot.impl.history_PushHistoryView_Day_0_en","libraries.troubleshoot.impl.history_PushHistoryView_Night_0_en",20266,],
+["libraries.troubleshoot.impl.history_PushHistoryView_Day_1_en","libraries.troubleshoot.impl.history_PushHistoryView_Night_1_en",20266,],
+["libraries.troubleshoot.impl.history_PushHistoryView_Day_2_en","libraries.troubleshoot.impl.history_PushHistoryView_Night_2_en",20266,],
+["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_0_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_0_en",20266,],
+["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_1_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_1_en",20266,],
+["features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Day_2_en","features.login.impl.screens.qrcode.confirmation_QrCodeConfirmationView_Night_2_en",20266,],
+["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_0_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_0_en",20266,],
+["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_1_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_1_en",20266,],
+["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_2_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_2_en",20266,],
+["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_3_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_3_en",20266,],
+["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_4_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_4_en",20266,],
+["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_5_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_5_en",20266,],
+["features.login.impl.screens.qrcode.error_QrCodeErrorView_Day_6_en","features.login.impl.screens.qrcode.error_QrCodeErrorView_Night_6_en",20266,],
+["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_0_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_0_en",20266,],
+["features.login.impl.screens.qrcode.intro_QrCodeIntroView_Day_1_en","features.login.impl.screens.qrcode.intro_QrCodeIntroView_Night_1_en",20266,],
+["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_0_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_0_en",20266,],
+["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_1_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_1_en",20266,],
+["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_2_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_2_en",20266,],
+["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_3_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_3_en",20266,],
+["features.login.impl.screens.qrcode.scan_QrCodeScanView_Day_4_en","features.login.impl.screens.qrcode.scan_QrCodeScanView_Night_4_en",20266,],
["libraries.designsystem.theme.components_RadioButton_Toggles_en","",0,],
-["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",20252,],
-["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",20252,],
+["features.rageshake.api.detection_RageshakeDialogContent_Day_0_en","features.rageshake.api.detection_RageshakeDialogContent_Night_0_en",20266,],
+["features.rageshake.api.preferences_RageshakePreferencesView_Day_0_en","features.rageshake.api.preferences_RageshakePreferencesView_Night_0_en",20266,],
["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",20252,],
-["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",20252,],
-["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",20252,],
-["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",20252,],
-["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",20252,],
-["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",20252,],
-["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",20252,],
+["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_0_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_0_en",20266,],
+["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_1_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_1_en",20266,],
+["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_2_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_2_en",20266,],
+["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_3_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_3_en",20266,],
+["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_4_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_4_en",20266,],
+["features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Day_5_en","features.messages.impl.timeline.components.receipt.bottomsheet_ReadReceiptBottomSheet_Night_5_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_0_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_0_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_10_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_10_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_11_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_11_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_12_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_12_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_13_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_13_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_1_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_1_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_2_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_2_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_3_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_3_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_4_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_4_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_5_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_5_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_6_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_6_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_7_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_7_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_8_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_8_en",20266,],
+["features.securebackup.impl.setup.views_RecoveryKeyView_Day_9_en","features.securebackup.impl.setup.views_RecoveryKeyView_Night_9_en",20266,],
["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",20252,],
-["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",20252,],
-["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",20252,],
-["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",20252,],
-["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",20252,],
-["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",20252,],
-["features.reportroom.impl_ReportRoomView_Day_0_en","features.reportroom.impl_ReportRoomView_Night_0_en",20252,],
-["features.reportroom.impl_ReportRoomView_Day_1_en","features.reportroom.impl_ReportRoomView_Night_1_en",20252,],
-["features.reportroom.impl_ReportRoomView_Day_2_en","features.reportroom.impl_ReportRoomView_Night_2_en",20252,],
-["features.reportroom.impl_ReportRoomView_Day_3_en","features.reportroom.impl_ReportRoomView_Night_3_en",20252,],
-["features.reportroom.impl_ReportRoomView_Day_4_en","features.reportroom.impl_ReportRoomView_Night_4_en",20252,],
-["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",20252,],
-["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",20252,],
-["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",20252,],
-["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",20252,],
-["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en",20252,],
-["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",20252,],
+["features.messages.impl.report_ReportMessageView_Day_0_en","features.messages.impl.report_ReportMessageView_Night_0_en",20266,],
+["features.messages.impl.report_ReportMessageView_Day_1_en","features.messages.impl.report_ReportMessageView_Night_1_en",20266,],
+["features.messages.impl.report_ReportMessageView_Day_2_en","features.messages.impl.report_ReportMessageView_Night_2_en",20266,],
+["features.messages.impl.report_ReportMessageView_Day_3_en","features.messages.impl.report_ReportMessageView_Night_3_en",20266,],
+["features.messages.impl.report_ReportMessageView_Day_4_en","features.messages.impl.report_ReportMessageView_Night_4_en",20266,],
+["features.messages.impl.report_ReportMessageView_Day_5_en","features.messages.impl.report_ReportMessageView_Night_5_en",20266,],
+["features.reportroom.impl_ReportRoomView_Day_0_en","features.reportroom.impl_ReportRoomView_Night_0_en",20266,],
+["features.reportroom.impl_ReportRoomView_Day_1_en","features.reportroom.impl_ReportRoomView_Night_1_en",20266,],
+["features.reportroom.impl_ReportRoomView_Day_2_en","features.reportroom.impl_ReportRoomView_Night_2_en",20266,],
+["features.reportroom.impl_ReportRoomView_Day_3_en","features.reportroom.impl_ReportRoomView_Night_3_en",20266,],
+["features.reportroom.impl_ReportRoomView_Day_4_en","features.reportroom.impl_ReportRoomView_Night_4_en",20266,],
+["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_0_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_0_en",20266,],
+["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_1_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_1_en",20266,],
+["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_2_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_2_en",20266,],
+["features.securebackup.impl.reset.password_ResetIdentityPasswordView_Day_3_en","features.securebackup.impl.reset.password_ResetIdentityPasswordView_Night_3_en",20266,],
+["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_0_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_0_en",20266,],
+["features.securebackup.impl.reset.root_ResetIdentityRootView_Day_1_en","features.securebackup.impl.reset.root_ResetIdentityRootView_Night_1_en",20266,],
["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",20252,],
-["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en",20252,],
-["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",20252,],
-["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",20252,],
-["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",20252,],
-["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",20252,],
-["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",20252,],
-["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",20252,],
-["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",20252,],
-["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",20252,],
-["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",20252,],
-["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",20252,],
+["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_1_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_1_en",20266,],
+["features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Day_2_en","features.messages.impl.crypto.sendfailure.resolve_ResolveVerifiedUserSendFailureView_Night_2_en",20266,],
+["libraries.designsystem.components.dialogs_RetryDialogContent_Dialogs_en","",20266,],
+["libraries.designsystem.components.dialogs_RetryDialog_Day_0_en","libraries.designsystem.components.dialogs_RetryDialog_Night_0_en",20266,],
+["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_0_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_0_en",20266,],
+["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_1_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_1_en",20266,],
+["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_2_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_2_en",20266,],
+["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_3_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_3_en",20266,],
+["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_4_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_4_en",20266,],
+["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_5_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_5_en",20266,],
+["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_6_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_6_en",20266,],
+["features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Day_7_en","features.roomdetails.impl.rolesandpermissions_RolesAndPermissionsView_Night_7_en",20266,],
["libraries.matrix.ui.room.address_RoomAddressField_Day_0_en","libraries.matrix.ui.room.address_RoomAddressField_Night_0_en",0,],
["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",20252,],
-["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",20252,],
-["features.roomdetails.impl_RoomDetailsDark_0_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_10_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_11_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_12_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_13_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_14_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_15_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_16_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_17_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_18_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_1_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_2_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_3_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_4_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_5_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_6_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_7_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_8_en","",20252,],
-["features.roomdetails.impl_RoomDetailsDark_9_en","",20252,],
-["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",20252,],
-["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",20252,],
-["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",20252,],
-["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",20252,],
-["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",20252,],
-["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",20252,],
-["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",20252,],
-["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",20252,],
-["features.roomdetails.impl_RoomDetails_0_en","",20252,],
-["features.roomdetails.impl_RoomDetails_10_en","",20252,],
-["features.roomdetails.impl_RoomDetails_11_en","",20252,],
-["features.roomdetails.impl_RoomDetails_12_en","",20252,],
-["features.roomdetails.impl_RoomDetails_13_en","",20252,],
-["features.roomdetails.impl_RoomDetails_14_en","",20252,],
-["features.roomdetails.impl_RoomDetails_15_en","",20252,],
-["features.roomdetails.impl_RoomDetails_16_en","",20252,],
-["features.roomdetails.impl_RoomDetails_17_en","",20252,],
-["features.roomdetails.impl_RoomDetails_18_en","",20252,],
-["features.roomdetails.impl_RoomDetails_1_en","",20252,],
-["features.roomdetails.impl_RoomDetails_2_en","",20252,],
-["features.roomdetails.impl_RoomDetails_3_en","",20252,],
-["features.roomdetails.impl_RoomDetails_4_en","",20252,],
-["features.roomdetails.impl_RoomDetails_5_en","",20252,],
-["features.roomdetails.impl_RoomDetails_6_en","",20252,],
-["features.roomdetails.impl_RoomDetails_7_en","",20252,],
-["features.roomdetails.impl_RoomDetails_8_en","",20252,],
-["features.roomdetails.impl_RoomDetails_9_en","",20252,],
-["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",20252,],
-["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",20252,],
-["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",20252,],
-["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",20252,],
-["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",20252,],
-["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",20252,],
-["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",20252,],
-["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",20252,],
-["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",20252,],
-["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",20252,],
-["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",20252,],
-["features.roomlist.impl.components_RoomListContentView_Day_0_en","features.roomlist.impl.components_RoomListContentView_Night_0_en",20252,],
-["features.roomlist.impl.components_RoomListContentView_Day_1_en","features.roomlist.impl.components_RoomListContentView_Night_1_en",20252,],
-["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",20252,],
-["features.roomlist.impl.components_RoomListContentView_Day_4_en","features.roomlist.impl.components_RoomListContentView_Night_4_en",20252,],
-["features.roomlist.impl_RoomListDeclineInviteMenuContent_Day_0_en","features.roomlist.impl_RoomListDeclineInviteMenuContent_Night_0_en",20252,],
-["features.roomlist.impl.filters_RoomListFiltersView_Day_0_en","features.roomlist.impl.filters_RoomListFiltersView_Night_0_en",20252,],
-["features.roomlist.impl.filters_RoomListFiltersView_Day_1_en","features.roomlist.impl.filters_RoomListFiltersView_Night_1_en",20252,],
-["features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en",20252,],
-["features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en",20252,],
-["features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en","features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en",20252,],
-["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",20252,],
-["features.roomlist.impl_RoomListView_Day_0_en","features.roomlist.impl_RoomListView_Night_0_en",20252,],
-["features.roomlist.impl_RoomListView_Day_10_en","features.roomlist.impl_RoomListView_Night_10_en",20252,],
-["features.roomlist.impl_RoomListView_Day_1_en","features.roomlist.impl_RoomListView_Night_1_en",20252,],
-["features.roomlist.impl_RoomListView_Day_2_en","features.roomlist.impl_RoomListView_Night_2_en",20252,],
-["features.roomlist.impl_RoomListView_Day_3_en","features.roomlist.impl_RoomListView_Night_3_en",20252,],
-["features.roomlist.impl_RoomListView_Day_4_en","features.roomlist.impl_RoomListView_Night_4_en",20252,],
-["features.roomlist.impl_RoomListView_Day_5_en","features.roomlist.impl_RoomListView_Night_5_en",20252,],
-["features.roomlist.impl_RoomListView_Day_6_en","features.roomlist.impl_RoomListView_Night_6_en",20252,],
-["features.roomlist.impl_RoomListView_Day_7_en","features.roomlist.impl_RoomListView_Night_7_en",20252,],
-["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",20252,],
-["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",20252,],
-["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",20252,],
-["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",20252,],
-["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",20252,],
-["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",20252,],
-["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",20252,],
-["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",20252,],
-["features.roomdetails.impl.members_RoomMemberListView_Day_5_en","features.roomdetails.impl.members_RoomMemberListView_Night_5_en",20252,],
+["features.roomaliasresolver.impl_RoomAliasResolverView_Day_1_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_1_en",20266,],
+["features.roomaliasresolver.impl_RoomAliasResolverView_Day_2_en","features.roomaliasresolver.impl_RoomAliasResolverView_Night_2_en",20266,],
+["features.roomdetails.impl_RoomDetailsDark_0_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_10_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_11_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_12_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_13_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_14_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_15_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_16_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_17_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_18_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_19_en","",20269,],
+["features.roomdetails.impl_RoomDetailsDark_1_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_2_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_3_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_4_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_5_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_6_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_7_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_8_en","",20266,],
+["features.roomdetails.impl_RoomDetailsDark_9_en","",20266,],
+["features.roomdetails.impl.edit_RoomDetailsEditView_Day_0_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_0_en",20266,],
+["features.roomdetails.impl.edit_RoomDetailsEditView_Day_1_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_1_en",20266,],
+["features.roomdetails.impl.edit_RoomDetailsEditView_Day_2_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_2_en",20266,],
+["features.roomdetails.impl.edit_RoomDetailsEditView_Day_3_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_3_en",20266,],
+["features.roomdetails.impl.edit_RoomDetailsEditView_Day_4_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_4_en",20266,],
+["features.roomdetails.impl.edit_RoomDetailsEditView_Day_5_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_5_en",20266,],
+["features.roomdetails.impl.edit_RoomDetailsEditView_Day_6_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_6_en",20266,],
+["features.roomdetails.impl.edit_RoomDetailsEditView_Day_7_en","features.roomdetails.impl.edit_RoomDetailsEditView_Night_7_en",20266,],
+["features.roomdetails.impl_RoomDetails_0_en","",20266,],
+["features.roomdetails.impl_RoomDetails_10_en","",20266,],
+["features.roomdetails.impl_RoomDetails_11_en","",20266,],
+["features.roomdetails.impl_RoomDetails_12_en","",20266,],
+["features.roomdetails.impl_RoomDetails_13_en","",20266,],
+["features.roomdetails.impl_RoomDetails_14_en","",20266,],
+["features.roomdetails.impl_RoomDetails_15_en","",20266,],
+["features.roomdetails.impl_RoomDetails_16_en","",20266,],
+["features.roomdetails.impl_RoomDetails_17_en","",20266,],
+["features.roomdetails.impl_RoomDetails_18_en","",20266,],
+["features.roomdetails.impl_RoomDetails_19_en","",20269,],
+["features.roomdetails.impl_RoomDetails_1_en","",20266,],
+["features.roomdetails.impl_RoomDetails_2_en","",20266,],
+["features.roomdetails.impl_RoomDetails_3_en","",20266,],
+["features.roomdetails.impl_RoomDetails_4_en","",20266,],
+["features.roomdetails.impl_RoomDetails_5_en","",20266,],
+["features.roomdetails.impl_RoomDetails_6_en","",20266,],
+["features.roomdetails.impl_RoomDetails_7_en","",20266,],
+["features.roomdetails.impl_RoomDetails_8_en","",20266,],
+["features.roomdetails.impl_RoomDetails_9_en","",20266,],
+["features.roomdirectory.impl.root_RoomDirectoryView_Day_0_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_0_en",20266,],
+["features.roomdirectory.impl.root_RoomDirectoryView_Day_1_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_1_en",20266,],
+["features.roomdirectory.impl.root_RoomDirectoryView_Day_2_en","features.roomdirectory.impl.root_RoomDirectoryView_Night_2_en",20266,],
+["features.roomdetails.impl.invite_RoomInviteMembersView_Day_0_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_0_en",20266,],
+["features.roomdetails.impl.invite_RoomInviteMembersView_Day_1_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_1_en",20266,],
+["features.roomdetails.impl.invite_RoomInviteMembersView_Day_2_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_2_en",20266,],
+["features.roomdetails.impl.invite_RoomInviteMembersView_Day_3_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_3_en",20266,],
+["features.roomdetails.impl.invite_RoomInviteMembersView_Day_4_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_4_en",20266,],
+["features.roomdetails.impl.invite_RoomInviteMembersView_Day_5_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_5_en",20266,],
+["features.roomdetails.impl.invite_RoomInviteMembersView_Day_6_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_6_en",20266,],
+["features.roomdetails.impl.invite_RoomInviteMembersView_Day_7_en","features.roomdetails.impl.invite_RoomInviteMembersView_Night_7_en",20266,],
+["features.home.impl.components_RoomListContentView_Day_0_en","features.home.impl.components_RoomListContentView_Night_0_en",20269,],
+["features.home.impl.components_RoomListContentView_Day_1_en","features.home.impl.components_RoomListContentView_Night_1_en",20269,],
+["features.home.impl.components_RoomListContentView_Day_2_en","features.home.impl.components_RoomListContentView_Night_2_en",0,],
+["features.home.impl.components_RoomListContentView_Day_3_en","features.home.impl.components_RoomListContentView_Night_3_en",20269,],
+["features.home.impl.components_RoomListContentView_Day_4_en","features.home.impl.components_RoomListContentView_Night_4_en",20269,],
+["features.home.impl_RoomListDeclineInviteMenuContent_Day_0_en","features.home.impl_RoomListDeclineInviteMenuContent_Night_0_en",20269,],
+["features.home.impl.filters_RoomListFiltersView_Day_0_en","features.home.impl.filters_RoomListFiltersView_Night_0_en",20269,],
+["features.home.impl.filters_RoomListFiltersView_Day_1_en","features.home.impl.filters_RoomListFiltersView_Night_1_en",20269,],
+["features.home.impl_RoomListModalBottomSheetContent_Day_0_en","features.home.impl_RoomListModalBottomSheetContent_Night_0_en",20269,],
+["features.home.impl_RoomListModalBottomSheetContent_Day_1_en","features.home.impl_RoomListModalBottomSheetContent_Night_1_en",20269,],
+["features.home.impl_RoomListModalBottomSheetContent_Day_2_en","features.home.impl_RoomListModalBottomSheetContent_Night_2_en",20269,],
+["features.home.impl.search_RoomListSearchContent_Day_0_en","features.home.impl.search_RoomListSearchContent_Night_0_en",0,],
+["features.home.impl.search_RoomListSearchContent_Day_1_en","features.home.impl.search_RoomListSearchContent_Night_1_en",20269,],
+["features.home.impl_RoomListView_Day_0_en","features.home.impl_RoomListView_Night_0_en",20269,],
+["features.home.impl_RoomListView_Day_10_en","features.home.impl_RoomListView_Night_10_en",20269,],
+["features.home.impl_RoomListView_Day_11_en","features.home.impl_RoomListView_Night_11_en",20269,],
+["features.home.impl_RoomListView_Day_1_en","features.home.impl_RoomListView_Night_1_en",20269,],
+["features.home.impl_RoomListView_Day_2_en","features.home.impl_RoomListView_Night_2_en",20269,],
+["features.home.impl_RoomListView_Day_3_en","features.home.impl_RoomListView_Night_3_en",20269,],
+["features.home.impl_RoomListView_Day_4_en","features.home.impl_RoomListView_Night_4_en",20269,],
+["features.home.impl_RoomListView_Day_5_en","features.home.impl_RoomListView_Night_5_en",20269,],
+["features.home.impl_RoomListView_Day_6_en","features.home.impl_RoomListView_Night_6_en",20269,],
+["features.home.impl_RoomListView_Day_7_en","features.home.impl_RoomListView_Night_7_en",20269,],
+["features.home.impl_RoomListView_Day_8_en","features.home.impl_RoomListView_Night_8_en",0,],
+["features.home.impl_RoomListView_Day_9_en","features.home.impl_RoomListView_Night_9_en",0,],
+["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_0_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_0_en",20266,],
+["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_1_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_1_en",20266,],
+["features.roomdetails.impl.members_RoomMemberListViewBanned_Day_2_en","features.roomdetails.impl.members_RoomMemberListViewBanned_Night_2_en",20266,],
+["features.roomdetails.impl.members_RoomMemberListView_Day_0_en","features.roomdetails.impl.members_RoomMemberListView_Night_0_en",20266,],
+["features.roomdetails.impl.members_RoomMemberListView_Day_1_en","features.roomdetails.impl.members_RoomMemberListView_Night_1_en",20266,],
+["features.roomdetails.impl.members_RoomMemberListView_Day_2_en","features.roomdetails.impl.members_RoomMemberListView_Night_2_en",20266,],
+["features.roomdetails.impl.members_RoomMemberListView_Day_3_en","features.roomdetails.impl.members_RoomMemberListView_Night_3_en",20266,],
+["features.roomdetails.impl.members_RoomMemberListView_Day_4_en","features.roomdetails.impl.members_RoomMemberListView_Night_4_en",20266,],
+["features.roomdetails.impl.members_RoomMemberListView_Day_5_en","features.roomdetails.impl.members_RoomMemberListView_Night_5_en",20266,],
["features.roomdetails.impl.members_RoomMemberListView_Day_6_en","features.roomdetails.impl.members_RoomMemberListView_Night_6_en",0,],
-["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",20252,],
-["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",20252,],
-["features.roomdetails.impl.members_RoomMemberListView_Day_9_en","features.roomdetails.impl.members_RoomMemberListView_Night_9_en",20252,],
-["features.roommembermoderation.impl_RoomMemberModerationView_Day_0_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_0_en",20252,],
-["features.roommembermoderation.impl_RoomMemberModerationView_Day_1_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_1_en",20252,],
-["features.roommembermoderation.impl_RoomMemberModerationView_Day_2_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_2_en",20252,],
-["features.roommembermoderation.impl_RoomMemberModerationView_Day_3_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_3_en",20252,],
-["features.roommembermoderation.impl_RoomMemberModerationView_Day_4_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_4_en",20252,],
-["features.roommembermoderation.impl_RoomMemberModerationView_Day_5_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_5_en",20252,],
-["features.roommembermoderation.impl_RoomMemberModerationView_Day_6_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_6_en",20252,],
-["features.roommembermoderation.impl_RoomMemberModerationView_Day_7_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_7_en",20252,],
+["features.roomdetails.impl.members_RoomMemberListView_Day_7_en","features.roomdetails.impl.members_RoomMemberListView_Night_7_en",20266,],
+["features.roomdetails.impl.members_RoomMemberListView_Day_8_en","features.roomdetails.impl.members_RoomMemberListView_Night_8_en",20266,],
+["features.roomdetails.impl.members_RoomMemberListView_Day_9_en","features.roomdetails.impl.members_RoomMemberListView_Night_9_en",20266,],
+["features.roommembermoderation.impl_RoomMemberModerationView_Day_0_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_0_en",20266,],
+["features.roommembermoderation.impl_RoomMemberModerationView_Day_1_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_1_en",20266,],
+["features.roommembermoderation.impl_RoomMemberModerationView_Day_2_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_2_en",20266,],
+["features.roommembermoderation.impl_RoomMemberModerationView_Day_3_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_3_en",20266,],
+["features.roommembermoderation.impl_RoomMemberModerationView_Day_4_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_4_en",20266,],
+["features.roommembermoderation.impl_RoomMemberModerationView_Day_5_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_5_en",20266,],
+["features.roommembermoderation.impl_RoomMemberModerationView_Day_6_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_6_en",20266,],
+["features.roommembermoderation.impl_RoomMemberModerationView_Day_7_en","features.roommembermoderation.impl_RoomMemberModerationView_Night_7_en",20266,],
["libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Day_0_en","libraries.designsystem.atomic.molecules_RoomMembersCountMolecule_Night_0_en",0,],
-["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",20252,],
-["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",20252,],
-["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",20252,],
-["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",20252,],
-["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",20252,],
-["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",20252,],
-["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",20252,],
-["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",20252,],
-["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",20252,],
-["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",20252,],
-["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",20252,],
-["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",20252,],
-["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",20252,],
-["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",20252,],
-["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,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_11_en","features.roomlist.impl.components_RoomSummaryRow_Night_11_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_12_en","features.roomlist.impl.components_RoomSummaryRow_Night_12_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_13_en","features.roomlist.impl.components_RoomSummaryRow_Night_13_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_14_en","features.roomlist.impl.components_RoomSummaryRow_Night_14_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_15_en","features.roomlist.impl.components_RoomSummaryRow_Night_15_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_16_en","features.roomlist.impl.components_RoomSummaryRow_Night_16_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_17_en","features.roomlist.impl.components_RoomSummaryRow_Night_17_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_18_en","features.roomlist.impl.components_RoomSummaryRow_Night_18_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_19_en","features.roomlist.impl.components_RoomSummaryRow_Night_19_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_1_en","features.roomlist.impl.components_RoomSummaryRow_Night_1_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_20_en","features.roomlist.impl.components_RoomSummaryRow_Night_20_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_21_en","features.roomlist.impl.components_RoomSummaryRow_Night_21_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_22_en","features.roomlist.impl.components_RoomSummaryRow_Night_22_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_23_en","features.roomlist.impl.components_RoomSummaryRow_Night_23_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_24_en","features.roomlist.impl.components_RoomSummaryRow_Night_24_en",0,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_25_en","features.roomlist.impl.components_RoomSummaryRow_Night_25_en",0,],
-["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",20252,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_2_en","features.roomlist.impl.components_RoomSummaryRow_Night_2_en",20252,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_30_en","features.roomlist.impl.components_RoomSummaryRow_Night_30_en",20252,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_31_en","features.roomlist.impl.components_RoomSummaryRow_Night_31_en",20252,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_32_en","features.roomlist.impl.components_RoomSummaryRow_Night_32_en",20252,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_33_en","features.roomlist.impl.components_RoomSummaryRow_Night_33_en",20252,],
-["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,],
-["features.roomlist.impl.components_RoomSummaryRow_Day_6_en","features.roomlist.impl.components_RoomSummaryRow_Night_6_en",0,],
-["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",20252,],
-["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",20252,],
-["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",20252,],
+["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsOption_Night_0_en",20266,],
+["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_0_en",20266,],
+["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_1_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_1_en",20266,],
+["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_2_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_2_en",20266,],
+["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_3_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_3_en",20266,],
+["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_4_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_4_en",20266,],
+["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_5_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_5_en",20266,],
+["features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Day_6_en","features.roomdetails.impl.notificationsettings_RoomNotificationSettingsView_Night_6_en",20266,],
+["libraries.roomselect.impl_RoomSelectView_Day_0_en","libraries.roomselect.impl_RoomSelectView_Night_0_en",20266,],
+["libraries.roomselect.impl_RoomSelectView_Day_1_en","libraries.roomselect.impl_RoomSelectView_Night_1_en",20266,],
+["libraries.roomselect.impl_RoomSelectView_Day_2_en","libraries.roomselect.impl_RoomSelectView_Night_2_en",20266,],
+["libraries.roomselect.impl_RoomSelectView_Day_3_en","libraries.roomselect.impl_RoomSelectView_Night_3_en",20266,],
+["libraries.roomselect.impl_RoomSelectView_Day_4_en","libraries.roomselect.impl_RoomSelectView_Night_4_en",20266,],
+["libraries.roomselect.impl_RoomSelectView_Day_5_en","libraries.roomselect.impl_RoomSelectView_Night_5_en",20266,],
+["features.home.impl.components_RoomSummaryPlaceholderRow_Day_0_en","features.home.impl.components_RoomSummaryPlaceholderRow_Night_0_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_0_en","features.home.impl.components_RoomSummaryRow_Night_0_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_10_en","features.home.impl.components_RoomSummaryRow_Night_10_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_11_en","features.home.impl.components_RoomSummaryRow_Night_11_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_12_en","features.home.impl.components_RoomSummaryRow_Night_12_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_13_en","features.home.impl.components_RoomSummaryRow_Night_13_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_14_en","features.home.impl.components_RoomSummaryRow_Night_14_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_15_en","features.home.impl.components_RoomSummaryRow_Night_15_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_16_en","features.home.impl.components_RoomSummaryRow_Night_16_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_17_en","features.home.impl.components_RoomSummaryRow_Night_17_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_18_en","features.home.impl.components_RoomSummaryRow_Night_18_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_19_en","features.home.impl.components_RoomSummaryRow_Night_19_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_1_en","features.home.impl.components_RoomSummaryRow_Night_1_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_20_en","features.home.impl.components_RoomSummaryRow_Night_20_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_21_en","features.home.impl.components_RoomSummaryRow_Night_21_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_22_en","features.home.impl.components_RoomSummaryRow_Night_22_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_23_en","features.home.impl.components_RoomSummaryRow_Night_23_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_24_en","features.home.impl.components_RoomSummaryRow_Night_24_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_25_en","features.home.impl.components_RoomSummaryRow_Night_25_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_26_en","features.home.impl.components_RoomSummaryRow_Night_26_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_27_en","features.home.impl.components_RoomSummaryRow_Night_27_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_28_en","features.home.impl.components_RoomSummaryRow_Night_28_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_29_en","features.home.impl.components_RoomSummaryRow_Night_29_en",20269,],
+["features.home.impl.components_RoomSummaryRow_Day_2_en","features.home.impl.components_RoomSummaryRow_Night_2_en",20269,],
+["features.home.impl.components_RoomSummaryRow_Day_30_en","features.home.impl.components_RoomSummaryRow_Night_30_en",20269,],
+["features.home.impl.components_RoomSummaryRow_Day_31_en","features.home.impl.components_RoomSummaryRow_Night_31_en",20269,],
+["features.home.impl.components_RoomSummaryRow_Day_32_en","features.home.impl.components_RoomSummaryRow_Night_32_en",20269,],
+["features.home.impl.components_RoomSummaryRow_Day_33_en","features.home.impl.components_RoomSummaryRow_Night_33_en",20269,],
+["features.home.impl.components_RoomSummaryRow_Day_34_en","features.home.impl.components_RoomSummaryRow_Night_34_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_3_en","features.home.impl.components_RoomSummaryRow_Night_3_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_4_en","features.home.impl.components_RoomSummaryRow_Night_4_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_5_en","features.home.impl.components_RoomSummaryRow_Night_5_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_6_en","features.home.impl.components_RoomSummaryRow_Night_6_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_7_en","features.home.impl.components_RoomSummaryRow_Night_7_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_8_en","features.home.impl.components_RoomSummaryRow_Night_8_en",0,],
+["features.home.impl.components_RoomSummaryRow_Day_9_en","features.home.impl.components_RoomSummaryRow_Night_9_en",0,],
+["appnav.root_RootView_Day_0_en","appnav.root_RootView_Night_0_en",20266,],
+["appnav.root_RootView_Day_1_en","appnav.root_RootView_Night_1_en",20266,],
+["appnav.root_RootView_Day_2_en","appnav.root_RootView_Night_2_en",20266,],
["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",20252,],
-["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",20252,],
-["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",20252,],
+["features.verifysession.impl.emoji_SasEmojis_Day_0_en","features.verifysession.impl.emoji_SasEmojis_Night_0_en",20266,],
+["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_0_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_0_en",20266,],
+["features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Day_1_en","features.login.impl.screens.searchaccountprovider_SearchAccountProviderView_Night_1_en",20266,],
["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","",20252,],
+["libraries.designsystem.theme.components_SearchBarActiveWithNoResults_Search_views_en","",20266,],
["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","",20252,],
-["features.createroom.impl.components_SearchSingleUserResultItem_en","",20252,],
-["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",20252,],
-["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",20252,],
-["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",20252,],
-["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",20252,],
-["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",20252,],
-["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",20252,],
-["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",20252,],
-["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_10_en","features.securebackup.impl.root_SecureBackupRootView_Night_10_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_11_en","features.securebackup.impl.root_SecureBackupRootView_Night_11_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_12_en","features.securebackup.impl.root_SecureBackupRootView_Night_12_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_13_en","features.securebackup.impl.root_SecureBackupRootView_Night_13_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_14_en","features.securebackup.impl.root_SecureBackupRootView_Night_14_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_15_en","features.securebackup.impl.root_SecureBackupRootView_Night_15_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_16_en","features.securebackup.impl.root_SecureBackupRootView_Night_16_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_17_en","features.securebackup.impl.root_SecureBackupRootView_Night_17_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",20252,],
-["features.securebackup.impl.root_SecureBackupRootView_Day_9_en","features.securebackup.impl.root_SecureBackupRootView_Night_9_en",20252,],
-["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",20252,],
-["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",20252,],
-["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",20252,],
-["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",20252,],
-["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",20252,],
-["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",20252,],
-["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",20252,],
-["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",20252,],
-["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",20252,],
-["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_0_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_1_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_2_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_3_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_4_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_5_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_6_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_7_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_8_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_0_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_1_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_2_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_3_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_4_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_5_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_6_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_7_en","",20252,],
-["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_8_en","",20252,],
+["features.createroom.impl.components_SearchMultipleUsersResultItem_en","",20266,],
+["features.createroom.impl.components_SearchSingleUserResultItem_en","",20266,],
+["features.securebackup.impl.disable_SecureBackupDisableView_Day_0_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_0_en",20266,],
+["features.securebackup.impl.disable_SecureBackupDisableView_Day_1_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_1_en",20266,],
+["features.securebackup.impl.disable_SecureBackupDisableView_Day_2_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_2_en",20266,],
+["features.securebackup.impl.disable_SecureBackupDisableView_Day_3_en","features.securebackup.impl.disable_SecureBackupDisableView_Night_3_en",20266,],
+["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_0_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_0_en",20266,],
+["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_1_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_1_en",20266,],
+["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_2_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_2_en",20266,],
+["features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Day_3_en","features.securebackup.impl.enter_SecureBackupEnterRecoveryKeyView_Night_3_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_0_en","features.securebackup.impl.root_SecureBackupRootView_Night_0_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_10_en","features.securebackup.impl.root_SecureBackupRootView_Night_10_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_11_en","features.securebackup.impl.root_SecureBackupRootView_Night_11_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_12_en","features.securebackup.impl.root_SecureBackupRootView_Night_12_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_13_en","features.securebackup.impl.root_SecureBackupRootView_Night_13_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_14_en","features.securebackup.impl.root_SecureBackupRootView_Night_14_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_15_en","features.securebackup.impl.root_SecureBackupRootView_Night_15_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_16_en","features.securebackup.impl.root_SecureBackupRootView_Night_16_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_17_en","features.securebackup.impl.root_SecureBackupRootView_Night_17_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_1_en","features.securebackup.impl.root_SecureBackupRootView_Night_1_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_2_en","features.securebackup.impl.root_SecureBackupRootView_Night_2_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_3_en","features.securebackup.impl.root_SecureBackupRootView_Night_3_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_4_en","features.securebackup.impl.root_SecureBackupRootView_Night_4_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_5_en","features.securebackup.impl.root_SecureBackupRootView_Night_5_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_6_en","features.securebackup.impl.root_SecureBackupRootView_Night_6_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_7_en","features.securebackup.impl.root_SecureBackupRootView_Night_7_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_8_en","features.securebackup.impl.root_SecureBackupRootView_Night_8_en",20266,],
+["features.securebackup.impl.root_SecureBackupRootView_Day_9_en","features.securebackup.impl.root_SecureBackupRootView_Night_9_en",20266,],
+["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_0_en",20266,],
+["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_1_en",20266,],
+["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_2_en",20266,],
+["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_3_en",20266,],
+["features.securebackup.impl.setup_SecureBackupSetupViewChange_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupViewChange_Night_4_en",20266,],
+["features.securebackup.impl.setup_SecureBackupSetupView_Day_0_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_0_en",20266,],
+["features.securebackup.impl.setup_SecureBackupSetupView_Day_1_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_1_en",20266,],
+["features.securebackup.impl.setup_SecureBackupSetupView_Day_2_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_2_en",20266,],
+["features.securebackup.impl.setup_SecureBackupSetupView_Day_3_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_3_en",20266,],
+["features.securebackup.impl.setup_SecureBackupSetupView_Day_4_en","features.securebackup.impl.setup_SecureBackupSetupView_Night_4_en",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_0_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_1_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_2_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_3_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_4_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_5_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_6_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_7_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewDark_8_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_0_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_1_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_2_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_3_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_4_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_5_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_6_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_7_en","",20266,],
+["features.roomdetails.impl.securityandprivacy_SecurityAndPrivacyViewLight_8_en","",20266,],
["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,],
@@ -1139,11 +1147,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",20252,],
-["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",20252,],
-["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",20252,],
-["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",20252,],
-["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",20252,],
+["features.location.impl.send_SendLocationView_Day_0_en","features.location.impl.send_SendLocationView_Night_0_en",20266,],
+["features.location.impl.send_SendLocationView_Day_1_en","features.location.impl.send_SendLocationView_Night_1_en",20266,],
+["features.location.impl.send_SendLocationView_Day_2_en","features.location.impl.send_SendLocationView_Night_2_en",20266,],
+["features.location.impl.send_SendLocationView_Day_3_en","features.location.impl.send_SendLocationView_Night_3_en",20266,],
+["features.location.impl.send_SendLocationView_Day_4_en","features.location.impl.send_SendLocationView_Night_4_en",20266,],
["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,],
@@ -1153,27 +1161,27 @@ 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.verifysession.impl.incoming.ui_SessionDetailsView_Day_0_en","features.verifysession.impl.incoming.ui_SessionDetailsView_Night_0_en",20252,],
-["features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en",20252,],
-["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",20252,],
-["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",20252,],
-["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",20252,],
-["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",20252,],
-["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",20252,],
-["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",20252,],
+["features.verifysession.impl.incoming.ui_SessionDetailsView_Day_0_en","features.verifysession.impl.incoming.ui_SessionDetailsView_Night_0_en",20266,],
+["features.home.impl.components_SetUpRecoveryKeyBanner_Day_0_en","features.home.impl.components_SetUpRecoveryKeyBanner_Night_0_en",20269,],
+["features.lockscreen.impl.setup.biometric_SetupBiometricView_Day_0_en","features.lockscreen.impl.setup.biometric_SetupBiometricView_Night_0_en",20266,],
+["features.lockscreen.impl.setup.pin_SetupPinView_Day_0_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_0_en",20266,],
+["features.lockscreen.impl.setup.pin_SetupPinView_Day_1_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_1_en",20266,],
+["features.lockscreen.impl.setup.pin_SetupPinView_Day_2_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_2_en",20266,],
+["features.lockscreen.impl.setup.pin_SetupPinView_Day_3_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_3_en",20266,],
+["features.lockscreen.impl.setup.pin_SetupPinView_Day_4_en","features.lockscreen.impl.setup.pin_SetupPinView_Night_4_en",20266,],
["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",20252,],
-["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",20252,],
-["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",20252,],
-["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",20252,],
-["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",20252,],
-["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",20252,],
-["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",20252,],
-["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",20252,],
-["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",20252,],
-["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",20252,],
+["features.share.impl_ShareView_Day_3_en","features.share.impl_ShareView_Night_3_en",20266,],
+["features.location.impl.show_ShowLocationView_Day_0_en","features.location.impl.show_ShowLocationView_Night_0_en",20266,],
+["features.location.impl.show_ShowLocationView_Day_1_en","features.location.impl.show_ShowLocationView_Night_1_en",20266,],
+["features.location.impl.show_ShowLocationView_Day_2_en","features.location.impl.show_ShowLocationView_Night_2_en",20266,],
+["features.location.impl.show_ShowLocationView_Day_3_en","features.location.impl.show_ShowLocationView_Night_3_en",20266,],
+["features.location.impl.show_ShowLocationView_Day_4_en","features.location.impl.show_ShowLocationView_Night_4_en",20266,],
+["features.location.impl.show_ShowLocationView_Day_5_en","features.location.impl.show_ShowLocationView_Night_5_en",20266,],
+["features.location.impl.show_ShowLocationView_Day_6_en","features.location.impl.show_ShowLocationView_Night_6_en",20266,],
+["features.location.impl.show_ShowLocationView_Day_7_en","features.location.impl.show_ShowLocationView_Night_7_en",20266,],
+["features.signedout.impl_SignedOutView_Day_0_en","features.signedout.impl_SignedOutView_Night_0_en",20266,],
["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,],
@@ -1182,69 +1190,71 @@ 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",20252,],
+["features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Day_0_en","features.login.impl.dialogs_SlidingSyncNotSupportedDialog_Night_0_en",20266,],
["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,],
["libraries.designsystem.theme.components_SnackbarWithAction_Snackbar_with_action_Snackbars_en","",0,],
["libraries.designsystem.theme.components_Snackbar_Snackbar_Snackbars_en","",0,],
+["libraries.designsystem.components.avatar.internal_SpaceAvatar_Avatars_en","",0,],
["libraries.designsystem.modifiers_SquareSizeModifierInsideSquare_en","",0,],
["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",20252,],
+["features.location.api.internal_StaticMapPlaceholder_Day_0_en","features.location.api.internal_StaticMapPlaceholder_Night_0_en",20266,],
["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",20252,],
+["features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Day_0_en","features.messages.impl.messagecomposer.suggestions_SuggestionsPickerView_Night_0_en",20266,],
["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",20252,],
+["appnav.loggedin_SyncStateView_Day_0_en","appnav.loggedin_SyncStateView_Night_0_en",20266,],
+["libraries.designsystem.components.avatar.internal_TextAvatar_Avatars_en","",0,],
["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_TextComposerAddCaption_Day_0_en","libraries.textcomposer_TextComposerAddCaption_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerCaption_Day_0_en","libraries.textcomposer_TextComposerCaption_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerEditCaption_Day_0_en","libraries.textcomposer_TextComposerEditCaption_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerEditNotEncrypted_Day_0_en","libraries.textcomposer_TextComposerEditNotEncrypted_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerFormattingNotEncrypted_Day_0_en","libraries.textcomposer_TextComposerFormattingNotEncrypted_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_0_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_10_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_10_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_11_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_11_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_1_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_1_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_2_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_2_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_3_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_3_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_4_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_4_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_5_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_5_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_6_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_6_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_7_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_7_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_8_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_8_en",20252,],
-["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_9_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_9_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",20252,],
-["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",20252,],
-["libraries.textcomposer_TextComposerSimpleNotEncrypted_Day_0_en","libraries.textcomposer_TextComposerSimpleNotEncrypted_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",20252,],
-["libraries.textcomposer_TextComposerVoiceNotEncrypted_Day_0_en","libraries.textcomposer_TextComposerVoiceNotEncrypted_Night_0_en",20252,],
+["libraries.textcomposer_TextComposerAddCaption_Day_0_en","libraries.textcomposer_TextComposerAddCaption_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerCaption_Day_0_en","libraries.textcomposer_TextComposerCaption_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerEditCaption_Day_0_en","libraries.textcomposer_TextComposerEditCaption_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerEditNotEncrypted_Day_0_en","libraries.textcomposer_TextComposerEditNotEncrypted_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerEdit_Day_0_en","libraries.textcomposer_TextComposerEdit_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerFormattingNotEncrypted_Day_0_en","libraries.textcomposer_TextComposerFormattingNotEncrypted_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerFormatting_Day_0_en","libraries.textcomposer_TextComposerFormatting_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLinkWithoutText_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerLinkDialogCreateLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogCreateLink_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerLinkDialogEditLink_Day_0_en","libraries.textcomposer_TextComposerLinkDialogEditLink_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_0_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_10_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_10_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_11_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_11_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_1_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_1_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_2_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_2_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_3_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_3_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_4_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_4_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_5_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_5_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_6_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_6_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_7_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_7_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_8_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_8_en",20266,],
+["libraries.textcomposer_TextComposerReplyNotEncrypted_Day_9_en","libraries.textcomposer_TextComposerReplyNotEncrypted_Night_9_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_0_en","libraries.textcomposer_TextComposerReply_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_10_en","libraries.textcomposer_TextComposerReply_Night_10_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_11_en","libraries.textcomposer_TextComposerReply_Night_11_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_1_en","libraries.textcomposer_TextComposerReply_Night_1_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_2_en","libraries.textcomposer_TextComposerReply_Night_2_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_3_en","libraries.textcomposer_TextComposerReply_Night_3_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_4_en","libraries.textcomposer_TextComposerReply_Night_4_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_5_en","libraries.textcomposer_TextComposerReply_Night_5_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_6_en","libraries.textcomposer_TextComposerReply_Night_6_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_7_en","libraries.textcomposer_TextComposerReply_Night_7_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_8_en","libraries.textcomposer_TextComposerReply_Night_8_en",20266,],
+["libraries.textcomposer_TextComposerReply_Day_9_en","libraries.textcomposer_TextComposerReply_Night_9_en",20266,],
+["libraries.textcomposer_TextComposerSimpleNotEncrypted_Day_0_en","libraries.textcomposer_TextComposerSimpleNotEncrypted_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerSimple_Day_0_en","libraries.textcomposer_TextComposerSimple_Night_0_en",20266,],
+["libraries.textcomposer_TextComposerVoiceNotEncrypted_Day_0_en","libraries.textcomposer_TextComposerVoiceNotEncrypted_Night_0_en",20266,],
["libraries.textcomposer_TextComposerVoice_Day_0_en","libraries.textcomposer_TextComposerVoice_Night_0_en",0,],
["libraries.designsystem.theme.components_TextDark_Text_en","",0,],
-["libraries.designsystem.components.dialogs_TextFieldDialogWithError_Day_0_en","libraries.designsystem.components.dialogs_TextFieldDialogWithError_Night_0_en",20252,],
-["libraries.designsystem.components.dialogs_TextFieldDialog_Day_0_en","libraries.designsystem.components.dialogs_TextFieldDialog_Night_0_en",20252,],
+["libraries.designsystem.components.dialogs_TextFieldDialogWithError_Day_0_en","libraries.designsystem.components.dialogs_TextFieldDialogWithError_Night_0_en",20266,],
+["libraries.designsystem.components.dialogs_TextFieldDialog_Day_0_en","libraries.designsystem.components.dialogs_TextFieldDialog_Night_0_en",20266,],
["libraries.designsystem.components.list_TextFieldListItemEmpty_Text_field_List_item_-_empty_List_items_en","",0,],
["libraries.designsystem.components.list_TextFieldListItemTextFieldValue_Text_field_List_item_-_textfieldvalue_List_items_en","",0,],
["libraries.designsystem.components.list_TextFieldListItem_Text_field_List_item_-_text_List_items_en","",0,],
@@ -1256,14 +1266,14 @@ export const screenshots = [
["libraries.mediaviewer.impl.local.txt_TextFileContentView_Day_3_en","libraries.mediaviewer.impl.local.txt_TextFileContentView_Night_3_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","",20252,],
-["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime_pickers_en","",20252,],
-["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime_pickers_en","",20252,],
+["libraries.designsystem.theme.components.previews_TimePickerHorizontal_DateTime_pickers_en","",20266,],
+["libraries.designsystem.theme.components.previews_TimePickerVerticalDark_DateTime_pickers_en","",20266,],
+["libraries.designsystem.theme.components.previews_TimePickerVerticalLight_DateTime_pickers_en","",20266,],
["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",20252,],
-["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",20252,],
+["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_3_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_3_en",20266,],
+["features.messages.impl.timeline.components_TimelineEventTimestampView_Day_4_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_4_en",20266,],
["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_TimelineEventTimestampView_Day_7_en","features.messages.impl.timeline.components_TimelineEventTimestampView_Night_7_en",0,],
@@ -1273,18 +1283,18 @@ export const screenshots = [
["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.event_TimelineItemAudioView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_3_en",0,],
["features.messages.impl.timeline.components.event_TimelineItemAudioView_Day_4_en","features.messages.impl.timeline.components.event_TimelineItemAudioView_Night_4_en",0,],
-["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",20252,],
+["features.messages.impl.timeline.components_TimelineItemCallNotifyView_Day_0_en","features.messages.impl.timeline.components_TimelineItemCallNotifyView_Night_0_en",20266,],
["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",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_3_en",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_4_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_4_en",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_5_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_5_en",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_6_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_6_en",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_7_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_7_en",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_8_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_8_en",20252,],
+["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_0_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_1_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_2_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_3_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_4_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_4_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_5_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_5_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_6_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_6_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_7_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_7_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Day_8_en","features.messages.impl.timeline.components.event_TimelineItemEncryptedView_Night_8_en",20266,],
["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,],
@@ -1292,18 +1302,18 @@ 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",20252,],
-["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",20252,],
+["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_3_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_3_en",20266,],
+["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_4_en",20266,],
["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_TimelineItemEventRowTimestamp_Day_7_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_7_en",20252,],
-["features.messages.impl.timeline.components_TimelineItemEventRowUtd_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowUtd_Night_0_en",20252,],
-["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",20252,],
+["features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Day_7_en","features.messages.impl.timeline.components_TimelineItemEventRowTimestamp_Night_7_en",20266,],
+["features.messages.impl.timeline.components_TimelineItemEventRowUtd_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowUtd_Night_0_en",20266,],
+["features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithManyReactions_Night_0_en",20266,],
["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",20252,],
-["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",20252,],
+["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_0_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_0_en",20266,],
+["features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Day_1_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReplyInformative_Night_1_en",20266,],
["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,],
@@ -1312,40 +1322,40 @@ 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",20252,],
+["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_4_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_4_en",20266,],
["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",20252,],
+["features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Day_8_en","features.messages.impl.timeline.components_TimelineItemEventRowWithReply_Night_8_en",20266,],
["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","",20252,],
+["features.messages.impl.timeline.components_TimelineItemEventTimestampBelow_en","",20266,],
["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.event_TimelineItemFileView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_3_en",0,],
["features.messages.impl.timeline.components.event_TimelineItemFileView_Day_4_en","features.messages.impl.timeline.components.event_TimelineItemFileView_Night_4_en",0,],
-["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",20252,],
-["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Night_0_en",20252,],
+["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentCollapse_Night_0_en",20266,],
+["features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Day_0_en","features.messages.impl.timeline.components_TimelineItemGroupedEventsRowContentExpanded_Night_0_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemImageViewHideMediaContent_Night_0_en",20266,],
["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",20252,],
+["features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemLegacyCallInviteView_Night_0_en",20266,],
["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",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",20252,],
-["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",20252,],
+["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_0_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_1_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_2_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemPollView_Day_3_en","features.messages.impl.timeline.components.event_TimelineItemPollView_Night_3_en",20266,],
+["features.messages.impl.timeline.components_TimelineItemReactionsLayout_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsLayout_Night_0_en",20266,],
["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",20252,],
-["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",20252,],
+["features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewIncoming_Night_0_en",20266,],
+["features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Day_0_en","features.messages.impl.timeline.components_TimelineItemReactionsViewOutgoing_Night_0_en",20266,],
["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",20252,],
+["features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemReadMarkerView_Night_0_en",20266,],
["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,],
@@ -1354,8 +1364,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",20252,],
-["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",20252,],
+["features.messages.impl.timeline.components.event_TimelineItemRedactedView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemRedactedView_Night_0_en",20266,],
+["features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Day_0_en","features.messages.impl.timeline.components.virtual_TimelineItemRoomBeginningView_Night_0_en",20266,],
["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,],
@@ -1370,8 +1380,8 @@ 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",20252,],
-["features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Night_0_en",20252,],
+["features.messages.impl.timeline.components.event_TimelineItemUnknownView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemUnknownView_Night_0_en",20266,],
+["features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemVideoViewHideMediaContent_Night_0_en",20266,],
["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_0_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_0_en",0,],
["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_1_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_1_en",0,],
["features.messages.impl.timeline.components.event_TimelineItemVideoView_Day_2_en","features.messages.impl.timeline.components.event_TimelineItemVideoView_Night_2_en",0,],
@@ -1394,73 +1404,74 @@ 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",20252,],
-["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",20252,],
+["features.messages.impl.timeline_TimelineViewMessageShield_Day_0_en","features.messages.impl.timeline_TimelineViewMessageShield_Night_0_en",20266,],
+["features.messages.impl.timeline_TimelineView_Day_0_en","features.messages.impl.timeline_TimelineView_Night_0_en",20266,],
["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",20252,],
-["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",20252,],
-["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",20252,],
-["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",20252,],
-["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",20252,],
-["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",20252,],
-["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",20252,],
-["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",20252,],
+["features.messages.impl.timeline_TimelineView_Day_11_en","features.messages.impl.timeline_TimelineView_Night_11_en",20266,],
+["features.messages.impl.timeline_TimelineView_Day_12_en","features.messages.impl.timeline_TimelineView_Night_12_en",20266,],
+["features.messages.impl.timeline_TimelineView_Day_13_en","features.messages.impl.timeline_TimelineView_Night_13_en",20266,],
+["features.messages.impl.timeline_TimelineView_Day_14_en","features.messages.impl.timeline_TimelineView_Night_14_en",20266,],
+["features.messages.impl.timeline_TimelineView_Day_15_en","features.messages.impl.timeline_TimelineView_Night_15_en",20266,],
+["features.messages.impl.timeline_TimelineView_Day_16_en","features.messages.impl.timeline_TimelineView_Night_16_en",20266,],
+["features.messages.impl.timeline_TimelineView_Day_17_en","features.messages.impl.timeline_TimelineView_Night_17_en",20266,],
+["features.messages.impl.timeline_TimelineView_Day_1_en","features.messages.impl.timeline_TimelineView_Night_1_en",20266,],
["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",20252,],
+["features.messages.impl.timeline_TimelineView_Day_4_en","features.messages.impl.timeline_TimelineView_Night_4_en",20266,],
["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",20252,],
+["features.messages.impl.timeline_TimelineView_Day_6_en","features.messages.impl.timeline_TimelineView_Night_6_en",20266,],
["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",20252,],
+["features.messages.impl.timeline_TimelineView_Day_8_en","features.messages.impl.timeline_TimelineView_Night_8_en",20266,],
["features.messages.impl.timeline_TimelineView_Day_9_en","features.messages.impl.timeline_TimelineView_Night_9_en",0,],
+["libraries.designsystem.components.avatar.internal_TombstonedRoomAvatar_Avatars_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",20252,],
-["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",20252,],
-["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",20252,],
-["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",20252,],
-["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",20252,],
-["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",20252,],
-["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",20252,],
-["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",20252,],
+["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_0_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_0_en",20266,],
+["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_1_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_1_en",20266,],
+["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_2_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_2_en",20266,],
+["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_3_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_3_en",20266,],
+["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_4_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_4_en",20266,],
+["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_5_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_5_en",20266,],
+["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_6_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_6_en",20266,],
+["libraries.troubleshoot.impl_TroubleshootNotificationsView_Day_7_en","libraries.troubleshoot.impl_TroubleshootNotificationsView_Night_7_en",20266,],
["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",20252,],
-["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",20252,],
-["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",20252,],
-["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",20252,],
-["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",20252,],
-["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",20252,],
+["features.messages.impl.typing_TypingNotificationView_Day_1_en","features.messages.impl.typing_TypingNotificationView_Night_1_en",20266,],
+["features.messages.impl.typing_TypingNotificationView_Day_2_en","features.messages.impl.typing_TypingNotificationView_Night_2_en",20266,],
+["features.messages.impl.typing_TypingNotificationView_Day_3_en","features.messages.impl.typing_TypingNotificationView_Night_3_en",20266,],
+["features.messages.impl.typing_TypingNotificationView_Day_4_en","features.messages.impl.typing_TypingNotificationView_Night_4_en",20266,],
+["features.messages.impl.typing_TypingNotificationView_Day_5_en","features.messages.impl.typing_TypingNotificationView_Night_5_en",20266,],
+["features.messages.impl.typing_TypingNotificationView_Day_6_en","features.messages.impl.typing_TypingNotificationView_Night_6_en",20266,],
["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","",20252,],
+["libraries.matrix.ui.components_UnresolvedUserRow_en","",20266,],
["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",20252,],
-["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",20252,],
-["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",20252,],
-["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",20252,],
+["libraries.designsystem.components.avatar.internal_UserAvatarColors_Day_0_en","libraries.designsystem.components.avatar.internal_UserAvatarColors_Night_0_en",0,],
+["features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Day_0_en","features.roomdetails.impl.notificationsettings_UserDefinedRoomNotificationSettingsView_Night_0_en",20266,],
+["features.createroom.impl.components_UserListView_Day_0_en","features.createroom.impl.components_UserListView_Night_0_en",20266,],
+["features.createroom.impl.components_UserListView_Day_1_en","features.createroom.impl.components_UserListView_Night_1_en",20266,],
+["features.createroom.impl.components_UserListView_Day_2_en","features.createroom.impl.components_UserListView_Night_2_en",20266,],
["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",20252,],
+["features.createroom.impl.components_UserListView_Day_7_en","features.createroom.impl.components_UserListView_Night_7_en",20266,],
["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",20252,],
+["features.createroom.impl.components_UserListView_Day_9_en","features.createroom.impl.components_UserListView_Night_9_en",20266,],
["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_UserProfileHeaderSectionWithVerificationViolation_Day_0_en","features.userprofile.shared_UserProfileHeaderSectionWithVerificationViolation_Night_0_en",20252,],
-["features.userprofile.shared_UserProfileHeaderSection_Day_0_en","features.userprofile.shared_UserProfileHeaderSection_Night_0_en",20252,],
-["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",20252,],
-["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",20252,],
-["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",20252,],
-["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",20252,],
-["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",20252,],
-["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",20252,],
-["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",20252,],
-["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",20252,],
-["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",20252,],
-["features.userprofile.shared_UserProfileView_Day_9_en","features.userprofile.shared_UserProfileView_Night_9_en",20252,],
+["features.userprofile.shared_UserProfileHeaderSectionWithVerificationViolation_Day_0_en","features.userprofile.shared_UserProfileHeaderSectionWithVerificationViolation_Night_0_en",20266,],
+["features.userprofile.shared_UserProfileHeaderSection_Day_0_en","features.userprofile.shared_UserProfileHeaderSection_Night_0_en",20266,],
+["features.userprofile.shared_UserProfileView_Day_0_en","features.userprofile.shared_UserProfileView_Night_0_en",20266,],
+["features.userprofile.shared_UserProfileView_Day_1_en","features.userprofile.shared_UserProfileView_Night_1_en",20266,],
+["features.userprofile.shared_UserProfileView_Day_2_en","features.userprofile.shared_UserProfileView_Night_2_en",20266,],
+["features.userprofile.shared_UserProfileView_Day_3_en","features.userprofile.shared_UserProfileView_Night_3_en",20266,],
+["features.userprofile.shared_UserProfileView_Day_4_en","features.userprofile.shared_UserProfileView_Night_4_en",20266,],
+["features.userprofile.shared_UserProfileView_Day_5_en","features.userprofile.shared_UserProfileView_Night_5_en",20266,],
+["features.userprofile.shared_UserProfileView_Day_6_en","features.userprofile.shared_UserProfileView_Night_6_en",20266,],
+["features.userprofile.shared_UserProfileView_Day_7_en","features.userprofile.shared_UserProfileView_Night_7_en",20266,],
+["features.userprofile.shared_UserProfileView_Day_8_en","features.userprofile.shared_UserProfileView_Night_8_en",20266,],
+["features.userprofile.shared_UserProfileView_Day_9_en","features.userprofile.shared_UserProfileView_Night_9_en",20266,],
["features.verifysession.impl.ui_VerificationUserProfileContent_Day_0_en","features.verifysession.impl.ui_VerificationUserProfileContent_Night_0_en",0,],
["libraries.designsystem.ruler_VerticalRuler_Day_0_en","libraries.designsystem.ruler_VerticalRuler_Night_0_en",0,],
["libraries.mediaviewer.impl.gallery.ui_VideoItemView_Day_0_en","libraries.mediaviewer.impl.gallery.ui_VideoItemView_Night_0_en",0,],
@@ -1468,7 +1479,7 @@ export const screenshots = [
["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,],
["features.viewfolder.impl.file_ViewFileView_Day_2_en","features.viewfolder.impl.file_ViewFileView_Night_2_en",0,],
-["features.viewfolder.impl.file_ViewFileView_Day_3_en","features.viewfolder.impl.file_ViewFileView_Night_3_en",20252,],
+["features.viewfolder.impl.file_ViewFileView_Day_3_en","features.viewfolder.impl.file_ViewFileView_Night_3_en",20266,],
["features.viewfolder.impl.file_ViewFileView_Day_4_en","features.viewfolder.impl.file_ViewFileView_Night_4_en",0,],
["features.viewfolder.impl.file_ViewFileView_Day_5_en","features.viewfolder.impl.file_ViewFileView_Night_5_en",0,],
["features.viewfolder.impl.folder_ViewFolderView_Day_0_en","features.viewfolder.impl.folder_ViewFolderView_Night_0_en",0,],
@@ -1487,6 +1498,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",20252,],
+["features.ftue.impl.welcome_WelcomeView_Day_0_en","features.ftue.impl.welcome_WelcomeView_Night_0_en",20266,],
["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.call.impl.ui_CallScreenPipView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenPipView_Day_0_en.png
deleted file mode 100644
index 42d7e86fd0..0000000000
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenPipView_Day_0_en.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:b61b391f6380189603939badc2ae5912f5cb072200a001ff946af2d52e81b95a
-size 12734
diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenPipView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenPipView_Day_1_en.png
deleted file mode 100644
index 8d0995fd9f..0000000000
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenPipView_Day_1_en.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:7696eb0f5bf8698d001ea44be6eb2005f414057f9a65703e6d987e8eb75f7f94
-size 9441
diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenPipView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenPipView_Night_0_en.png
deleted file mode 100644
index ba938a8d88..0000000000
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenPipView_Night_0_en.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c3d14805d85b33ce1f0fdd26eec433db1973924542cd85a3bb0e4514cdcd857d
-size 12392
diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenPipView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenPipView_Night_1_en.png
deleted file mode 100644
index f8879f9ecb..0000000000
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenPipView_Night_1_en.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:146fc2ce4d344c0ea947fe0370e6b8d94c2e724c69c01c2cc3476a756e1f09e4
-size 9315
diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_0_en.png
index 664608b02b..8d0995fd9f 100644
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_0_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_0_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:8cc555b1614f3d9e5181769ec203da84f0fb01bbec9b7edf1ad53944158aea7e
-size 12824
+oid sha256:7696eb0f5bf8698d001ea44be6eb2005f414057f9a65703e6d987e8eb75f7f94
+size 9441
diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png
index 6c16c57faf..43d80ad979 100644
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_1_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5480b1c7a3244e0c702f6623f736bfc76560843a8eba8c118a1560954414b4f4
-size 14560
+oid sha256:5d22e3789c7515c5fcb0ee0c72a7c238947f526b6959e1590a29008c8cfa9919
+size 11737
diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_2_en.png
index 90be70d43c..23a7250beb 100644
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_2_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_2_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:8b42b1ad21ab76ffb7b555809e5d5d4495a6b0faceba181735369e0635ed0a56
-size 13847
+oid sha256:b4d802d233fdb12dbbb8136d8b127b10898ba7c5963ebbe2f8ce4d015016b984
+size 10892
diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_3_en.png
index 5d5b02403f..a5eb06f329 100644
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_3_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Day_3_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:73bbf4bfe808722a4d2444ab78bd1f6ab6978d0e427dfaed0d0b957d153a00e5
-size 19294
+oid sha256:6d885da406fe9866a5390a65bb6f8dda3e2242bdec4ac59e0ec654a16838bbf6
+size 16309
diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_0_en.png
index b970104878..f8879f9ecb 100644
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_0_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_0_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:037a5e384eef63ade207a6a938409897f11efc83f1cbb1d382474bf21dbb54c2
-size 12524
+oid sha256:146fc2ce4d344c0ea947fe0370e6b8d94c2e724c69c01c2cc3476a756e1f09e4
+size 9315
diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png
index 516828ebf9..0f1627f188 100644
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_1_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:548c1d91bfee3a9fe22e881d61c469369885f51f80e267ce9e16c6f4501948fe
-size 13372
+oid sha256:8f2d4611b2fc7156c855b13d8b390bc9be80b877407f521a8d196434e97650fe
+size 10519
diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_2_en.png
index 5393549b18..40c8b11139 100644
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_2_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_2_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5cd1c4e6317f6372c3c341f7e681d82533038a15c2287f584603330b3cf62a40
-size 12316
+oid sha256:b58875c87cfdf54fcfd6990cc4c7637d74d85faed1c69bc4e5c671afb827ea4d
+size 9483
diff --git a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_3_en.png
index 23fac4cf25..c36c1d92f3 100644
--- a/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_3_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.call.impl.ui_CallScreenView_Night_3_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:6de376c3fa6098ba16522181a7b7835660c57c77bfd2c7d8ca75d372c4144676
-size 17437
+oid sha256:928fecaa9000e8c0309d4bbbd7742921ec83497cb65868ffda1a2faf0cba9b57
+size 14599
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_BatteryOptimizationBanner_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_BatteryOptimizationBanner_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_BatteryOptimizationBanner_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_BatteryOptimizationBanner_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_BatteryOptimizationBanner_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_BatteryOptimizationBanner_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_BatteryOptimizationBanner_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_BatteryOptimizationBanner_Night_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_ConfirmRecoveryKeyBanner_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_ConfirmRecoveryKeyBanner_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_ConfirmRecoveryKeyBanner_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_ConfirmRecoveryKeyBanner_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_ConfirmRecoveryKeyBanner_Night_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_DefaultRoomListTopBarWithIndicator_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_DefaultRoomListTopBarWithIndicator_Night_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_DefaultRoomListTopBar_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_DefaultRoomListTopBar_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_DefaultRoomListTopBar_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_DefaultRoomListTopBar_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_DefaultRoomListTopBar_Night_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_FullScreenIntentPermissionBanner_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_FullScreenIntentPermissionBanner_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_FullScreenIntentPermissionBanner_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_FullScreenIntentPermissionBanner_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_FullScreenIntentPermissionBanner_Night_0_en.png
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.home.impl.components_RoomListContentView_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Day_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Day_1_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Day_2_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_2_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Day_2_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Day_3_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_3_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Day_3_en.png
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.home.impl.components_RoomListContentView_Day_4_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Day_4_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Day_4_en.png
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.home.impl.components_RoomListContentView_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Night_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Night_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Night_1_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Night_2_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_2_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Night_2_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Night_3_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_3_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Night_3_en.png
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.home.impl.components_RoomListContentView_Night_4_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomListContentView_Night_4_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomListContentView_Night_4_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryPlaceholderRow_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryPlaceholderRow_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryPlaceholderRow_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryPlaceholderRow_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryPlaceholderRow_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryPlaceholderRow_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryPlaceholderRow_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryPlaceholderRow_Night_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_10_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_10_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_10_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_10_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_11_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_11_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_11_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_12_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_12_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_12_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_12_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_13_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_13_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_13_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_13_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_14_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_14_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_14_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_14_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_15_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_15_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_15_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_15_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_16_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_16_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_16_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_16_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_17_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_17_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_17_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_17_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_18_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_18_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_18_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_18_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_19_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_19_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_19_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_19_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_1_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_20_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_20_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_20_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_20_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_21_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_21_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_21_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_21_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_22_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_22_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_22_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_22_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_23_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_23_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_23_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_23_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_24_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_24_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_24_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_24_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_25_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_25_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_25_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_25_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_26_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_26_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_26_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_26_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_27_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_27_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_27_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_27_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_28_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_28_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_28_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_28_en.png
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.home.impl.components_RoomSummaryRow_Day_29_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_29_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_29_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_2_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_2_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_2_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_30_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_30_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_30_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_30_en.png
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.home.impl.components_RoomSummaryRow_Day_31_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_31_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_31_en.png
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.home.impl.components_RoomSummaryRow_Day_32_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_32_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_32_en.png
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.home.impl.components_RoomSummaryRow_Day_33_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_33_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_33_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_34_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_34_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_34_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_34_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_3_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_3_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_3_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_4_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_4_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_4_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_4_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_5_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_5_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_5_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_5_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_6_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_6_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_6_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_6_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_7_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_7_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_7_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_8_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_8_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_8_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_9_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Day_9_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Day_9_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_10_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_10_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_10_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_10_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_11_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_11_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_11_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_12_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_12_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_12_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_12_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_13_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_13_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_13_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_13_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_14_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_14_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_14_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_14_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_15_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_15_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_15_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_15_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_16_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_16_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_16_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_16_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_17_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_17_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_17_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_17_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_18_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_18_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_18_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_18_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_19_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_19_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_19_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_19_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_1_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_20_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_20_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_20_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_20_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_21_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_21_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_21_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_21_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_22_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_22_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_22_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_22_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_23_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_23_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_23_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_23_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_24_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_24_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_24_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_24_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_25_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_25_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_25_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_25_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_26_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_26_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_26_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_26_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_27_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_27_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_27_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_27_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_28_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_28_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_28_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_28_en.png
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.home.impl.components_RoomSummaryRow_Night_29_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_29_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_29_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_2_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_2_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_2_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_30_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_30_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_30_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_30_en.png
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.home.impl.components_RoomSummaryRow_Night_31_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_31_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_31_en.png
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.home.impl.components_RoomSummaryRow_Night_32_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_32_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_32_en.png
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.home.impl.components_RoomSummaryRow_Night_33_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_33_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_33_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_34_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_34_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_34_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_34_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_3_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_3_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_3_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_4_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_4_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_4_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_4_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_5_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_5_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_5_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_5_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_6_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_6_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_6_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_6_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_7_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_7_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_7_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_8_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_8_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_8_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_9_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_RoomSummaryRow_Night_9_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_RoomSummaryRow_Night_9_en.png
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.home.impl.components_SetUpRecoveryKeyBanner_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_SetUpRecoveryKeyBanner_Day_0_en.png
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.home.impl.components_SetUpRecoveryKeyBanner_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.components_SetUpRecoveryKeyBanner_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.components_SetUpRecoveryKeyBanner_Night_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.filters_RoomListFiltersView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.filters_RoomListFiltersView_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.filters_RoomListFiltersView_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.filters_RoomListFiltersView_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.filters_RoomListFiltersView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.filters_RoomListFiltersView_Day_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.filters_RoomListFiltersView_Day_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.filters_RoomListFiltersView_Day_1_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.filters_RoomListFiltersView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.filters_RoomListFiltersView_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.filters_RoomListFiltersView_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.filters_RoomListFiltersView_Night_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.filters_RoomListFiltersView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.filters_RoomListFiltersView_Night_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.filters_RoomListFiltersView_Night_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.filters_RoomListFiltersView_Night_1_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListDeclineInviteMenuContent_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.roomlist_RoomListDeclineInviteMenuContent_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListDeclineInviteMenuContent_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.roomlist_RoomListDeclineInviteMenuContent_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListDeclineInviteMenuContent_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.roomlist_RoomListDeclineInviteMenuContent_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListDeclineInviteMenuContent_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.roomlist_RoomListDeclineInviteMenuContent_Night_0_en.png
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.home.impl.roomlist_RoomListModalBottomSheetContent_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.roomlist_RoomListModalBottomSheetContent_Day_0_en.png
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.home.impl.roomlist_RoomListModalBottomSheetContent_Day_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.roomlist_RoomListModalBottomSheetContent_Day_1_en.png
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.home.impl.roomlist_RoomListModalBottomSheetContent_Day_2_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Day_2_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.roomlist_RoomListModalBottomSheetContent_Day_2_en.png
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.home.impl.roomlist_RoomListModalBottomSheetContent_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.roomlist_RoomListModalBottomSheetContent_Night_0_en.png
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.home.impl.roomlist_RoomListModalBottomSheetContent_Night_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.roomlist_RoomListModalBottomSheetContent_Night_1_en.png
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.home.impl.roomlist_RoomListModalBottomSheetContent_Night_2_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListModalBottomSheetContent_Night_2_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.roomlist_RoomListModalBottomSheetContent_Night_2_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.search_RoomListSearchContent_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.search_RoomListSearchContent_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.search_RoomListSearchContent_Day_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Day_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.search_RoomListSearchContent_Day_1_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.search_RoomListSearchContent_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.search_RoomListSearchContent_Night_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl.search_RoomListSearchContent_Night_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl.search_RoomListSearchContent_Night_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl.search_RoomListSearchContent_Night_1_en.png
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.home.impl_HomeView_Day_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_9_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_10_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_9_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_10_en.png
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.home.impl_HomeView_Day_11_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_10_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_11_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_11_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_12_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_11_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_12_en.png
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.home.impl_HomeView_Day_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_2_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_1_en.png
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.home.impl_HomeView_Day_2_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_2_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_3_en.png
new file mode 100644
index 0000000000..b3dfe3db1d
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_3_en.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a7b0dc90002ec59917ed0c64dae785088117c5aca61961c3d71dc7c05d2fa72b
+size 82238
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.home.impl_HomeView_Day_4_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_3_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_4_en.png
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.home.impl_HomeView_Day_5_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_4_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_5_en.png
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.home.impl_HomeView_Day_6_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_5_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_6_en.png
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.home.impl_HomeView_Day_7_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_6_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_7_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_7_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_8_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_7_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_8_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_8_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_9_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Day_8_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Day_9_en.png
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.home.impl_HomeView_Night_0_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_0_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_0_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_9_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_10_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_9_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_10_en.png
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.home.impl_HomeView_Night_11_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_10_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_11_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_11_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_12_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_11_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_12_en.png
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.home.impl_HomeView_Night_1_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_2_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_1_en.png
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.home.impl_HomeView_Night_2_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_1_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_2_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_3_en.png
new file mode 100644
index 0000000000..92d58a36cd
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_3_en.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ca1e0f43d447faf770ee7aa4f443f3a310f520c9437cbd5baca9ac7ce36d2aae
+size 88613
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.home.impl_HomeView_Night_4_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_3_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_4_en.png
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.home.impl_HomeView_Night_5_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_4_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_5_en.png
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.home.impl_HomeView_Night_6_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_5_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_6_en.png
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.home.impl_HomeView_Night_7_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_6_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_7_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_7_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_8_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_7_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_8_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_8_en.png b/tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_9_en.png
similarity index 100%
rename from tests/uitests/src/test/snapshots/images/features.roomlist.impl_RoomListView_Night_8_en.png
rename to tests/uitests/src/test/snapshots/images/features.home.impl_HomeView_Night_9_en.png
diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_0_en.png
index 679efc4aaf..d77f4d1242 100644
--- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_0_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_0_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:0ab623f806fc90bef41beccc5d5f444a882e6634cdadecbbc341e10369bbcfdb
-size 315380
+oid sha256:f8dc4806d2d363c326ac777011b95a98111e69d8f7acaccf926dc959bf8e9636
+size 311242
diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_1_en.png
index 4275f3eac1..a67a1981e4 100644
--- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_1_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_1_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b73088b5af32e47d18d6961fe5622411f5342388d8a0d78c8f3fb5e27213146a
-size 315116
+oid sha256:0b55b1c3f2f76ac40cba5f7d49d897a4ffe22d6718444ca8a1197173c660f182
+size 306017
diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_2_en.png
index 69d4181bbe..2859c2cced 100644
--- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_2_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_2_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:24735f133066c55c6d88b7f9930ad983cca431611c7e6833ca5a4d657eeb14a5
-size 313116
+oid sha256:644e67fd8ccb1754ba4bfec6de5bc8c75a6603b75faa96847076cc27ad18804b
+size 309657
diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_3_en.png
index 03edadc7be..48d2f299af 100644
--- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_3_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Day_3_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:1d02a7ff9ff40f73d8c72b9378e10ba1f6580524cbdefcf290066b8047fdc33c
-size 307633
+oid sha256:bcc26d88db59b7499a9e1894608831b418a8088b248c5fb390a43ba8cd5aa319
+size 304249
diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_0_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_0_en.png
index f087a418d1..d3eec1107f 100644
--- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_0_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_0_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f5ac9f2f168b895e8262181f789b0fe2ad2c97b1296a50c1453879438bfe436a
-size 395942
+oid sha256:344fa6743ab2f43819abf6045d4d98ef0ff91f6b31e6de4a87235d6b96160e53
+size 392425
diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_1_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_1_en.png
index 8ff0422506..0a84a5b632 100644
--- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_1_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_1_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f7c1c7d34935986d01113069c25849fc860133de582fe94ee63f2e28b181e87f
-size 397378
+oid sha256:ed48740f02725790f7de7a867d237449c07148367dc32ef7fbbd7b40d0ed9a4c
+size 379715
diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_2_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_2_en.png
index 1597b13f0a..a461b0fbc9 100644
--- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_2_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_2_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a11f8383fc481255fb3fa6f1a5475d23c13c0460c33b04bc190cf3b5931893a3
-size 395108
+oid sha256:d6a6c752f1de16c4c64987d8f603d76ec0ed344b59d335b71004ce85500d852e
+size 383032
diff --git a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_3_en.png b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_3_en.png
index fb78588841..209ec00b37 100644
--- a/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_3_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.login.impl.screens.onboarding_OnBoardingView_Night_3_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:36424ccefbbbd35201800dbcbb743a2d22aa6fe7a606054fc3acf8b98aead272
-size 381588
+oid sha256:4b9101e8d1502445e3997230800ac1cd4adc50a5392cebdcdc4dfc3e5fe56abc
+size 364584
diff --git a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_15_en.png b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_15_en.png
index 3818826788..d21d1e40f0 100644
--- a/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_15_en.png
+++ b/tests/uitests/src/test/snapshots/images/features.roomdetails.impl_RoomDetailsDark_15_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:8201ab8637db30a33b16a1336705f1777fff946832e9f10ac45987eaa44a20b4
-size 42884
+oid sha256:3f40ee24252a856c4680dc0b62865e71108d54b326c81b651dcf9031c8d7ae95
+size 42835
diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_CounterAtom_Day_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_CounterAtom_Day_0_en.png
index f12cb438d2..aa6c71936b 100644
--- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_CounterAtom_Day_0_en.png
+++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_CounterAtom_Day_0_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7a2a171ac0edac9cb734d418b7baf68dd294d9feb93f005cf445420a7538a8ed
-size 7687
+oid sha256:49f6848dbff23f8c906894ee852253c051807c942f968ba3856e361aeae5c2ca
+size 8683
diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_CounterAtom_Night_0_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_CounterAtom_Night_0_en.png
index cd66fcf3c8..4661a04e60 100644
--- a/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_CounterAtom_Night_0_en.png
+++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.atomic.atoms_CounterAtom_Night_0_en.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:56508c5827cfda4c672f924e3e9280659b729b772455c65dbae76ba7815e18dd
-size 7502
+oid sha256:d341142ffd67a41fee3b2f41146011caeee07b9ec3085d9c47131d1a5d68683a
+size 8002
diff --git a/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_NavigationBar_App_Bars_en.png b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_NavigationBar_App_Bars_en.png
new file mode 100644
index 0000000000..f25072200f
--- /dev/null
+++ b/tests/uitests/src/test/snapshots/images/libraries.designsystem.theme.components_NavigationBar_App_Bars_en.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0554fae92f638dcb6f0701c36f67df8126402a74a8864daf8f821cd5d3ffd29c
+size 16367
diff --git a/tools/localazy/config.json b/tools/localazy/config.json
index dbe8c4221a..9d8d1f09b7 100644
--- a/tools/localazy/config.json
+++ b/tools/localazy/config.json
@@ -162,7 +162,7 @@
]
},
{
- "name" : ":features:roomlist:impl",
+ "name" : ":features:home:impl",
"includeRegex" : [
"screen_roomlist_.*",
"screen\\.roomlist\\..*",