Merge remote-tracking branch 'upstream/develop' into sc

Change-Id: Ie246642fb6346f4a8838878a18135add6786a9b5
This commit is contained in:
SpiritCroc 2021-10-22 16:18:34 +02:00
commit 5182c2760e
3 changed files with 16 additions and 8 deletions

1
changelog.d/4313.bugfix Normal file
View file

@ -0,0 +1 @@
Fix unread marker not showing

View file

@ -1110,8 +1110,10 @@ class RoomDetailViewModel @AssistedInject constructor(
} }
override fun onTimelineUpdated(snapshot: List<TimelineEvent>) { override fun onTimelineUpdated(snapshot: List<TimelineEvent>) {
timelineEvents.tryEmit(snapshot) viewModelScope.launch {
// tryEmit doesn't work with SharedFlow without cache
timelineEvents.emit(snapshot)
}
// PreviewUrl // PreviewUrl
if (vectorPreferences.showUrlPreviews()) { if (vectorPreferences.showUrlPreviews()) {
withState { state -> withState { state ->

View file

@ -34,6 +34,7 @@ import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.sample import kotlinx.coroutines.flow.sample
import kotlinx.coroutines.launch
import org.matrix.android.sdk.api.extensions.orFalse import org.matrix.android.sdk.api.extensions.orFalse
import org.matrix.android.sdk.api.session.Session import org.matrix.android.sdk.api.session.Session
import org.matrix.android.sdk.api.session.crypto.crosssigning.MASTER_KEY_SSSS_NAME import org.matrix.android.sdk.api.session.crypto.crosssigning.MASTER_KEY_SSSS_NAME
@ -125,8 +126,10 @@ class ServerBackupStatusViewModel @AssistedInject constructor(@Assisted initialS
) )
} }
viewModelScope.launch {
keyBackupFlow.tryEmit(session.cryptoService().keysBackupService().state) keyBackupFlow.tryEmit(session.cryptoService().keysBackupService().state)
} }
}
/** /**
* Safe way to get the current KeysBackup version * Safe way to get the current KeysBackup version
@ -155,7 +158,9 @@ class ServerBackupStatusViewModel @AssistedInject constructor(@Assisted initialS
} }
override fun onStateChange(newState: KeysBackupState) { override fun onStateChange(newState: KeysBackupState) {
viewModelScope.launch {
keyBackupFlow.tryEmit(session.cryptoService().keysBackupService().state) keyBackupFlow.tryEmit(session.cryptoService().keysBackupService().state)
}
keysBackupState.value = newState keysBackupState.value = newState
} }