stream-chat-react 12.0.0-rc.8 → 12.0.0-rc.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49441,7 +49441,11 @@ var ChannelInner = (props) => {
49441
49441
  channelReducer,
49442
49442
  // channel.initialized === false if client.channel().query() was not called, e.g. ChannelList is not used
49443
49443
  // => Channel will call channel.watch() in useLayoutEffect => state.loading is used to signal the watch() call state
49444
- { ...initialState, loading: !channel.initialized }
49444
+ {
49445
+ ...initialState,
49446
+ hasMore: channel.state.messagePagination.hasPrev,
49447
+ loading: !channel.initialized
49448
+ }
49445
49449
  );
49446
49450
  const isMounted = useIsMounted();
49447
49451
  const originalTitle = (0, import_react164.useRef)("");
@@ -49563,7 +49567,6 @@ var ChannelInner = (props) => {
49563
49567
  (0, import_react164.useLayoutEffect)(() => {
49564
49568
  let errored = false;
49565
49569
  let done = false;
49566
- let channelInitializedExternally = true;
49567
49570
  (async () => {
49568
49571
  if (!channel.initialized && initializeOnMount) {
49569
49572
  try {
@@ -49585,7 +49588,6 @@ var ChannelInner = (props) => {
49585
49588
  await getChannel({ channel, client, members, options: channelQueryOptions });
49586
49589
  const config = channel.getConfig();
49587
49590
  setChannelConfig(config);
49588
- channelInitializedExternally = false;
49589
49591
  } catch (e2) {
49590
49592
  dispatch({ error: e2, type: "setError" });
49591
49593
  errored = true;
@@ -49596,10 +49598,7 @@ var ChannelInner = (props) => {
49596
49598
  if (!errored) {
49597
49599
  dispatch({
49598
49600
  channel,
49599
- hasMore: channelInitializedExternally || hasMoreMessagesProbably(
49600
- channel.state.messages.length,
49601
- channelQueryOptions.messages.limit
49602
- ),
49601
+ hasMore: channel.state.messagePagination.hasPrev,
49603
49602
  type: "initStateFromChannel"
49604
49603
  });
49605
49604
  if (client.user?.id && channel.state.read[client.user.id]) {
@@ -49656,7 +49655,7 @@ var ChannelInner = (props) => {
49656
49655
  []
49657
49656
  );
49658
49657
  const loadMore = async (limit = DEFAULT_NEXT_CHANNEL_PAGE_SIZE) => {
49659
- if (!online.current || !window.navigator.onLine || !state.hasMore)
49658
+ if (!online.current || !window.navigator.onLine || !channel.state.messagePagination.hasPrev)
49660
49659
  return 0;
49661
49660
  const oldestMessage = state?.messages?.[0];
49662
49661
  if (state.loadingMore || state.loadingMoreNewer || oldestMessage?.status !== "received") {
@@ -49676,12 +49675,11 @@ var ChannelInner = (props) => {
49676
49675
  dispatch({ loadingMore: false, type: "setLoadingMore" });
49677
49676
  return 0;
49678
49677
  }
49679
- const hasMoreMessages = queryResponse.messages.length === perPage;
49680
- loadMoreFinished(hasMoreMessages, channel.state.messages);
49678
+ loadMoreFinished(channel.state.messagePagination.hasPrev, channel.state.messages);
49681
49679
  return queryResponse.messages.length;
49682
49680
  };
49683
49681
  const loadMoreNewer = async (limit = DEFAULT_NEXT_CHANNEL_PAGE_SIZE) => {
49684
- if (!online.current || !window.navigator.onLine || !state.hasMoreNewer)
49682
+ if (!online.current || !window.navigator.onLine || !channel.state.messagePagination.hasNext)
49685
49683
  return 0;
49686
49684
  const newestMessage = state?.messages?.[state?.messages?.length - 1];
49687
49685
  if (state.loadingMore || state.loadingMoreNewer)
@@ -49700,9 +49698,8 @@ var ChannelInner = (props) => {
49700
49698
  dispatch({ loadingMoreNewer: false, type: "setLoadingMoreNewer" });
49701
49699
  return 0;
49702
49700
  }
49703
- const hasMoreNewerMessages = channel.state.messages !== channel.state.latestMessages;
49704
49701
  dispatch({
49705
- hasMoreNewer: hasMoreNewerMessages,
49702
+ hasMoreNewer: channel.state.messagePagination.hasNext,
49706
49703
  messages: channel.state.messages,
49707
49704
  type: "loadMoreNewerFinished"
49708
49705
  });
@@ -49713,13 +49710,9 @@ var ChannelInner = (props) => {
49713
49710
  async (messageId, messageLimit = DEFAULT_JUMP_TO_PAGE_SIZE, highlightDuration = DEFAULT_HIGHLIGHT_DURATION) => {
49714
49711
  dispatch({ loadingMore: true, type: "setLoadingMore" });
49715
49712
  await channel.state.loadMessageIntoState(messageId, void 0, messageLimit);
49716
- const indexOfMessage = channel.state.messages.findIndex(
49717
- (message) => message.id === messageId
49718
- );
49719
- const hasMoreMessages = indexOfMessage >= Math.floor(messageLimit / 2);
49720
- loadMoreFinished(hasMoreMessages, channel.state.messages);
49713
+ loadMoreFinished(channel.state.messagePagination.hasPrev, channel.state.messages);
49721
49714
  dispatch({
49722
- hasMoreNewer: channel.state.messages !== channel.state.latestMessages,
49715
+ hasMoreNewer: channel.state.messagePagination.hasNext,
49723
49716
  highlightedMessageId: messageId,
49724
49717
  type: "jumpToMessageFinished"
49725
49718
  });
@@ -49735,8 +49728,7 @@ var ChannelInner = (props) => {
49735
49728
  );
49736
49729
  const jumpToLatestMessage = (0, import_react164.useCallback)(async () => {
49737
49730
  await channel.state.loadMessageIntoState("latest");
49738
- const hasMoreOlder = channel.state.messages.length >= 25;
49739
- loadMoreFinished(hasMoreOlder, channel.state.messages);
49731
+ loadMoreFinished(channel.state.messagePagination.hasPrev, channel.state.messages);
49740
49732
  dispatch({
49741
49733
  type: "jumpToLatestMessage"
49742
49734
  });
@@ -49748,7 +49740,6 @@ var ChannelInner = (props) => {
49748
49740
  let lastReadMessageId = channelUnreadUiState?.last_read_message_id;
49749
49741
  let firstUnreadMessageId = channelUnreadUiState?.first_unread_message_id;
49750
49742
  let isInCurrentMessageSet = false;
49751
- let hasMoreMessages = true;
49752
49743
  if (firstUnreadMessageId) {
49753
49744
  const result = findInMsgSetById(firstUnreadMessageId, channel.state.messages);
49754
49745
  isInCurrentMessageSet = result.index !== -1;
@@ -49782,13 +49773,13 @@ var ChannelInner = (props) => {
49782
49773
  )).messages;
49783
49774
  } catch (e2) {
49784
49775
  addNotification(t2("Failed to jump to the first unread message"), "error");
49785
- loadMoreFinished(hasMoreMessages, channel.state.messages);
49776
+ loadMoreFinished(channel.state.messagePagination.hasPrev, channel.state.messages);
49786
49777
  return;
49787
49778
  }
49788
49779
  const firstMessageWithCreationDate = messages.find((msg) => msg.created_at);
49789
49780
  if (!firstMessageWithCreationDate) {
49790
49781
  addNotification(t2("Failed to jump to the first unread message"), "error");
49791
- loadMoreFinished(hasMoreMessages, channel.state.messages);
49782
+ loadMoreFinished(channel.state.messagePagination.hasPrev, channel.state.messages);
49792
49783
  return;
49793
49784
  }
49794
49785
  const firstMessageTimestamp = new Date(
@@ -49796,13 +49787,11 @@ var ChannelInner = (props) => {
49796
49787
  ).getTime();
49797
49788
  if (lastReadTimestamp < firstMessageTimestamp) {
49798
49789
  firstUnreadMessageId = firstMessageWithCreationDate.id;
49799
- hasMoreMessages = false;
49800
49790
  } else {
49801
49791
  const result = findInMsgSetByDate(channelUnreadUiState.last_read, messages);
49802
49792
  lastReadMessageId = result.target?.id;
49803
- hasMoreMessages = result.index >= Math.floor(queryMessageLimit / 2);
49804
49793
  }
49805
- loadMoreFinished(hasMoreMessages, channel.state.messages);
49794
+ loadMoreFinished(channel.state.messagePagination.hasPrev, channel.state.messages);
49806
49795
  }
49807
49796
  }
49808
49797
  if (!firstUnreadMessageId && !lastReadMessageId) {
@@ -49817,12 +49806,11 @@ var ChannelInner = (props) => {
49817
49806
  const indexOfTarget = channel.state.messages.findIndex(
49818
49807
  (message) => message.id === targetId
49819
49808
  );
49820
- hasMoreMessages = indexOfTarget >= Math.floor(queryMessageLimit / 2);
49821
- loadMoreFinished(hasMoreMessages, channel.state.messages);
49809
+ loadMoreFinished(channel.state.messagePagination.hasPrev, channel.state.messages);
49822
49810
  firstUnreadMessageId = firstUnreadMessageId ?? channel.state.messages[indexOfTarget + 1]?.id;
49823
49811
  } catch (e2) {
49824
49812
  addNotification(t2("Failed to jump to the first unread message"), "error");
49825
- loadMoreFinished(hasMoreMessages, channel.state.messages);
49813
+ loadMoreFinished(channel.state.messagePagination.hasPrev, channel.state.messages);
49826
49814
  return;
49827
49815
  }
49828
49816
  }
@@ -49837,7 +49825,7 @@ var ChannelInner = (props) => {
49837
49825
  last_read_message_id: lastReadMessageId
49838
49826
  });
49839
49827
  dispatch({
49840
- hasMoreNewer: channel.state.messages !== channel.state.latestMessages,
49828
+ hasMoreNewer: channel.state.messagePagination.hasNext,
49841
49829
  highlightedMessageId: firstUnreadMessageId,
49842
49830
  type: "jumpToMessageFinished"
49843
49831
  });