core: correctly populate data for items forwarded from groups (#4025)

This commit is contained in:
spaced4ndy
2024-04-13 14:52:39 +04:00
committed by GitHub
parent de81434b36
commit 638fd3756a
2 changed files with 21 additions and 3 deletions

View File

@@ -411,7 +411,7 @@ createNewChatItem_ db User {userId} chatDirection msgId_ sharedMsgId ciContent q
Just CIFFContact {chatName, msgDir, contactId, chatItemId} ->
(Just CIFFContact_, Just chatName, Just msgDir, contactId, Nothing, chatItemId)
Just CIFFGroup {chatName, msgDir, groupId, chatItemId} ->
(Just CIFFContact_, Just chatName, Just msgDir, Nothing, groupId, chatItemId)
(Just CIFFGroup_, Just chatName, Just msgDir, Nothing, groupId, chatItemId)
ciTimedRow :: Maybe CITimed -> (Maybe Int, Maybe UTCTime)
ciTimedRow (Just CITimed {ttl, deleteAt}) = (Just ttl, deleteAt)
@@ -1468,8 +1468,8 @@ toCIForwardedFrom :: ChatItemForwardedFromRow -> Maybe CIForwardedFrom
toCIForwardedFrom (fwdFromTag, fwdFromChatName, fwdFromMsgDir, fwdFromContactId, fwdFromGroupId, fwdFromChatItemId) =
case (fwdFromTag, fwdFromChatName, fwdFromMsgDir, fwdFromContactId, fwdFromGroupId, fwdFromChatItemId) of
(Just CIFFUnknown_, Nothing, Nothing, Nothing, Nothing, Nothing) -> Just CIFFUnknown
(Just CIFFContact_, Just chatName, Just msgDir, contactId, Nothing, chatId) -> Just $ CIFFContact chatName msgDir contactId chatId
(Just CIFFGroup_, Just chatName, Just msgDir, Nothing, groupId, chatId) -> Just $ CIFFGroup chatName msgDir groupId chatId
(Just CIFFContact_, Just chatName, Just msgDir, contactId, Nothing, ciId) -> Just $ CIFFContact chatName msgDir contactId ciId
(Just CIFFGroup_, Just chatName, Just msgDir, Nothing, groupId, ciId) -> Just $ CIFFGroup chatName msgDir groupId ciId
_ -> Nothing
type GroupQuoteRow = QuoteRow :. MaybeGroupMemberRow

View File

@@ -5,6 +5,7 @@ module ChatTests.Forward where
import ChatClient
import ChatTests.Utils
import Control.Concurrent (threadDelay)
import qualified Data.ByteString.Char8 as B
import System.Directory (copyFile, doesFileExist)
import Test.Hspec hiding (it)
@@ -158,18 +159,35 @@ testForwardGroupToGroup =
bob #> "#team hey"
alice <# "#team bob> hey"
threadDelay 1000000
alice `send` "#club <- #team hi"
alice <# "#club <- you #team"
alice <## " hi"
cath <# "#club alice> -> forwarded"
cath <## " hi"
threadDelay 1000000
alice `send` "#club <- #team hey"
alice <# "#club <- #team"
alice <## " hey"
cath <# "#club alice> -> forwarded"
cath <## " hey"
-- read chat
alice ##> "/tail #club 2"
alice <# "#club <- you #team"
alice <## " hi"
alice <# "#club <- #team"
alice <## " hey"
cath ##> "/tail #club 2"
cath <# "#club alice> -> forwarded"
cath <## " hi"
cath <# "#club alice> -> forwarded"
cath <## " hey"
testForwardGroupToNotes :: HasCallStack => FilePath -> IO ()
testForwardGroupToNotes =
testChat2 aliceProfile bobProfile $