feat: integrate scroll to latest behavior setting into unread info calculation
This commit is contained in:
@@ -85,7 +85,7 @@ import {
|
||||
reactionOrEditEvent,
|
||||
} from '../../utils/room';
|
||||
import { useSetting } from '../../state/hooks/settings';
|
||||
import { MessageLayout, settingsAtom } from '../../state/settings';
|
||||
import { MessageLayout, ScrollToLatestBehavior, settingsAtom } from '../../state/settings';
|
||||
import { useMatrixEventRenderer } from '../../hooks/useMatrixEventRenderer';
|
||||
import { Reactions, Message, Event, EncryptedContent } from './message';
|
||||
import { useMemberEventParser } from '../../hooks/useMemberEventParser';
|
||||
@@ -474,6 +474,7 @@ export function RoomTimeline({ room, eventId, roomInputRef, editor }: RoomTimeli
|
||||
|
||||
const [hour24Clock] = useSetting(settingsAtom, 'hour24Clock');
|
||||
const [dateFormatString] = useSetting(settingsAtom, 'dateFormatString');
|
||||
const [scrollToLatestBehavior] = useSetting(settingsAtom, 'scrollToLatestBehavior');
|
||||
|
||||
// Track consecutive call member events for collapsing
|
||||
const pendingCallEventsRef = useRef<CallEventInfo[]>([]);
|
||||
@@ -516,7 +517,9 @@ export function RoomTimeline({ room, eventId, roomInputRef, editor }: RoomTimeli
|
||||
|
||||
const imagePackRooms: Room[] = useImagePackRooms(room.roomId, roomToParents);
|
||||
|
||||
const [unreadInfo, setUnreadInfo] = useState(() => getRoomUnreadInfo(room, true));
|
||||
const [unreadInfo, setUnreadInfo] = useState(() =>
|
||||
getRoomUnreadInfo(room, scrollToLatestBehavior !== ScrollToLatestBehavior.Always)
|
||||
);
|
||||
const readUptoEventIdRef = useRef<string>();
|
||||
if (unreadInfo) {
|
||||
readUptoEventIdRef.current = unreadInfo.readUptoEventId;
|
||||
|
||||
Reference in New Issue
Block a user