diff --git a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java index 2a3091a6..eb849858 100755 --- a/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java +++ b/broker/src/main/java/io/moquette/persistence/MemoryMessagesStore.java @@ -733,7 +733,7 @@ public class MemoryMessagesStore implements IMessagesStore { } pullType = ProtoConstants.PullType.Pull_Normal; } else if (type == ProtoConstants.ConversationType.ConversationType_ChatRoom) { - boolean isDirect = !StringUtil.isNullOrEmpty(message.getToUser()); + boolean isDirect = !StringUtil.isNullOrEmpty(message.getToUser()) || !message.getToList().isEmpty(); Collection entries = getChatroomMembers(message.getConversation().getTarget()); for (UserClientEntry entry : entries) { if (isDirect) { @@ -741,6 +741,9 @@ public class MemoryMessagesStore implements IMessagesStore { notifyReceivers.add(message.getToUser()); break; } + if (message.getToList().contains(entry.userId)) { + notifyReceivers.add(entry.userId); + } } else { notifyReceivers.add(entry.userId); }