Skip to content

Commit deaf359

Browse files
committed
fix: channel state initial data
1 parent 8ec3253 commit deaf359

File tree

3 files changed

+17
-13
lines changed

3 files changed

+17
-13
lines changed

package/src/components/Channel/Channel.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,7 @@ const ChannelWithContext = <
669669
initStateFromChannel,
670670
setTyping,
671671
state: channelState,
672-
} = useChannelDataState<StreamChatGenerics>();
672+
} = useChannelDataState<StreamChatGenerics>(channel);
673673

674674
const {
675675
copyMessagesStateFromChannel,

package/src/components/Channel/hooks/useChannelDataState.ts

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,17 @@ export type ChannelState<
5151
*/
5252
export const useChannelMessageDataState = <
5353
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
54-
>() => {
54+
>(
55+
channel: Channel<StreamChatGenerics>,
56+
) => {
5557
const [state, setState] = useState<ChannelMessagesState<StreamChatGenerics>>({
5658
hasMore: true,
5759
hasMoreNewer: false,
58-
loading: true,
60+
loading: false,
5961
loadingMore: false,
6062
loadingMoreRecent: false,
61-
messages: [],
62-
pinnedMessages: [],
63+
messages: channel?.state.messages || [],
64+
pinnedMessages: channel?.state.pinnedMessages || [],
6365
targetedMessageId: undefined,
6466
});
6567

@@ -73,15 +75,15 @@ export const useChannelMessageDataState = <
7375

7476
const loadInitialMessagesStateFromChannel = useCallback(
7577
(channel: Channel<StreamChatGenerics>, hasMore: boolean) => {
76-
setState({
77-
...state,
78+
setState((prev) => ({
79+
...prev,
7880
hasMore,
7981
loading: false,
8082
messages: [...channel.state.messages],
8183
pinnedMessages: [...channel.state.pinnedMessages],
82-
});
84+
}));
8385
},
84-
[state],
86+
[],
8587
);
8688

8789
const jumpToLatestMessage = useCallback(() => {
@@ -166,10 +168,12 @@ export const useChannelMessageDataState = <
166168
*/
167169
export const useChannelDataState = <
168170
StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,
169-
>() => {
171+
>(
172+
channel: Channel<StreamChatGenerics>,
173+
) => {
170174
const [state, setState] = useState<ChannelState<StreamChatGenerics>>({
171-
members: {},
172-
read: {},
175+
members: channel.state.members,
176+
read: channel.state.read,
173177
typing: {},
174178
watcherCount: 0,
175179
watchers: {},

package/src/components/Channel/hooks/useMessageListPagination.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export const useMessageListPagination = <
3838
setLoadingMore,
3939
setLoadingMoreRecent,
4040
state,
41-
} = useChannelMessageDataState<StreamChatGenerics>();
41+
} = useChannelMessageDataState<StreamChatGenerics>(channel);
4242

4343
// hard limit to prevent you from scrolling faster than 1 page per 2 seconds
4444
const loadMoreFinished = useRef(

0 commit comments

Comments
 (0)