diff options
-rw-r--r-- | src/Erebos/Chatroom.hs | 2 | ||||
-rw-r--r-- | test/chatroom.test | 5 |
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 |