summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Erebos/Chatroom.hs2
-rw-r--r--src/Erebos/Conversation.hs2
-rw-r--r--src/Erebos/Conversation/Class.hs5
-rw-r--r--src/Erebos/DirectMessage.hs2
4 files changed, 7 insertions, 4 deletions
diff --git a/src/Erebos/Chatroom.hs b/src/Erebos/Chatroom.hs
index 11d5643..aa5e3ee 100644
--- a/src/Erebos/Chatroom.hs
+++ b/src/Erebos/Chatroom.hs
@@ -69,7 +69,7 @@ instance ConversationType ChatroomState ChatMessage where
convReference = refDigest . storedRef . head . filterAncestors . concatMap storedRoots . roomStateData
- convMessageListSince mbSince cstate =
+ convMessageListSince mbSince cstate = ( 0, ) $
map (, False) $ threadToListSince (maybe [] roomStateMessageData mbSince) (roomStateMessageData cstate)
diff --git a/src/Erebos/Conversation.hs b/src/Erebos/Conversation.hs
index 20cbf94..1d72f41 100644
--- a/src/Erebos/Conversation.hs
+++ b/src/Erebos/Conversation.hs
@@ -131,7 +131,7 @@ conversationPeer (DirectMessageConversation thread) = Just $ msgPeer thread
conversationPeer (ChatroomConversation _) = Nothing
conversationHistory :: Conversation -> [ Message ]
-conversationHistory = withConversation $ map (uncurry Message) . convMessageListSince Nothing
+conversationHistory = withConversation $ map (uncurry Message) . snd . convMessageListSince Nothing
sendMessage :: (MonadHead LocalState m, MonadError e m, FromErebosError e) => Conversation -> Text -> m ()
diff --git a/src/Erebos/Conversation/Class.hs b/src/Erebos/Conversation/Class.hs
index 77458fa..96a0e6a 100644
--- a/src/Erebos/Conversation/Class.hs
+++ b/src/Erebos/Conversation/Class.hs
@@ -17,4 +17,7 @@ class (Typeable conv, Typeable msg) => ConversationType conv msg | conv -> msg,
convMessageText :: msg -> Maybe Text
convReference :: conv -> RefDigest
- convMessageListSince :: Maybe conv -> conv -> [ ( msg, Bool ) ]
+ convMessageListSince
+ :: Maybe conv -- ^ Original state to diff from
+ -> conv -- ^ Current state
+ -> ( Int, [ ( msg, Bool ) ] ) -- ^ Number of removed, list of added messages
diff --git a/src/Erebos/DirectMessage.hs b/src/Erebos/DirectMessage.hs
index dafebce..099ed5c 100644
--- a/src/Erebos/DirectMessage.hs
+++ b/src/Erebos/DirectMessage.hs
@@ -53,7 +53,7 @@ instance ConversationType DirectMessageThread DirectMessage where
convReference = refDigest . storedRef . head . idDataF . msgPeer
- convMessageListSince mbSince thread =
+ convMessageListSince mbSince thread = ( 0, ) $
threadToListHelper (msgSeen thread) (maybe S.empty (S.fromAscList . msgHead) mbSince) (msgHead thread)