diff --git a/src/Simplex/Chat.hs b/src/Simplex/Chat.hs index b9feeb576b..03e8c2df15 100644 --- a/src/Simplex/Chat.hs +++ b/src/Simplex/Chat.hs @@ -2870,6 +2870,7 @@ processAgentMessageConn user@User {userId} corrId agentConnId agentMessage = do sentMsgDeliveryEvent conn msgId checkSndInlineFTComplete conn msgId withStore' (\db -> getDirectChatItemByAgentMsgId db user contactId connId msgId) >>= \case + Just (CChatItem SMDSnd ChatItem {meta = CIMeta {itemStatus = CISSndRcvd _}}) -> pure () Just (CChatItem SMDSnd ci) -> do chatItem <- withStore $ \db -> updateDirectChatItemStatus db user contactId (chatItemId' ci) CISSndSent toView $ CRChatItemStatusUpdated user (AChatItem SCTDirect SMDSnd (DirectChat ct) chatItem) diff --git a/src/Simplex/Chat/Messages.hs b/src/Simplex/Chat/Messages.hs index 2dbac741bb..23baa618ab 100644 --- a/src/Simplex/Chat/Messages.hs +++ b/src/Simplex/Chat/Messages.hs @@ -843,7 +843,7 @@ msgDeliveryStatusT = eitherToMaybe . parseAll statusP . encodeUtf8 "snd_rcvd" -> AMDS SMDSnd . MDSSndRcvd <$> (A.space *> strP) "snd_read" -> pure $ AMDS SMDSnd MDSSndRead _ -> fail "bad AMsgDeliveryStatus" - + msgDeliveryStatusT' :: forall d. MsgDirectionI d => Text -> Maybe (MsgDeliveryStatus d) msgDeliveryStatusT' s = msgDeliveryStatusT s >>= \(AMDS d st) ->