stream-chat 9.22.1 → 9.24.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.
- package/dist/cjs/index.browser.js +37 -20
- package/dist/cjs/index.browser.js.map +2 -2
- package/dist/cjs/index.node.js +37 -20
- package/dist/cjs/index.node.js.map +2 -2
- package/dist/esm/index.mjs +37 -20
- package/dist/esm/index.mjs.map +2 -2
- package/dist/types/channel_state.d.ts +5 -1
- package/dist/types/constants.d.ts +25 -25
- package/dist/types/messageComposer/middleware/textComposer/commands.d.ts +1 -1
- package/dist/types/messageComposer/middleware/textComposer/mentions.d.ts +4 -2
- package/dist/types/offline-support/types.d.ts +2 -0
- package/dist/types/types.d.ts +18 -1
- package/dist/types/utils.d.ts +13 -13
- package/package.json +1 -1
- package/src/channel_state.ts +12 -3
- package/src/client.ts +4 -1
- package/src/constants.ts +7 -4
- package/src/messageComposer/middleware/textComposer/commands.ts +1 -1
- package/src/messageComposer/middleware/textComposer/mentions.ts +11 -12
- package/src/offline-support/offline_support_api.ts +6 -2
- package/src/offline-support/types.ts +2 -0
- package/src/types.ts +22 -1
|
@@ -339,11 +339,14 @@ var import_form_data = __toESM(require("form-data"));
|
|
|
339
339
|
// src/constants.ts
|
|
340
340
|
var DEFAULT_QUERY_CHANNELS_MESSAGE_LIST_PAGE_SIZE = 25;
|
|
341
341
|
var DEFAULT_QUERY_CHANNEL_MESSAGE_LIST_PAGE_SIZE = 100;
|
|
342
|
-
var DEFAULT_MESSAGE_SET_PAGINATION = {
|
|
342
|
+
var DEFAULT_MESSAGE_SET_PAGINATION = Object.freeze({
|
|
343
|
+
hasNext: false,
|
|
344
|
+
hasPrev: false
|
|
345
|
+
});
|
|
343
346
|
var DEFAULT_UPLOAD_SIZE_LIMIT_BYTES = 100 * 1024 * 1024;
|
|
344
347
|
var API_MAX_FILES_ALLOWED_PER_MESSAGE = 10;
|
|
345
348
|
var MAX_CHANNEL_MEMBER_COUNT_IN_CHANNEL_QUERY = 100;
|
|
346
|
-
var RESERVED_UPDATED_MESSAGE_FIELDS = {
|
|
349
|
+
var RESERVED_UPDATED_MESSAGE_FIELDS = Object.freeze({
|
|
347
350
|
// Dates should not be converted back to ISO strings as JS looses precision on them (milliseconds)
|
|
348
351
|
created_at: true,
|
|
349
352
|
deleted_at: true,
|
|
@@ -364,8 +367,8 @@ var RESERVED_UPDATED_MESSAGE_FIELDS = {
|
|
|
364
367
|
html: true,
|
|
365
368
|
__html: true,
|
|
366
369
|
user: true
|
|
367
|
-
};
|
|
368
|
-
var LOCAL_MESSAGE_FIELDS = { error: true };
|
|
370
|
+
});
|
|
371
|
+
var LOCAL_MESSAGE_FIELDS = Object.freeze({ error: true });
|
|
369
372
|
var DEFAULT_QUERY_CHANNELS_RETRY_COUNT = 3;
|
|
370
373
|
var DEFAULT_QUERY_CHANNELS_MS_BETWEEN_RETRIES = 1e3;
|
|
371
374
|
|
|
@@ -1301,6 +1304,14 @@ var ChannelState = class {
|
|
|
1301
1304
|
get messagePagination() {
|
|
1302
1305
|
return this.messageSets.find((s) => s.isCurrent)?.pagination || DEFAULT_MESSAGE_SET_PAGINATION;
|
|
1303
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
|
+
}
|
|
1304
1315
|
/**
|
|
1305
1316
|
* addMessageSorted - Add a message to the state
|
|
1306
1317
|
*
|
|
@@ -1721,7 +1732,7 @@ var ChannelState = class {
|
|
|
1721
1732
|
messages: [],
|
|
1722
1733
|
isLatest: true,
|
|
1723
1734
|
isCurrent: true,
|
|
1724
|
-
pagination: DEFAULT_MESSAGE_SET_PAGINATION
|
|
1735
|
+
pagination: { ...DEFAULT_MESSAGE_SET_PAGINATION }
|
|
1725
1736
|
}
|
|
1726
1737
|
];
|
|
1727
1738
|
}
|
|
@@ -1855,7 +1866,7 @@ var ChannelState = class {
|
|
|
1855
1866
|
messages: [],
|
|
1856
1867
|
isCurrent: false,
|
|
1857
1868
|
isLatest: false,
|
|
1858
|
-
pagination: DEFAULT_MESSAGE_SET_PAGINATION
|
|
1869
|
+
pagination: { ...DEFAULT_MESSAGE_SET_PAGINATION }
|
|
1859
1870
|
});
|
|
1860
1871
|
targetMessageSetIndex = this.messageSets.length - 1;
|
|
1861
1872
|
} else {
|
|
@@ -1864,7 +1875,7 @@ var ChannelState = class {
|
|
|
1864
1875
|
messages: [],
|
|
1865
1876
|
isCurrent: false,
|
|
1866
1877
|
isLatest,
|
|
1867
|
-
pagination: DEFAULT_MESSAGE_SET_PAGINATION
|
|
1878
|
+
pagination: { ...DEFAULT_MESSAGE_SET_PAGINATION }
|
|
1868
1879
|
// fixme: it is problematic decide about pagination without having data
|
|
1869
1880
|
});
|
|
1870
1881
|
if (isLatest) {
|
|
@@ -5575,6 +5586,13 @@ var MentionsSearchSource = class extends BaseSearchSource {
|
|
|
5575
5586
|
const { mentionAllAppUsers, textComposerText, transliterate, ...restOptions } = options || {};
|
|
5576
5587
|
super(restOptions);
|
|
5577
5588
|
this.type = "mentions";
|
|
5589
|
+
this.toUserSuggestion = (user) => ({
|
|
5590
|
+
...user,
|
|
5591
|
+
...getTokenizedSuggestionDisplayName({
|
|
5592
|
+
displayName: user.name || user.id,
|
|
5593
|
+
searchToken: this.searchQuery
|
|
5594
|
+
})
|
|
5595
|
+
});
|
|
5578
5596
|
this.canExecuteQuery = (newSearchString) => {
|
|
5579
5597
|
const hasNewSearchQuery = typeof newSearchString !== "undefined";
|
|
5580
5598
|
return this.isActive && !this.isLoading && (hasNewSearchQuery || this.hasNext);
|
|
@@ -5714,15 +5732,7 @@ var MentionsSearchSource = class extends BaseSearchSource {
|
|
|
5714
5732
|
users = await this.queryMembers(searchQuery);
|
|
5715
5733
|
}
|
|
5716
5734
|
return {
|
|
5717
|
-
items: users.map(
|
|
5718
|
-
(user) => ({
|
|
5719
|
-
...user,
|
|
5720
|
-
...getTokenizedSuggestionDisplayName({
|
|
5721
|
-
displayName: user.name || user.id,
|
|
5722
|
-
searchToken: this.searchQuery
|
|
5723
|
-
})
|
|
5724
|
-
})
|
|
5725
|
-
)
|
|
5735
|
+
items: users.map(this.toUserSuggestion)
|
|
5726
5736
|
};
|
|
5727
5737
|
}
|
|
5728
5738
|
filterQueryResults(items) {
|
|
@@ -14452,7 +14462,10 @@ var StreamChat = class _StreamChat {
|
|
|
14452
14462
|
if (options.hardDelete) {
|
|
14453
14463
|
await this.offlineDb.hardDeleteMessage({ id: messageID });
|
|
14454
14464
|
} else {
|
|
14455
|
-
await this.offlineDb.softDeleteMessage({
|
|
14465
|
+
await this.offlineDb.softDeleteMessage({
|
|
14466
|
+
id: messageID,
|
|
14467
|
+
deleteForMe: options.deleteForMe
|
|
14468
|
+
});
|
|
14456
14469
|
}
|
|
14457
14470
|
return await this.offlineDb.queueTask(
|
|
14458
14471
|
{
|
|
@@ -14626,7 +14639,7 @@ var StreamChat = class _StreamChat {
|
|
|
14626
14639
|
if (this.userAgent) {
|
|
14627
14640
|
return this.userAgent;
|
|
14628
14641
|
}
|
|
14629
|
-
const version = "9.
|
|
14642
|
+
const version = "9.24.0";
|
|
14630
14643
|
const clientBundle = "browser-cjs";
|
|
14631
14644
|
let userAgentString = "";
|
|
14632
14645
|
if (this.sdkIdentifier) {
|
|
@@ -16276,12 +16289,16 @@ var AbstractOfflineDB = class {
|
|
|
16276
16289
|
event,
|
|
16277
16290
|
execute = true
|
|
16278
16291
|
}) => {
|
|
16279
|
-
const { message, hard_delete = false } = event;
|
|
16292
|
+
const { message, deleted_for_me, hard_delete = false } = event;
|
|
16280
16293
|
if (message) {
|
|
16281
16294
|
const deleteMethod = hard_delete ? this.hardDeleteMessage : this.softDeleteMessage;
|
|
16282
16295
|
return await this.queriesWithChannelGuard(
|
|
16283
16296
|
{ event, execute },
|
|
16284
|
-
async (executeOverride) => await deleteMethod({
|
|
16297
|
+
async (executeOverride) => await deleteMethod({
|
|
16298
|
+
id: message.id,
|
|
16299
|
+
deleteForMe: deleted_for_me,
|
|
16300
|
+
execute: executeOverride
|
|
16301
|
+
})
|
|
16285
16302
|
);
|
|
16286
16303
|
}
|
|
16287
16304
|
return [];
|