diff --git a/src/Simplex/Chat/Messages.hs b/src/Simplex/Chat/Messages.hs index 22506218aa..21da83ad05 100644 --- a/src/Simplex/Chat/Messages.hs +++ b/src/Simplex/Chat/Messages.hs @@ -150,8 +150,8 @@ instance MsgDirectionI d => ToJSON (ChatItem c d) where toJSON = J.genericToJSON J.defaultOptions {J.omitNothingFields = True} toEncoding = J.genericToEncoding J.defaultOptions {J.omitNothingFields = True} -isReference :: ChatItem c d -> Bool -isReference ChatItem {chatDir, quotedItem} = case chatDir of +isMention :: ChatItem c d -> Bool +isMention ChatItem {chatDir, quotedItem} = case chatDir of CIDirectRcv -> userItem quotedItem CIGroupRcv _ -> userItem quotedItem _ -> False diff --git a/src/Simplex/Chat/Terminal/Output.hs b/src/Simplex/Chat/Terminal/Output.hs index a45390e8c3..a623536cd9 100644 --- a/src/Simplex/Chat/Terminal/Output.hs +++ b/src/Simplex/Chat/Terminal/Output.hs @@ -151,7 +151,7 @@ runTerminalOutput ct cc@ChatController {outputQ, showLiveItems, logFilePath} = d responseNotification ct cc r where markChatItemRead u (AChatItem _ _ chat ci@ChatItem {chatDir, meta = CIMeta {itemStatus}}) = - case (chatDirNtf u chat chatDir (isReference ci), itemStatus) of + case (chatDirNtf u chat chatDir (isMention ci), itemStatus) of (True, CISRcvNew) -> do let itemId = chatItemId' ci chatRef = chatInfoToRef chat @@ -162,7 +162,7 @@ runTerminalOutput ct cc@ChatController {outputQ, showLiveItems, logFilePath} = d responseNotification :: ChatTerminal -> ChatController -> ChatResponse -> IO () responseNotification t@ChatTerminal {sendNotification} cc = \case CRNewChatItem u (AChatItem _ SMDRcv cInfo ci@ChatItem {chatDir, content = CIRcvMsgContent mc, formattedText}) -> - when (chatDirNtf u cInfo chatDir $ isReference ci) $ do + when (chatDirNtf u cInfo chatDir $ isMention ci) $ do whenCurrUser cc u $ setActiveChat t cInfo case (cInfo, chatDir) of (DirectChat ct, _) -> sendNtf (viewContactName ct <> "> ", text) @@ -171,7 +171,7 @@ responseNotification t@ChatTerminal {sendNotification} cc = \case where text = msgText mc formattedText CRChatItemUpdated u (AChatItem _ SMDRcv cInfo ci@ChatItem {chatDir, content = CIRcvMsgContent _}) -> - whenCurrUser cc u $ when (chatDirNtf u cInfo chatDir $ isReference ci) $ setActiveChat t cInfo + whenCurrUser cc u $ when (chatDirNtf u cInfo chatDir $ isMention ci) $ setActiveChat t cInfo CRContactConnected u ct _ -> when (contactNtf u ct False) $ do whenCurrUser cc u $ setActiveContact t ct sendNtf (viewContactName ct <> "> ", "connected") diff --git a/src/Simplex/Chat/View.hs b/src/Simplex/Chat/View.hs index f465375f12..86a10988d6 100644 --- a/src/Simplex/Chat/View.hs +++ b/src/Simplex/Chat/View.hs @@ -350,40 +350,40 @@ responseToView user_ ChatConfig {logLevel, showReactions, showReceipts, testView contactList :: [ContactRef] -> String contactList cs = T.unpack . T.intercalate ", " $ map (\ContactRef {localDisplayName = n} -> "@" <> n) cs unmuted :: User -> ChatInfo c -> ChatItem c d -> [StyledString] -> [StyledString] - unmuted u chat ci@ChatItem {chatDir} = unmuted' u chat chatDir $ isReference ci + unmuted u chat ci@ChatItem {chatDir} = unmuted' u chat chatDir $ isMention ci unmutedReaction :: User -> ChatInfo c -> CIReaction c d -> [StyledString] -> [StyledString] unmutedReaction u chat CIReaction {chatDir} = unmuted' u chat chatDir False unmuted' :: User -> ChatInfo c -> CIDirection c d -> Bool -> [StyledString] -> [StyledString] - unmuted' u chat chatDir reference s - | chatDirNtf u chat chatDir reference = s + unmuted' u chat chatDir mention s + | chatDirNtf u chat chatDir mention = s | otherwise = [] userNtf :: User -> Bool userNtf User {showNtfs, activeUser} = showNtfs || activeUser chatNtf :: User -> ChatInfo c -> Bool -> Bool -chatNtf user cInfo reference = case cInfo of - DirectChat ct -> contactNtf user ct reference - GroupChat g -> groupNtf user g reference +chatNtf user cInfo mention = case cInfo of + DirectChat ct -> contactNtf user ct mention + GroupChat g -> groupNtf user g mention _ -> False chatDirNtf :: User -> ChatInfo c -> CIDirection c d -> Bool -> Bool -chatDirNtf user cInfo chatDir reference = case (cInfo, chatDir) of - (DirectChat ct, CIDirectRcv) -> contactNtf user ct reference - (GroupChat g, CIGroupRcv m) -> groupNtf user g reference && showMessages (memberSettings m) +chatDirNtf user cInfo chatDir mention = case (cInfo, chatDir) of + (DirectChat ct, CIDirectRcv) -> contactNtf user ct mention + (GroupChat g, CIGroupRcv m) -> groupNtf user g mention && showMessages (memberSettings m) _ -> True contactNtf :: User -> Contact -> Bool -> Bool -contactNtf user Contact {chatSettings} reference = - userNtf user && showMessageNtf chatSettings reference +contactNtf user Contact {chatSettings} mention = + userNtf user && showMessageNtf chatSettings mention groupNtf :: User -> GroupInfo -> Bool -> Bool -groupNtf user GroupInfo {chatSettings} reference = - userNtf user && showMessageNtf chatSettings reference +groupNtf user GroupInfo {chatSettings} mention = + userNtf user && showMessageNtf chatSettings mention showMessageNtf :: ChatSettings -> Bool -> Bool -showMessageNtf ChatSettings {enableNtfs} reference = - enableNtfs == MFAll || (reference && enableNtfs == MFMentions) +showMessageNtf ChatSettings {enableNtfs} mention = + enableNtfs == MFAll || (mention && enableNtfs == MFMentions) chatItemDeletedText :: ChatItem c d -> Maybe GroupMember -> Maybe Text chatItemDeletedText ChatItem {meta = CIMeta {itemDeleted}, content} membership_ =