@ -6,7 +6,7 @@ import { useMessageExpirationPropsById } from '../../../../hooks/useParamSelecto
import { useMessageStatus } from '../../../../state/selectors' ;
import { useMessageStatus } from '../../../../state/selectors' ;
import { useIsDetailMessageView } from '../../../../contexts/isDetailViewContext' ;
import { useIsDetailMessageView } from '../../../../contexts/isDetailViewContext' ;
import { getMostRecent MessageId } from '../../../../state/selectors/conversations' ;
import { getMostRecent Outgoing MessageId } from '../../../../state/selectors/conversations' ;
import { useSelectedIsGroupOrCommunity } from '../../../../state/selectors/selectedConversation' ;
import { useSelectedIsGroupOrCommunity } from '../../../../state/selectors/selectedConversation' ;
import { SpacerXS } from '../../../basic/Text' ;
import { SpacerXS } from '../../../basic/Text' ;
import { SessionIcon , SessionIconType } from '../../../icon' ;
import { SessionIcon , SessionIconType } from '../../../icon' ;
@ -122,10 +122,9 @@ function useIsExpiring(messageId: string) {
) ;
) ;
}
}
function useIsMostRecentMessage ( messageId : string ) {
function useIsMostRecentOutgoingMessage ( messageId : string ) {
const mostRecentMessageId = useSelector ( getMostRecentMessageId ) ;
const mostRecentOutgoingMessageId = useSelector ( getMostRecentOutgoingMessageId ) ;
const isMostRecentMessage = mostRecentMessageId === messageId ;
return mostRecentOutgoingMessageId === messageId ;
return isMostRecentMessage ;
}
}
function MessageStatusExpireTimer ( props : Pick < Props , ' messageId ' > ) {
function MessageStatusExpireTimer ( props : Pick < Props , ' messageId ' > ) {
@ -180,11 +179,11 @@ function IconForExpiringMessageId({
const MessageStatusSent = ( { dataTestId , messageId } : Omit < Props , ' isDetailView ' > ) = > {
const MessageStatusSent = ( { dataTestId , messageId } : Omit < Props , ' isDetailView ' > ) = > {
const isExpiring = useIsExpiring ( messageId ) ;
const isExpiring = useIsExpiring ( messageId ) ;
const isMostRecent Message = useIsMostRecent Message( messageId ) ;
const isMostRecent Outgoing Message = useIsMostRecent Outgoing Message( messageId ) ;
const isGroup = useSelectedIsGroupOrCommunity ( ) ;
const isGroup = useSelectedIsGroupOrCommunity ( ) ;
// we hide a "sent" message status which is not expiring except for the most recent message
// we hide the "sent" message status for a non-expiring messages unless it's the most recent outgoing message
if ( ! isExpiring && ! isMostRecent Message) {
if ( ! isExpiring && ! isMostRecent Outgoing Message) {
return null ;
return null ;
}
}
return (
return (
@ -208,10 +207,10 @@ const MessageStatusRead = ({
const isExpiring = useIsExpiring ( messageId ) ;
const isExpiring = useIsExpiring ( messageId ) ;
const isGroup = useSelectedIsGroupOrCommunity ( ) ;
const isGroup = useSelectedIsGroupOrCommunity ( ) ;
const isMostRecent Message = useIsMostRecent Message( messageId ) ;
const isMostRecent Outgoing Message = useIsMostRecent Outgoing Message( messageId ) ;
// we hide an outgoing "read" message status which is not expiring except for the most recent message
// we hide an outgoing "read" message status which is not expiring except for the most recent message
if ( ! isIncoming && ! isExpiring && ! isMostRecent Message) {
if ( ! isIncoming && ! isExpiring && ! isMostRecent Outgoing Message) {
return null ;
return null ;
}
}