From 019909ba617f9fdb9ee3ad00f9fd99dd3cc95775 Mon Sep 17 00:00:00 2001 From: Tissevert Date: Sun, 8 Dec 2019 23:00:29 +0100 Subject: [PATCH] Use new LogIn server message, make sure the user is logged in after sending them the welcome message (so that they don't see themselves in the room) and broadcast the new LogIn message (to everyone including the newcomer) --- src/Automaton.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Automaton.hs b/src/Automaton.hs index 7a0ee85..c7c1096 100644 --- a/src/Automaton.hs +++ b/src/Automaton.hs @@ -20,8 +20,9 @@ receive (Message.Hello {Message.name}) Nothing = do sessionID <- asks App.sessionID playerID <- App.exec (Server.register sessionID) room <- App.get Server.room - App.update (Server.update sessionID $ Session.setPlayer playerID name) Messaging.send $ Message.Welcome room playerID + App.update (Server.update sessionID $ Session.setPlayer playerID name) + Messaging.broadcast $ Message.LogIn playerID name receive (Message.Hello {Message.name}) (Just player) = do sessionID <- asks App.sessionID @@ -31,8 +32,9 @@ receive (Message.Hello {Message.name}) (Just player) = do receive (Message.Tadaima {Message.myID, Message.name}) Nothing = do sessionID <- asks App.sessionID - App.update $ Server.logIn name myID sessionID Message.Okaeri <$> App.get Server.room >>= Messaging.send + App.update $ Server.logIn name myID sessionID + Messaging.broadcast $ Message.LogIn myID name receive (Message.Tadaima {}) (Just _) = sendError "You're already logged in"