Fix multiple unread divider
authorAjay Bura <ajbura@gmail.com>
Mon, 13 Dec 2021 05:33:48 +0000 (11:03 +0530)
committerAjay Bura <ajbura@gmail.com>
Mon, 13 Dec 2021 05:33:48 +0000 (11:03 +0530)
Signed-off-by: Ajay Bura <ajbura@gmail.com>
src/app/organisms/room/RoomViewContent.jsx

index f78cbdab8816d83e02c5dd80bc580f6d6852b7db..e0dad0466a4bf29fc489b6df3ea92ef65c339357 100644 (file)
@@ -83,7 +83,9 @@ function handleOnClickCapture(e) {
 }
 
 function renderEvent(roomTimeline, mEvent, prevMEvent, isFocus = false) {
-  const isBodyOnly = (prevMEvent !== null && prevMEvent.getType() !== 'm.room.member'
+  const isBodyOnly = (prevMEvent !== null
+    && prevMEvent.getType() !== 'm.room.member'
+    && prevMEvent.getType() !== 'm.room.create'
     && diffMinutes(mEvent.getDate(), prevMEvent.getDate()) <= MAX_MSG_DIFF_MINUTES
     && prevMEvent.getSender() === mEvent.getSender()
   );
@@ -577,6 +579,7 @@ function RoomViewContent({ eventId, roomTimeline }) {
     let itemCountIndex = 0;
     jumpToItemIndex = -1;
     const readEvent = readEventStore.getItem();
+    let unreadDivider = false;
 
     if (roomTimeline.canPaginateBackward() || limit.from > 0) {
       tl.push(loadingMsgPlaceholders(1, PLACEHOLDER_COUNT));
@@ -599,7 +602,7 @@ function RoomViewContent({ eventId, roomTimeline }) {
         }
       }
 
-      const unreadDivider = (readEvent
+      unreadDivider = (readEvent && !unreadDivider
         && prevMEvent?.getTs() <= readEvent.getTs()
         && readEvent.getTs() < mEvent.getTs());
       if (unreadDivider) {