stream-chat 9.41.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.
@@ -1013,6 +1013,7 @@ var messagePaginationCreatedAtAround = ({
1013
1013
  parentSet,
1014
1014
  requestedPageSize,
1015
1015
  returnedPage,
1016
+ filteredReturnedPage,
1016
1017
  messagePaginationOptions
1017
1018
  }) => {
1018
1019
  const newPagination = { ...parentSet.pagination };
@@ -1045,9 +1046,13 @@ var messagePaginationCreatedAtAround = ({
1045
1046
  hasNext = hasPrev = false;
1046
1047
  updateHasPrev = updateHasNext = true;
1047
1048
  } else {
1049
+ const [firstFilteredPageMsg, lastFilteredPageMsg] = [
1050
+ filteredReturnedPage[0],
1051
+ filteredReturnedPage.slice(-1)[0]
1052
+ ];
1048
1053
  const [firstPageMsgIsFirstInSet, lastPageMsgIsLastInSet] = [
1049
- firstPageMsg?.id && firstPageMsg.id === parentSet.messages[0]?.id,
1050
- lastPageMsg?.id && lastPageMsg.id === parentSet.messages.slice(-1)[0]?.id
1054
+ firstFilteredPageMsg?.id && firstFilteredPageMsg.id === parentSet.messages[0]?.id,
1055
+ lastFilteredPageMsg?.id && lastFilteredPageMsg.id === parentSet.messages.slice(-1)[0]?.id
1051
1056
  ];
1052
1057
  updateHasPrev = firstPageMsgIsFirstInSet;
1053
1058
  updateHasNext = lastPageMsgIsLastInSet;
@@ -1069,6 +1074,7 @@ var messagePaginationIdAround = ({
1069
1074
  parentSet,
1070
1075
  requestedPageSize,
1071
1076
  returnedPage,
1077
+ filteredReturnedPage,
1072
1078
  messagePaginationOptions
1073
1079
  }) => {
1074
1080
  const newPagination = { ...parentSet.pagination };
@@ -1076,10 +1082,13 @@ var messagePaginationIdAround = ({
1076
1082
  if (!id_around) return newPagination;
1077
1083
  let hasPrev;
1078
1084
  let hasNext;
1079
- const [firstPageMsg, lastPageMsg] = [returnedPage[0], returnedPage.slice(-1)[0]];
1085
+ const [firstFilteredPageMsg, lastFilteredPageMsg] = [
1086
+ filteredReturnedPage[0],
1087
+ filteredReturnedPage.slice(-1)[0]
1088
+ ];
1080
1089
  const [firstPageMsgIsFirstInSet, lastPageMsgIsLastInSet] = [
1081
- firstPageMsg?.id === parentSet.messages[0]?.id,
1082
- lastPageMsg?.id === parentSet.messages.slice(-1)[0]?.id
1090
+ firstFilteredPageMsg?.id === parentSet.messages[0]?.id,
1091
+ lastFilteredPageMsg?.id === parentSet.messages.slice(-1)[0]?.id
1083
1092
  ];
1084
1093
  let updateHasPrev = firstPageMsgIsFirstInSet;
1085
1094
  let updateHasNext = lastPageMsgIsLastInSet;
@@ -1114,15 +1123,19 @@ var messagePaginationLinear = ({
1114
1123
  parentSet,
1115
1124
  requestedPageSize,
1116
1125
  returnedPage,
1126
+ filteredReturnedPage,
1117
1127
  messagePaginationOptions
1118
1128
  }) => {
1119
1129
  const newPagination = { ...parentSet.pagination };
1120
1130
  let hasPrev;
1121
1131
  let hasNext;
1122
- const [firstPageMsg, lastPageMsg] = [returnedPage[0], returnedPage.slice(-1)[0]];
1132
+ const [firstFilteredPageMsg, lastFilteredPageMsg] = [
1133
+ filteredReturnedPage[0],
1134
+ filteredReturnedPage.slice(-1)[0]
1135
+ ];
1123
1136
  const [firstPageMsgIsFirstInSet, lastPageMsgIsLastInSet] = [
1124
- firstPageMsg?.id && firstPageMsg.id === parentSet.messages[0]?.id,
1125
- lastPageMsg?.id && lastPageMsg.id === parentSet.messages.slice(-1)[0]?.id
1137
+ firstFilteredPageMsg?.id && firstFilteredPageMsg.id === parentSet.messages[0]?.id,
1138
+ lastFilteredPageMsg?.id && lastFilteredPageMsg.id === parentSet.messages.slice(-1)[0]?.id
1126
1139
  ];
1127
1140
  const queriedNextMessages = messagePaginationOptions && (messagePaginationOptions.created_at_after_or_equal || messagePaginationOptions.created_at_after || messagePaginationOptions.id_gt || messagePaginationOptions.id_gte);
1128
1141
  const queriedPrevMessages = typeof messagePaginationOptions === "undefined" ? true : messagePaginationOptions.created_at_before_or_equal || messagePaginationOptions.created_at_before || messagePaginationOptions.id_lt || messagePaginationOptions.id_lte || messagePaginationOptions.offset;
@@ -1142,8 +1155,7 @@ var messagePaginationLinear = ({
1142
1155
  return newPagination;
1143
1156
  };
1144
1157
  var messageSetPagination = (params) => {
1145
- const messagesFilteredLocally = params.returnedPage.filter(({ shadowed }) => shadowed);
1146
- if (params.parentSet.messages.length + messagesFilteredLocally.length < params.returnedPage.length) {
1158
+ if (params.parentSet.messages.length + (params.returnedPage.length - params.filteredReturnedPage.length) < params.returnedPage.length) {
1147
1159
  params.logger?.(
1148
1160
  "error",
1149
1161
  "Corrupted message set state: parent set size < returned page size"
@@ -1490,9 +1502,11 @@ var ChannelState = class {
1490
1502
  addIfDoesNotExist,
1491
1503
  messageSetToAddToIfDoesNotExist
1492
1504
  );
1505
+ const filteredMessageIds = [];
1493
1506
  for (let i = 0; i < messagesToAdd.length; i += 1) {
1494
1507
  const isFromShadowBannedUser = messagesToAdd[i].shadowed;
1495
- if (isFromShadowBannedUser) {
1508
+ if (isFromShadowBannedUser && addIfDoesNotExist) {
1509
+ filteredMessageIds.push(messagesToAdd[i].id);
1496
1510
  continue;
1497
1511
  }
1498
1512
  const isMessageFormatted = messagesToAdd[i].created_at instanceof Date;
@@ -1534,7 +1548,8 @@ var ChannelState = class {
1534
1548
  }
1535
1549
  }
1536
1550
  return {
1537
- messageSet: this.messageSets[targetMessageSetIndex]
1551
+ messageSet: this.messageSets[targetMessageSetIndex],
1552
+ filteredMessageIds
1538
1553
  };
1539
1554
  }
1540
1555
  /**
@@ -9270,7 +9285,10 @@ var Channel = class {
9270
9285
  location: { enabled: state.channel.config.shared_locations }
9271
9286
  });
9272
9287
  }
9273
- const { messageSet } = this._initializeState(state, messageSetToAddToIfDoesNotExist);
9288
+ const { messageSet, filteredMessageIds } = this._initializeState(
9289
+ state,
9290
+ messageSetToAddToIfDoesNotExist
9291
+ );
9274
9292
  messageSet.pagination = {
9275
9293
  ...messageSet.pagination,
9276
9294
  ...messageSetPagination({
@@ -9278,6 +9296,9 @@ var Channel = class {
9278
9296
  messagePaginationOptions: options?.messages,
9279
9297
  requestedPageSize: options?.messages?.limit ?? DEFAULT_QUERY_CHANNEL_MESSAGE_LIST_PAGE_SIZE,
9280
9298
  returnedPage: state.messages,
9299
+ filteredReturnedPage: state.messages.filter(
9300
+ (m) => !filteredMessageIds.includes(m.id)
9301
+ ),
9281
9302
  logger: this.getClient().logger
9282
9303
  })
9283
9304
  };
@@ -9897,7 +9918,7 @@ var Channel = class {
9897
9918
  if (!this.state.messages) {
9898
9919
  this.state.initMessages();
9899
9920
  }
9900
- const { messageSet } = this.state.addMessagesSorted(
9921
+ const { messageSet, filteredMessageIds } = this.state.addMessagesSorted(
9901
9922
  messages,
9902
9923
  false,
9903
9924
  true,
@@ -9949,7 +9970,8 @@ var Channel = class {
9949
9970
  this.messageReceiptsTracker.ingestInitial(state.read);
9950
9971
  }
9951
9972
  return {
9952
- messageSet
9973
+ messageSet,
9974
+ filteredMessageIds
9953
9975
  };
9954
9976
  }
9955
9977
  _extendEventWithOwnReactions(event) {
@@ -14152,12 +14174,15 @@ var StreamChat = class _StreamChat {
14152
14174
  c.initialized = !offlineMode;
14153
14175
  c.push_preferences = channelState.push_preferences;
14154
14176
  let updatedMessagesSet;
14177
+ let filteredMessageIds = [];
14155
14178
  if (skipInitialization === void 0) {
14156
- const { messageSet } = c._initializeState(channelState, "latest");
14179
+ const { messageSet, filteredMessageIds: _filteredMessageIds } = c._initializeState(channelState, "latest");
14180
+ filteredMessageIds = _filteredMessageIds;
14157
14181
  updatedMessagesSet = messageSet;
14158
14182
  } else if (!skipInitialization.includes(channelState.channel.id)) {
14159
14183
  c.state.clearMessages();
14160
- const { messageSet } = c._initializeState(channelState, "latest");
14184
+ const { messageSet, filteredMessageIds: _filteredMessageIds } = c._initializeState(channelState, "latest");
14185
+ filteredMessageIds = _filteredMessageIds;
14161
14186
  updatedMessagesSet = messageSet;
14162
14187
  }
14163
14188
  if (updatedMessagesSet) {
@@ -14167,6 +14192,9 @@ var StreamChat = class _StreamChat {
14167
14192
  parentSet: updatedMessagesSet,
14168
14193
  requestedPageSize: queryChannelsOptions?.message_limit || DEFAULT_QUERY_CHANNELS_MESSAGE_LIST_PAGE_SIZE,
14169
14194
  returnedPage: channelState.messages,
14195
+ filteredReturnedPage: channelState.messages.filter(
14196
+ (m) => !filteredMessageIds.includes(m.id)
14197
+ ),
14170
14198
  logger: this.logger
14171
14199
  })
14172
14200
  };
@@ -15217,7 +15245,7 @@ var StreamChat = class _StreamChat {
15217
15245
  if (this.userAgent) {
15218
15246
  return this.userAgent;
15219
15247
  }
15220
- const version = "9.41.0";
15248
+ const version = "9.41.1";
15221
15249
  const clientBundle = "node-cjs";
15222
15250
  let userAgentString = "";
15223
15251
  if (this.sdkIdentifier) {