From b9c5f590d595da6c7b0f0e8affc44759b14ffb5c Mon Sep 17 00:00:00 2001 From: Paul Rangger <48455539+PaRangger@users.noreply.github.com> Date: Sun, 2 Feb 2025 22:33:37 +0100 Subject: [PATCH] Communication: Fix an issue with unread message count (#10245) --- .../repository/conversation/ConversationRepository.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/tum/cit/aet/artemis/communication/repository/conversation/ConversationRepository.java b/src/main/java/de/tum/cit/aet/artemis/communication/repository/conversation/ConversationRepository.java index e62965d22674..5049a5fad54b 100644 --- a/src/main/java/de/tum/cit/aet/artemis/communication/repository/conversation/ConversationRepository.java +++ b/src/main/java/de/tum/cit/aet/artemis/communication/repository/conversation/ConversationRepository.java @@ -52,7 +52,7 @@ public interface ConversationRepository extends ArtemisJpaRepository cp.lastRead OR (channel.isCourseWide = TRUE AND cp.lastRead IS NULL)) + LEFT JOIN Post p ON conv.id = p.conversation.id AND p.author.id <> :userId AND (p.creationDate > cp.lastRead OR (channel.isCourseWide = TRUE AND cp.lastRead IS NULL)) WHERE conv.id IN :conversationIds AND (channel.isCourseWide = TRUE OR (conv.id = cp.conversation.id AND cp.user.id = :userId)) GROUP BY conv.id, cp.id, cp.isModerator, cp.isFavorite, cp.isHidden, cp.lastRead @@ -84,6 +84,7 @@ SELECT COUNT(p.id) > 0 LEFT JOIN ConversationParticipant cp ON c.id = cp.conversation.id AND cp.user.id = :userId LEFT JOIN Channel ch ON c.id = ch.id WHERE c.course.id = :courseId + AND p.author.id <> :userId AND ( p.creationDate > cp.lastRead OR (ch.isCourseWide = TRUE AND cp.id IS NULL)