mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-10-03 20:43:28 +02:00
Recalculating subject and last message when deletes happen
This commit is contained in:
@@ -78,14 +78,25 @@ class Chatroom : NotesGatherer {
|
|||||||
messages = messages - msg
|
messages = messages - msg
|
||||||
msg.removeGatherer(this)
|
msg.removeGatherer(this)
|
||||||
|
|
||||||
|
if (msg == lastMessage) {
|
||||||
|
lastMessage = messages.maxByOrNull { it.createdAt() ?: 0 }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (msg.event?.subject() == subject.value) {
|
||||||
messages
|
messages
|
||||||
.filter { it.event?.subject() != null }
|
.maxByOrNull {
|
||||||
.sortedBy { it.createdAt() }
|
val noteEvent = it.event
|
||||||
.lastOrNull()
|
if (noteEvent?.subject() != null) {
|
||||||
?.let {
|
noteEvent.createdAt
|
||||||
|
} else {
|
||||||
|
0
|
||||||
|
}
|
||||||
|
}?.let {
|
||||||
subject.tryEmit(it.event?.subject())
|
subject.tryEmit(it.event?.subject())
|
||||||
subjectCreatedAt = it.createdAt()
|
subjectCreatedAt = it.createdAt()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
|
Reference in New Issue
Block a user