diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/privateChats/Chatroom.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/privateChats/Chatroom.kt index 969e84bb4..40360848e 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/privateChats/Chatroom.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/privateChats/Chatroom.kt @@ -78,14 +78,25 @@ class Chatroom : NotesGatherer { messages = messages - msg msg.removeGatherer(this) - messages - .filter { it.event?.subject() != null } - .sortedBy { it.createdAt() } - .lastOrNull() - ?.let { - subject.tryEmit(it.event?.subject()) - subjectCreatedAt = it.createdAt() - } + if (msg == lastMessage) { + lastMessage = messages.maxByOrNull { it.createdAt() ?: 0 } + } + + if (msg.event?.subject() == subject.value) { + messages + .maxByOrNull { + val noteEvent = it.event + if (noteEvent?.subject() != null) { + noteEvent.createdAt + } else { + 0 + } + }?.let { + subject.tryEmit(it.event?.subject()) + subjectCreatedAt = it.createdAt() + } + } + return true } return false