stream-chat 9.22.0 → 9.23.0

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.
@@ -36,6 +36,12 @@ var require_https = __commonJS({
36
36
  }
37
37
  });
38
38
 
39
+ // (disabled):node_modules/jsonwebtoken/index.js
40
+ var require_jsonwebtoken = __commonJS({
41
+ "(disabled):node_modules/jsonwebtoken/index.js"() {
42
+ }
43
+ });
44
+
39
45
  // (disabled):crypto
40
46
  var require_crypto = __commonJS({
41
47
  "(disabled):crypto"() {
@@ -333,11 +339,14 @@ var import_form_data = __toESM(require("form-data"));
333
339
  // src/constants.ts
334
340
  var DEFAULT_QUERY_CHANNELS_MESSAGE_LIST_PAGE_SIZE = 25;
335
341
  var DEFAULT_QUERY_CHANNEL_MESSAGE_LIST_PAGE_SIZE = 100;
336
- var DEFAULT_MESSAGE_SET_PAGINATION = { hasNext: false, hasPrev: false };
342
+ var DEFAULT_MESSAGE_SET_PAGINATION = Object.freeze({
343
+ hasNext: false,
344
+ hasPrev: false
345
+ });
337
346
  var DEFAULT_UPLOAD_SIZE_LIMIT_BYTES = 100 * 1024 * 1024;
338
347
  var API_MAX_FILES_ALLOWED_PER_MESSAGE = 10;
339
348
  var MAX_CHANNEL_MEMBER_COUNT_IN_CHANNEL_QUERY = 100;
340
- var RESERVED_UPDATED_MESSAGE_FIELDS = {
349
+ var RESERVED_UPDATED_MESSAGE_FIELDS = Object.freeze({
341
350
  // Dates should not be converted back to ISO strings as JS looses precision on them (milliseconds)
342
351
  created_at: true,
343
352
  deleted_at: true,
@@ -358,8 +367,8 @@ var RESERVED_UPDATED_MESSAGE_FIELDS = {
358
367
  html: true,
359
368
  __html: true,
360
369
  user: true
361
- };
362
- var LOCAL_MESSAGE_FIELDS = { error: true };
370
+ });
371
+ var LOCAL_MESSAGE_FIELDS = Object.freeze({ error: true });
363
372
  var DEFAULT_QUERY_CHANNELS_RETRY_COUNT = 3;
364
373
  var DEFAULT_QUERY_CHANNELS_MS_BETWEEN_RETRIES = 1e3;
365
374
 
@@ -1295,6 +1304,14 @@ var ChannelState = class {
1295
1304
  get messagePagination() {
1296
1305
  return this.messageSets.find((s) => s.isCurrent)?.pagination || DEFAULT_MESSAGE_SET_PAGINATION;
1297
1306
  }
1307
+ pruneOldest(maxMessages) {
1308
+ const currentIndex = this.messageSets.findIndex((s) => s.isCurrent);
1309
+ if (this.messageSets[currentIndex].isLatest) {
1310
+ const newMessages = this.messageSets[currentIndex].messages;
1311
+ this.messageSets[currentIndex].messages = newMessages.slice(-maxMessages);
1312
+ this.messageSets[currentIndex].pagination.hasPrev = true;
1313
+ }
1314
+ }
1298
1315
  /**
1299
1316
  * addMessageSorted - Add a message to the state
1300
1317
  *
@@ -1715,7 +1732,7 @@ var ChannelState = class {
1715
1732
  messages: [],
1716
1733
  isLatest: true,
1717
1734
  isCurrent: true,
1718
- pagination: DEFAULT_MESSAGE_SET_PAGINATION
1735
+ pagination: { ...DEFAULT_MESSAGE_SET_PAGINATION }
1719
1736
  }
1720
1737
  ];
1721
1738
  }
@@ -1849,7 +1866,7 @@ var ChannelState = class {
1849
1866
  messages: [],
1850
1867
  isCurrent: false,
1851
1868
  isLatest: false,
1852
- pagination: DEFAULT_MESSAGE_SET_PAGINATION
1869
+ pagination: { ...DEFAULT_MESSAGE_SET_PAGINATION }
1853
1870
  });
1854
1871
  targetMessageSetIndex = this.messageSets.length - 1;
1855
1872
  } else {
@@ -1858,7 +1875,7 @@ var ChannelState = class {
1858
1875
  messages: [],
1859
1876
  isCurrent: false,
1860
1877
  isLatest,
1861
- pagination: DEFAULT_MESSAGE_SET_PAGINATION
1878
+ pagination: { ...DEFAULT_MESSAGE_SET_PAGINATION }
1862
1879
  // fixme: it is problematic decide about pagination without having data
1863
1880
  });
1864
1881
  if (isLatest) {
@@ -5569,6 +5586,13 @@ var MentionsSearchSource = class extends BaseSearchSource {
5569
5586
  const { mentionAllAppUsers, textComposerText, transliterate, ...restOptions } = options || {};
5570
5587
  super(restOptions);
5571
5588
  this.type = "mentions";
5589
+ this.toUserSuggestion = (user) => ({
5590
+ ...user,
5591
+ ...getTokenizedSuggestionDisplayName({
5592
+ displayName: user.name || user.id,
5593
+ searchToken: this.searchQuery
5594
+ })
5595
+ });
5572
5596
  this.canExecuteQuery = (newSearchString) => {
5573
5597
  const hasNewSearchQuery = typeof newSearchString !== "undefined";
5574
5598
  return this.isActive && !this.isLoading && (hasNewSearchQuery || this.hasNext);
@@ -5708,15 +5732,7 @@ var MentionsSearchSource = class extends BaseSearchSource {
5708
5732
  users = await this.queryMembers(searchQuery);
5709
5733
  }
5710
5734
  return {
5711
- items: users.map(
5712
- (user) => ({
5713
- ...user,
5714
- ...getTokenizedSuggestionDisplayName({
5715
- displayName: user.name || user.id,
5716
- searchToken: this.searchQuery
5717
- })
5718
- })
5719
- )
5735
+ items: users.map(this.toUserSuggestion)
5720
5736
  };
5721
5737
  }
5722
5738
  filterQueryResults(items) {
@@ -10047,7 +10063,7 @@ var StableWSConnection = class {
10047
10063
  };
10048
10064
 
10049
10065
  // src/signing.ts
10050
- var import_jsonwebtoken = __toESM(require("jsonwebtoken"));
10066
+ var import_jsonwebtoken = __toESM(require_jsonwebtoken());
10051
10067
  var import_crypto = __toESM(require_crypto());
10052
10068
  function JWTUserToken(apiSecret, userId, extraData = {}, jwtOptions = {}) {
10053
10069
  if (typeof userId !== "string") {
@@ -14446,7 +14462,10 @@ var StreamChat = class _StreamChat {
14446
14462
  if (options.hardDelete) {
14447
14463
  await this.offlineDb.hardDeleteMessage({ id: messageID });
14448
14464
  } else {
14449
- await this.offlineDb.softDeleteMessage({ id: messageID });
14465
+ await this.offlineDb.softDeleteMessage({
14466
+ id: messageID,
14467
+ deleteForMe: options.deleteForMe
14468
+ });
14450
14469
  }
14451
14470
  return await this.offlineDb.queueTask(
14452
14471
  {
@@ -14620,7 +14639,7 @@ var StreamChat = class _StreamChat {
14620
14639
  if (this.userAgent) {
14621
14640
  return this.userAgent;
14622
14641
  }
14623
- const version = "9.22.0";
14642
+ const version = "9.23.0";
14624
14643
  const clientBundle = "browser-cjs";
14625
14644
  let userAgentString = "";
14626
14645
  if (this.sdkIdentifier) {
@@ -16270,12 +16289,16 @@ var AbstractOfflineDB = class {
16270
16289
  event,
16271
16290
  execute = true
16272
16291
  }) => {
16273
- const { message, hard_delete = false } = event;
16292
+ const { message, deleted_for_me, hard_delete = false } = event;
16274
16293
  if (message) {
16275
16294
  const deleteMethod = hard_delete ? this.hardDeleteMessage : this.softDeleteMessage;
16276
16295
  return await this.queriesWithChannelGuard(
16277
16296
  { event, execute },
16278
- async (executeOverride) => await deleteMethod({ id: message.id, execute: executeOverride })
16297
+ async (executeOverride) => await deleteMethod({
16298
+ id: message.id,
16299
+ deleteForMe: deleted_for_me,
16300
+ execute: executeOverride
16301
+ })
16279
16302
  );
16280
16303
  }
16281
16304
  return [];