Merge pull request #4316 from vector-im/feature/fga/fix_4313

Fix unread marker not showing
This commit is contained in:
Benoit Marty 2021-10-22 15:42:22 +02:00 committed by GitHub
commit 09fbd5fcf5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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

@ -529,9 +529,9 @@ class RoomDetailViewModel @AssistedInject constructor(
val isAllowed = action.userJustAccepted || if (widget.type == WidgetType.Jitsi) {
widget.senderInfo?.userId == session.myUserId ||
session.integrationManagerService().isNativeWidgetDomainAllowed(
action.widget.type.preferred,
domain
)
action.widget.type.preferred,
domain
)
} else false
if (isAllowed) {
@ -1092,8 +1092,10 @@ class RoomDetailViewModel @AssistedInject constructor(
}
override fun onTimelineUpdated(snapshot: List<TimelineEvent>) {
timelineEvents.tryEmit(snapshot)
viewModelScope.launch {
// tryEmit doesn't work with SharedFlow without cache
timelineEvents.emit(snapshot)
}
// PreviewUrl
if (vectorPreferences.showUrlPreviews()) {
withState { state ->

View file

@ -34,6 +34,7 @@ import kotlinx.coroutines.flow.MutableSharedFlow
import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.sample
import kotlinx.coroutines.launch
import org.matrix.android.sdk.api.extensions.orFalse
import org.matrix.android.sdk.api.session.Session
import org.matrix.android.sdk.api.session.crypto.crosssigning.MASTER_KEY_SSSS_NAME
@ -110,7 +111,7 @@ class ServerBackupStatusViewModel @AssistedInject constructor(@Assisted initialS
if (
crossSigningInfo.getOrNull() == null ||
(crossSigningInfo.getOrNull()?.isTrusted() == true &&
pInfo.getOrNull()?.allKnown().orFalse())
pInfo.getOrNull()?.allKnown().orFalse())
) {
// So 4S is not setup and we have local secrets,
return@combine BannerState.Setup(numberOfKeys = getNumberOfKeysToBackup())
@ -125,7 +126,9 @@ class ServerBackupStatusViewModel @AssistedInject constructor(@Assisted initialS
)
}
keyBackupFlow.tryEmit(session.cryptoService().keysBackupService().state)
viewModelScope.launch {
keyBackupFlow.tryEmit(session.cryptoService().keysBackupService().state)
}
}
/**
@ -155,7 +158,9 @@ class ServerBackupStatusViewModel @AssistedInject constructor(@Assisted initialS
}
override fun onStateChange(newState: KeysBackupState) {
keyBackupFlow.tryEmit(session.cryptoService().keysBackupService().state)
viewModelScope.launch {
keyBackupFlow.tryEmit(session.cryptoService().keysBackupService().state)
}
keysBackupState.value = newState
}