stream-chat 9.40.0 → 9.41.1

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.
package/src/utils.ts CHANGED
@@ -811,6 +811,7 @@ type MessagePaginationUpdatedParams = {
811
811
  parentSet: MessageSet;
812
812
  requestedPageSize: number;
813
813
  returnedPage: MessageResponse[];
814
+ filteredReturnedPage: MessageResponse[];
814
815
  logger?: Logger;
815
816
  messagePaginationOptions?: MessagePaginationOptions;
816
817
  };
@@ -849,6 +850,7 @@ const messagePaginationCreatedAtAround = ({
849
850
  parentSet,
850
851
  requestedPageSize,
851
852
  returnedPage,
853
+ filteredReturnedPage,
852
854
  messagePaginationOptions,
853
855
  }: MessagePaginationUpdatedParams) => {
854
856
  const newPagination = { ...parentSet.pagination };
@@ -892,9 +894,14 @@ const messagePaginationCreatedAtAround = ({
892
894
  hasNext = hasPrev = false;
893
895
  updateHasPrev = updateHasNext = true;
894
896
  } else {
897
+ const [firstFilteredPageMsg, lastFilteredPageMsg] = [
898
+ filteredReturnedPage[0],
899
+ filteredReturnedPage.slice(-1)[0],
900
+ ];
895
901
  const [firstPageMsgIsFirstInSet, lastPageMsgIsLastInSet] = [
896
- firstPageMsg?.id && firstPageMsg.id === parentSet.messages[0]?.id,
897
- lastPageMsg?.id && lastPageMsg.id === parentSet.messages.slice(-1)[0]?.id,
902
+ firstFilteredPageMsg?.id && firstFilteredPageMsg.id === parentSet.messages[0]?.id,
903
+ lastFilteredPageMsg?.id &&
904
+ lastFilteredPageMsg.id === parentSet.messages.slice(-1)[0]?.id,
898
905
  ];
899
906
  updateHasPrev = firstPageMsgIsFirstInSet;
900
907
  updateHasNext = lastPageMsgIsLastInSet;
@@ -920,6 +927,7 @@ const messagePaginationIdAround = ({
920
927
  parentSet,
921
928
  requestedPageSize,
922
929
  returnedPage,
930
+ filteredReturnedPage,
923
931
  messagePaginationOptions,
924
932
  }: MessagePaginationUpdatedParams) => {
925
933
  const newPagination = { ...parentSet.pagination };
@@ -928,10 +936,13 @@ const messagePaginationIdAround = ({
928
936
  let hasPrev;
929
937
  let hasNext;
930
938
 
931
- const [firstPageMsg, lastPageMsg] = [returnedPage[0], returnedPage.slice(-1)[0]];
939
+ const [firstFilteredPageMsg, lastFilteredPageMsg] = [
940
+ filteredReturnedPage[0],
941
+ filteredReturnedPage.slice(-1)[0],
942
+ ];
932
943
  const [firstPageMsgIsFirstInSet, lastPageMsgIsLastInSet] = [
933
- firstPageMsg?.id === parentSet.messages[0]?.id,
934
- lastPageMsg?.id === parentSet.messages.slice(-1)[0]?.id,
944
+ firstFilteredPageMsg?.id === parentSet.messages[0]?.id,
945
+ lastFilteredPageMsg?.id === parentSet.messages.slice(-1)[0]?.id,
935
946
  ];
936
947
  let updateHasPrev = firstPageMsgIsFirstInSet;
937
948
  let updateHasNext = lastPageMsgIsLastInSet;
@@ -974,6 +985,7 @@ const messagePaginationLinear = ({
974
985
  parentSet,
975
986
  requestedPageSize,
976
987
  returnedPage,
988
+ filteredReturnedPage,
977
989
  messagePaginationOptions,
978
990
  }: MessagePaginationUpdatedParams) => {
979
991
  const newPagination = { ...parentSet.pagination };
@@ -981,10 +993,14 @@ const messagePaginationLinear = ({
981
993
  let hasPrev;
982
994
  let hasNext;
983
995
 
984
- const [firstPageMsg, lastPageMsg] = [returnedPage[0], returnedPage.slice(-1)[0]];
996
+ const [firstFilteredPageMsg, lastFilteredPageMsg] = [
997
+ filteredReturnedPage[0],
998
+ filteredReturnedPage.slice(-1)[0],
999
+ ];
985
1000
  const [firstPageMsgIsFirstInSet, lastPageMsgIsLastInSet] = [
986
- firstPageMsg?.id && firstPageMsg.id === parentSet.messages[0]?.id,
987
- lastPageMsg?.id && lastPageMsg.id === parentSet.messages.slice(-1)[0]?.id,
1001
+ firstFilteredPageMsg?.id && firstFilteredPageMsg.id === parentSet.messages[0]?.id,
1002
+ lastFilteredPageMsg?.id &&
1003
+ lastFilteredPageMsg.id === parentSet.messages.slice(-1)[0]?.id,
988
1004
  ];
989
1005
 
990
1006
  const queriedNextMessages =
@@ -1028,9 +1044,9 @@ const messagePaginationLinear = ({
1028
1044
  };
1029
1045
 
1030
1046
  export const messageSetPagination = (params: MessagePaginationUpdatedParams) => {
1031
- const messagesFilteredLocally = params.returnedPage.filter(({ shadowed }) => shadowed);
1032
1047
  if (
1033
- params.parentSet.messages.length + messagesFilteredLocally.length <
1048
+ params.parentSet.messages.length +
1049
+ (params.returnedPage.length - params.filteredReturnedPage.length) <
1034
1050
  params.returnedPage.length
1035
1051
  ) {
1036
1052
  params.logger?.(