summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--main/Main.hs2
-rw-r--r--src/Erebos/Conversation.hs6
-rw-r--r--src/Erebos/DirectMessage.hs8
3 files changed, 8 insertions, 8 deletions
diff --git a/main/Main.hs b/main/Main.hs
index d95e766..3bfeb5f 100644
--- a/main/Main.hs
+++ b/main/Main.hs
@@ -686,7 +686,7 @@ cmdSend :: Command
cmdSend = void $ do
text <- asks ciLine
conv <- getSelectedConversation
- void $ sendMessage conv (T.pack text)
+ sendMessage conv (T.pack text)
cmdDelete :: Command
cmdDelete = void $ do
diff --git a/src/Erebos/Conversation.hs b/src/Erebos/Conversation.hs
index c882e23..445b997 100644
--- a/src/Erebos/Conversation.hs
+++ b/src/Erebos/Conversation.hs
@@ -113,9 +113,9 @@ conversationHistory (DirectMessageConversation thread) = map (\msg -> DirectMess
conversationHistory (ChatroomConversation rstate) = map (\msg -> ChatroomMessage msg False) $ roomStateMessages rstate
-sendMessage :: (MonadHead LocalState m, MonadError e m, FromErebosError e) => Conversation -> Text -> m (Maybe Message)
-sendMessage (DirectMessageConversation thread) text = fmap Just $ DirectMessageMessage <$> (fromStored <$> sendDirectMessage (msgPeer thread) text) <*> pure False
-sendMessage (ChatroomConversation rstate) text = sendChatroomMessage rstate text >> return Nothing
+sendMessage :: (MonadHead LocalState m, MonadError e m, FromErebosError e) => Conversation -> Text -> m ()
+sendMessage (DirectMessageConversation thread) text = sendDirectMessage (msgPeer thread) text
+sendMessage (ChatroomConversation rstate) text = sendChatroomMessage rstate text
deleteConversation :: (MonadHead LocalState m, MonadError e m, FromErebosError e) => Conversation -> m ()
deleteConversation (DirectMessageConversation _) = throwOtherError "deleting direct message conversation is not supported"
diff --git a/src/Erebos/DirectMessage.hs b/src/Erebos/DirectMessage.hs
index 2dd0b06..21ba5b3 100644
--- a/src/Erebos/DirectMessage.hs
+++ b/src/Erebos/DirectMessage.hs
@@ -164,11 +164,11 @@ findMsgProperty pid sel mss = concat $ flip findProperty mss $ \x -> do
sendDirectMessage :: (Foldable f, Applicative f, MonadHead LocalState m)
- => Identity f -> Text -> m (Stored DirectMessage)
-sendDirectMessage pid text = updateLocalState $ \ls -> do
+ => Identity f -> Text -> m ()
+sendDirectMessage pid text = updateLocalState_ $ \ls -> do
let self = localIdentity $ fromStored ls
powner = finalOwner pid
- flip updateSharedState ls $ \(DirectMessageThreads prev _) -> do
+ flip updateSharedState_ ls $ \(DirectMessageThreads prev _) -> do
let ready = findMsgProperty powner msReady prev
received = findMsgProperty powner msReceived prev
@@ -187,7 +187,7 @@ sendDirectMessage pid text = updateLocalState $ \ls -> do
, msReceived = []
, msSeen = []
}
- return ( DirectMessageThreads [ next ] (dmThreadView [ next ]), smsg )
+ return $ DirectMessageThreads [ next ] (dmThreadView [ next ])
syncDirectMessageToPeer :: DirectMessageThreads -> ServiceHandler DirectMessage ()
syncDirectMessageToPeer (DirectMessageThreads mss _) = do