diff --git a/src/app/features/room/RoomTimeline.tsx b/src/app/features/room/RoomTimeline.tsx index 4a39150..d4b87c8 100644 --- a/src/app/features/room/RoomTimeline.tsx +++ b/src/app/features/room/RoomTimeline.tsx @@ -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([]); @@ -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(); if (unreadInfo) { readUptoEventIdRef.current = unreadInfo.readUptoEventId;