fix: race condition when loading into a dm channel on startup

This commit is contained in:
infi 2026-05-24 23:42:27 +02:00
parent d3d802df12
commit f93c22ee14
1 changed files with 61 additions and 62 deletions

View File

@ -429,12 +429,12 @@ class ChannelScreenViewModel(
ignoreExisting: Boolean = false,
markLastAsRead: Boolean = false
) {
channel?.id?.let { channelId ->
val currentChannelId = channelId ?: return
loadMessagesJob = viewModelScope.launch {
try {
val messages = arrayListOf<Message>()
fetchMessagesFromChannel(channelId, amount, true, before, after, around).let {
fetchMessagesFromChannel(currentChannelId, amount, true, before, after, around).let {
if (it.messages.isNullOrEmpty() || it.messages!!.size < 50) {
endOfChannel = true
}
@ -504,7 +504,6 @@ class ChannelScreenViewModel(
}
}
}
}
suspend fun ackMessage(messageId: String) {
ackChannel(channel?.id ?: return, messageId)