summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Erebos/Chatroom.hs2
-rw-r--r--test/chatroom.test5
2 files changed, 5 insertions, 2 deletions
diff --git a/src/Erebos/Chatroom.hs b/src/Erebos/Chatroom.hs
index c8b5805..5ba137f 100644
--- a/src/Erebos/Chatroom.hs
+++ b/src/Erebos/Chatroom.hs
@@ -205,7 +205,7 @@ sendRawChatroomMessageByStateData lookupData mdReplyTo mdText mdLeave = void $ f
mergeSorted . (:[]) <$> mstore ChatroomStateData
{ rsdPrev = roomStateData cstate
, rsdRoom = []
- , rsdSubscribe = Just True
+ , rsdSubscribe = Just (not mdLeave)
, rsdMessages = [ mdata ]
}
diff --git a/test/chatroom.test b/test/chatroom.test
index 93de1ff..deea2cb 100644
--- a/test/chatroom.test
+++ b/test/chatroom.test
@@ -413,9 +413,12 @@ test ChatroomMembers:
send "chatroom-leave $room1_p1" to p1
send "chatroom-leave $room1_p3" to p3
- for p in [ p1, p2, p3 ]:
+ for p in [ p1, p2 ]:
with p:
expect /chatroom-message-new [a-z0-9#]+ room first_room from Owner1 leave/
+
+ for p in [ p2, p3 ]:
+ with p:
expect /chatroom-message-new [a-z0-9#]+ room first_room from Owner3 leave/
send "chatroom-members $room1_p1" to p1