diff options
Diffstat (limited to 'src/Erebos')
| -rw-r--r-- | src/Erebos/Chatroom.hs | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/src/Erebos/Chatroom.hs b/src/Erebos/Chatroom.hs index be1a0e4..b2432c5 100644 --- a/src/Erebos/Chatroom.hs +++ b/src/Erebos/Chatroom.hs @@ -434,8 +434,13 @@ instance Service ChatroomService where      serviceHandler spacket = do          let ChatroomService {..} = fromStored spacket + +        previouslyUpdated <- psSendRoomUpdates <$> svcGet          svcModify $ \s -> s { psSendRoomUpdates = True } +        when (not previouslyUpdated) $ do +            syncChatroomsToPeer . lookupSharedValue . lsShared . fromStored =<< getLocalHead +          when chatRoomQuery $ do              rooms <- listChatrooms              replyPacket emptyPacket |