sync commands
This commit is contained in:
parent
7924861810
commit
565bc70843
@ -357,19 +357,19 @@ processChatCommand user@User {userId, profile} = \case
|
|||||||
QuitChat -> liftIO exitSuccess
|
QuitChat -> liftIO exitSuccess
|
||||||
ShowVersion -> pure CRVersionInfo
|
ShowVersion -> pure CRVersionInfo
|
||||||
where
|
where
|
||||||
procCmd :: m ChatResponse -> m ChatResponse
|
-- below code would make command responses asynchronous where they can be slow
|
||||||
procCmd action = do
|
-- in View.hs `r'` should be defined as `id` in this case
|
||||||
-- below code would make command responses asynchronous where they can be slow
|
|
||||||
-- in View.hs `r'` should be defined as `id` in this case
|
|
||||||
ChatController {chatLock = l, smpAgent = a, outputQ = q, idsDrg = gVar} <- ask
|
|
||||||
corrId <- liftIO $ SMP.CorrId <$> randomBytes gVar 8
|
|
||||||
void . forkIO $
|
|
||||||
withAgentLock a . withLock l $
|
|
||||||
(atomically . writeTBQueue q) . (Just corrId,) =<< (action `catchError` (pure . CRChatError))
|
|
||||||
pure $ CRCmdAccepted corrId
|
|
||||||
-- use function below to make commands "synchronous"
|
|
||||||
-- procCmd :: m ChatResponse -> m ChatResponse
|
-- procCmd :: m ChatResponse -> m ChatResponse
|
||||||
-- procCmd action = action
|
-- procCmd action = do
|
||||||
|
-- ChatController {chatLock = l, smpAgent = a, outputQ = q, idsDrg = gVar} <- ask
|
||||||
|
-- corrId <- liftIO $ SMP.CorrId <$> randomBytes gVar 8
|
||||||
|
-- void . forkIO $
|
||||||
|
-- withAgentLock a . withLock l $
|
||||||
|
-- (atomically . writeTBQueue q) . (Just corrId,) =<< (action `catchError` (pure . CRChatError))
|
||||||
|
-- pure $ CRCmdAccepted corrId
|
||||||
|
-- use function below to make commands "synchronous"
|
||||||
|
procCmd :: m ChatResponse -> m ChatResponse
|
||||||
|
procCmd = id
|
||||||
connect :: ConnectionRequestUri c -> ChatMsgEvent -> m ()
|
connect :: ConnectionRequestUri c -> ChatMsgEvent -> m ()
|
||||||
connect cReq msg = do
|
connect cReq msg = do
|
||||||
connId <- withAgent $ \a -> joinConnection a cReq $ directMessage msg
|
connId <- withAgent $ \a -> joinConnection a cReq $ directMessage msg
|
||||||
|
@ -118,8 +118,8 @@ responseToView cmd = \case
|
|||||||
api = (highlight cmd :)
|
api = (highlight cmd :)
|
||||||
r = (plain cmd :)
|
r = (plain cmd :)
|
||||||
-- this function should be `r` for "synchronous", `id` for "asynchronous" command responses
|
-- this function should be `r` for "synchronous", `id` for "asynchronous" command responses
|
||||||
-- r' = r
|
-- r' = id
|
||||||
r' = id
|
r' = r
|
||||||
|
|
||||||
viewChatItem :: ChatInfo c -> ChatItem c d -> [StyledString]
|
viewChatItem :: ChatInfo c -> ChatItem c d -> [StyledString]
|
||||||
viewChatItem chat (ChatItem cd meta content) = case (chat, cd) of
|
viewChatItem chat (ChatItem cd meta content) = case (chat, cd) of
|
||||||
|
Loading…
Reference in New Issue
Block a user