Skip to content

Commit 120c7f0

Browse files
committed
Address review comments
1 parent 7eb0c47 commit 120c7f0

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

examples/messaging/src/App.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
InfiniteScrollPaginator,
1111
MessageInput,
1212
MessageInputFlat,
13-
VirtualizedMessageList as TheMessageList,
13+
MessageList as TheMessageList,
1414
Thread,
1515
Window,
1616
} from 'stream-chat-react';

src/components/MessageList/VirtualizedMessageList.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { usePrependedMessagesCount } from './hooks/usePrependMessagesCount';
1515
import { useShouldForceScrollToBottom } from './hooks/useShouldForceScrollToBottom';
1616
import MessageNotification from './MessageNotification';
1717

18-
const prependOffset = 10000;
18+
const PREPEND_OFFSET = 10 ** 7;
1919

2020
/**
2121
* VirtualizedMessageList - This component renders a list of messages in a virtual list. Its a consumer of [Channel Context](https://getstream.github.io/stream-chat-react/#channel)
@@ -64,7 +64,7 @@ const VirtualizedMessageList = ({
6464
const messageRenderer = useCallback(
6565
(messageList, virtuosoIndex) => {
6666
const streamMessageIndex =
67-
virtuosoIndex + numItemsPrepended - prependOffset;
67+
virtuosoIndex + numItemsPrepended - PREPEND_OFFSET;
6868
// use custom renderer supplied by client if present and skip the rest
6969
if (customMessageRenderer) {
7070
return customMessageRenderer(messageList, streamMessageIndex);
@@ -152,7 +152,7 @@ const VirtualizedMessageList = ({
152152
}}
153153
itemContent={(i) => messageRenderer(messages, i)}
154154
components={virtuosoComponents}
155-
firstItemIndex={prependOffset - numItemsPrepended}
155+
firstItemIndex={PREPEND_OFFSET - numItemsPrepended}
156156
startReached={() => {
157157
if (hasMore) {
158158
loadMore(messageLimit);

src/components/MessageList/hooks/usePrependMessagesCount.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,24 @@ import { useRef, useMemo } from 'react';
55
* @param {Array<{ id: string }> | undefined} messages,
66
*/
77
export const usePrependedMessagesCount = (messages) => {
8-
const firstMessageId = useRef(messages && messages.length && messages[0].id);
9-
const earliestMessageId = useRef(
10-
messages && messages.length && messages[0].id,
11-
);
8+
const currentFirstMessageId = messages?.[0]?.id;
9+
const firstMessageId = useRef(currentFirstMessageId);
10+
const earliestMessageId = useRef(currentFirstMessageId);
1211
const previousNumItemsPrepended = useRef(0);
12+
1313
const numItemsPrepended = useMemo(() => {
1414
if (!messages || !messages.length) {
1515
return 0;
1616
}
1717
// if no new messages were prepended, return early (same amount as before)
18-
if (messages[0]?.id === earliestMessageId.current) {
18+
if (currentFirstMessageId === earliestMessageId.current) {
1919
return previousNumItemsPrepended.current;
2020
}
2121

2222
if (!firstMessageId.current) {
23-
firstMessageId.current = messages[0].id;
23+
firstMessageId.current = currentFirstMessageId;
2424
}
25-
earliestMessageId.current = messages[0].id;
25+
earliestMessageId.current = currentFirstMessageId;
2626
// if new messages were prepended, find out how many
2727
// start with this number because there cannot be fewer prepended items than before
2828
for (

0 commit comments

Comments
 (0)