diff --git a/app/soapbox/actions/streaming.ts b/app/soapbox/actions/streaming.ts index 1a7516396..aa670e1be 100644 --- a/app/soapbox/actions/streaming.ts +++ b/app/soapbox/actions/streaming.ts @@ -168,7 +168,14 @@ const connectTimelineStream = ( removeChatMessage(data.payload); break; case 'chat_message.read': // TruthSocial - updateChatQuery(JSON.parse(data.payload)); + dispatch((_dispatch: AppDispatch, getState: () => RootState) => { + const chat = JSON.parse(data.payload); + const me = getState().me; + const isFromOtherUser = chat.account.id !== me; + if (isFromOtherUser) { + updateChatQuery(JSON.parse(data.payload)); + } + }); break; case 'pleroma:follow_relationships_update': dispatch(updateFollowRelationships(JSON.parse(data.payload))); diff --git a/app/soapbox/features/chats/components/chat-message-list.tsx b/app/soapbox/features/chats/components/chat-message-list.tsx index 17a7599b0..6ca569c7b 100644 --- a/app/soapbox/features/chats/components/chat-message-list.tsx +++ b/app/soapbox/features/chats/components/chat-message-list.tsx @@ -344,10 +344,18 @@ const ChatMessageList: React.FC = ({ chat }) => { {intl.formatTime(chatMessage.created_at)} - {isRead ? ( - - - + {isMyMessage ? ( + <> + {isRead ? ( + + + + ) : ( + + + + )} + ) : null}