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.
- package/dist/cjs/index.browser.js +44 -21
- 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 +47 -24
- package/dist/esm/index.mjs.map +3 -3
- 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/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
|
@@ -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 = {
|
|
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(
|
|
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({
|
|
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.
|
|
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({
|
|
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 [];
|