Skip to content

Commit

Permalink
Filter Thread Message when LastMessageAt is calculated
Browse files Browse the repository at this point in the history
  • Loading branch information
JcMinarro committed Apr 29, 2024
1 parent 4a3fb79 commit ea85c25
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,10 @@ public fun Channel.updateLastMessage(
)
}
return this.copy(
lastMessageAt = newMessages.last().let { it.createdAt ?: it.createdLocallyAt },
lastMessageAt = newMessages
.filterNot { it.parentId != null && !it.showInChannel }
.last()
.let { it.createdAt ?: it.createdLocallyAt },
messages = newMessages,
read = newReads,
).syncUnreadCountWithReads()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ public data class ChannelData(
cooldown = cooldown,
lastMessageAt = messagesList
.filterNot { it.shadowed }
.filterNot { it.parentId != null && !it.showInChannel }
.lastOrNull()
?.let { it.createdAt ?: it.createdLocallyAt },
createdBy = createdBy,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,11 @@ internal class DatabaseChannelRepository(
insertChannel(
it.copy(
messages = listOf(lastMessage),
lastMessageAt = lastMessage.createdAt ?: lastMessage.createdLocallyAt ?: Date(0),
lastMessageAt = it.lastMessageAt
.takeIf { lastMessage.parentId != null && !lastMessage.showInChannel }
?: lastMessage.createdAt
?: lastMessage.createdLocallyAt
?: Date(0),
),
)
}
Expand All @@ -242,7 +246,10 @@ internal class DatabaseChannelRepository(
lastMessageAt = maxOf(
lastMessageAt,
cachedChannel.lastMessageAt,
messages.lastOrNull()?.let { it.createdAt ?: it.createdLocallyAt ?: Date(0) },
messages
.filterNot { it.parentId != null && !it.showInChannel }
.lastOrNull()
?.let { it.createdAt ?: it.createdLocallyAt ?: Date(0) },
),
hiddenMessagesBefore = hideMessagesBefore,
members = members,
Expand Down

0 comments on commit ea85c25

Please sign in to comment.