Force receipient refresh on any message request state change.

This commit is contained in:
Cody Henthorne
2026-07-27 13:51:43 -04:00
committed by Michelle Tang
parent 2162fccd7d
commit 0b7eda3e94
2 changed files with 19 additions and 3 deletions
@@ -2916,7 +2916,10 @@ class ConversationFragment :
messageRequestViewModel
.onReportSpam()
.doOnSubscribe { disabledInput.showBusy() }
.doOnTerminate { disabledInput.hideBusy() }
.doOnTerminate {
disabledInput.hideBusy()
viewModel.refreshInputReadyState()
}
.subscribeBy {
Log.d(TAG, "report spam complete")
toast(R.string.ConversationFragment_reported_as_spam)
@@ -2930,7 +2933,10 @@ class ConversationFragment :
messageRequestViewModel
.onBlockAndReportSpam()
.doOnSubscribe { disabledInput.showBusy() }
.doOnTerminate { disabledInput.hideBusy() }
.doOnTerminate {
disabledInput.hideBusy()
viewModel.refreshInputReadyState()
}
.subscribeBy { result ->
when (result) {
is Result.Success -> {
@@ -3009,7 +3015,10 @@ class ConversationFragment :
private fun Single<Result<Unit, GroupChangeFailureReason>>.subscribeWithShowProgress(logMessage: String): Disposable {
val disabledInput = binding.conversationDisabledInput
return doOnSubscribe { disabledInput.showBusy() }
.doOnTerminate { disabledInput.hideBusy() }
.doOnTerminate {
disabledInput.hideBusy()
viewModel.refreshInputReadyState()
}
.subscribeBy { result ->
when (result) {
is Result.Success -> Log.d(TAG, "$logMessage complete")
@@ -642,6 +642,13 @@ class ConversationViewModel(
refreshIdentityRecords.onNext(Unit)
}
fun refreshInputReadyState() {
val recipientId = recipientSnapshot?.id ?: return
viewModelScope.launch(Dispatchers.Default) {
Recipient.live(recipientId).refresh()
}
}
fun updateIdentityRecords(): Completable {
val state: IdentityRecordsState = identityRecordsStore.state
if (state.recipient == null) {