stream-chat 9.52.0 → 9.52.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/dist/cjs/index.browser.js +37 -29
- package/dist/cjs/index.browser.js.map +2 -2
- package/dist/cjs/index.node.js +37 -29
- package/dist/cjs/index.node.js.map +2 -2
- package/dist/esm/index.mjs +37 -29
- package/dist/esm/index.mjs.map +2 -2
- package/dist/types/channel.d.ts +4 -2
- package/dist/types/utils.d.ts +9 -5
- package/package.json +1 -1
- package/src/channel.ts +26 -18
- package/src/client.ts +10 -13
- package/src/messageDelivery/MessageDeliveryReporter.ts +5 -4
- package/src/utils.ts +30 -7
|
@@ -587,6 +587,22 @@ function logChatPromiseExecution(promise, name) {
|
|
|
587
587
|
console.warn(`failed to do ${name}, ran into error: `, error);
|
|
588
588
|
});
|
|
589
589
|
}
|
|
590
|
+
var noopLogger = () => null;
|
|
591
|
+
var logError = (logger, error, event) => {
|
|
592
|
+
const message = "Unhandled error in event listener";
|
|
593
|
+
logger("error", message, { error, event });
|
|
594
|
+
if (logger === noopLogger) console.error(message, error, event);
|
|
595
|
+
};
|
|
596
|
+
var invokeEventListener = (listener, event, logger) => {
|
|
597
|
+
try {
|
|
598
|
+
const result = listener(event);
|
|
599
|
+
if (result && typeof result.then === "function") {
|
|
600
|
+
Promise.resolve(result).catch((error) => logError(logger, error, event));
|
|
601
|
+
}
|
|
602
|
+
} catch (error) {
|
|
603
|
+
logError(logger, error, event);
|
|
604
|
+
}
|
|
605
|
+
};
|
|
590
606
|
var sleep = (m) => new Promise((r) => setTimeout(r, m));
|
|
591
607
|
function isFunction(value) {
|
|
592
608
|
return typeof value === "function" || value instanceof Function || Object.prototype.toString.call(value) === "[object Function]";
|
|
@@ -634,7 +650,6 @@ var channelHasReadEvents = (channel) => {
|
|
|
634
650
|
return !(Array.isArray(ownCapabilities) && !ownCapabilities.includes("read-events"));
|
|
635
651
|
};
|
|
636
652
|
var channelTracksReadLocally = (channel) => !channelHasReadEvents(channel) && !!channel?.getClient().options.isLocalUnreadCountEnabled;
|
|
637
|
-
var userHasReadReceipts = (client) => client.user?.privacy_settings?.read_receipts?.enabled ?? true;
|
|
638
653
|
function addFileToFormData(uri, name, contentType) {
|
|
639
654
|
const data = new import_form_data.default();
|
|
640
655
|
if (isReadableStream(uri) || isBuffer(uri) || isFileWebAPI(uri) || isBlobWebAPI(uri)) {
|
|
@@ -9187,7 +9202,6 @@ var MessageDeliveryReporter = class _MessageDeliveryReporter {
|
|
|
9187
9202
|
* @param options
|
|
9188
9203
|
*/
|
|
9189
9204
|
this.markRead = async (collection, options) => {
|
|
9190
|
-
if (!userHasReadReceipts(this.client)) return null;
|
|
9191
9205
|
let result = null;
|
|
9192
9206
|
if (isChannel(collection)) {
|
|
9193
9207
|
result = await collection.markAsReadRequest(options);
|
|
@@ -9197,7 +9211,7 @@ var MessageDeliveryReporter = class _MessageDeliveryReporter {
|
|
|
9197
9211
|
thread_id: collection.id
|
|
9198
9212
|
});
|
|
9199
9213
|
}
|
|
9200
|
-
this.removeCandidateFor(collection);
|
|
9214
|
+
if (result) this.removeCandidateFor(collection);
|
|
9201
9215
|
return result;
|
|
9202
9216
|
};
|
|
9203
9217
|
/**
|
|
@@ -9582,18 +9596,14 @@ var Channel = class {
|
|
|
9582
9596
|
return await this.query(defaultOptions, "latest");
|
|
9583
9597
|
};
|
|
9584
9598
|
this._callChannelListeners = (event) => {
|
|
9585
|
-
const
|
|
9586
|
-
|
|
9587
|
-
|
|
9588
|
-
|
|
9589
|
-
}
|
|
9590
|
-
if (channel.listeners[event.type]) {
|
|
9591
|
-
listeners.push(...channel.listeners[event.type]);
|
|
9592
|
-
}
|
|
9599
|
+
const listeners = [
|
|
9600
|
+
...this.listeners.all ?? [],
|
|
9601
|
+
...this.listeners[event.type] ?? []
|
|
9602
|
+
];
|
|
9603
|
+
const { logger } = this._client;
|
|
9593
9604
|
for (const listener of listeners) {
|
|
9594
|
-
if (typeof listener
|
|
9595
|
-
|
|
9596
|
-
}
|
|
9605
|
+
if (typeof listener === "string") continue;
|
|
9606
|
+
invokeEventListener(listener, event, logger);
|
|
9597
9607
|
}
|
|
9598
9608
|
};
|
|
9599
9609
|
/**
|
|
@@ -10507,14 +10517,15 @@ var Channel = class {
|
|
|
10507
10517
|
return await this.getClient().messageDeliveryReporter.markRead(this, data);
|
|
10508
10518
|
}
|
|
10509
10519
|
/**
|
|
10510
|
-
* markReadRequest - Send the mark read event for this user, only works if the `read_events` setting is
|
|
10520
|
+
* markReadRequest - Send the mark read event for this user, only works if the `read_events` setting is
|
|
10521
|
+
* enabled and the user holds the `read-events` capability on this channel
|
|
10511
10522
|
*
|
|
10512
10523
|
* @param {MarkReadOptions} data
|
|
10513
10524
|
* @return {Promise<EventAPIResponse | null>} Description
|
|
10514
10525
|
*/
|
|
10515
10526
|
async markAsReadRequest(data = {}) {
|
|
10516
10527
|
this._checkInitialized();
|
|
10517
|
-
if (!this.
|
|
10528
|
+
if (!this.getClient()._isUsingServerAuth() && (!this.getConfig()?.read_events || !channelHasReadEvents(this))) {
|
|
10518
10529
|
return null;
|
|
10519
10530
|
}
|
|
10520
10531
|
return await this.getClient().post(this._channelURL() + "/read", {
|
|
@@ -10522,14 +10533,15 @@ var Channel = class {
|
|
|
10522
10533
|
});
|
|
10523
10534
|
}
|
|
10524
10535
|
/**
|
|
10525
|
-
* markUnread - Mark the channel as unread from messageID, only works if the `read_events` setting is
|
|
10536
|
+
* markUnread - Mark the channel as unread from messageID, only works if the `read_events` setting is
|
|
10537
|
+
* enabled and the user holds the `read-events` capability on this channel
|
|
10526
10538
|
*
|
|
10527
10539
|
* @param {MarkUnreadOptions} data
|
|
10528
10540
|
* @return {APIResponse} An API response
|
|
10529
10541
|
*/
|
|
10530
10542
|
async markUnread(data) {
|
|
10531
10543
|
this._checkInitialized();
|
|
10532
|
-
if (!this.
|
|
10544
|
+
if (!this.getClient()._isUsingServerAuth() && (!this.getConfig()?.read_events || !channelHasReadEvents(this))) {
|
|
10533
10545
|
return Promise.resolve(null);
|
|
10534
10546
|
}
|
|
10535
10547
|
return await this.getClient().post(this._channelURL() + "/unread", {
|
|
@@ -14991,16 +15003,12 @@ var StreamChat = class _StreamChat {
|
|
|
14991
15003
|
}
|
|
14992
15004
|
};
|
|
14993
15005
|
this._callClientListeners = (event) => {
|
|
14994
|
-
const
|
|
14995
|
-
|
|
14996
|
-
|
|
14997
|
-
|
|
14998
|
-
}
|
|
14999
|
-
if (client.listeners[event.type]) {
|
|
15000
|
-
listeners.push(...client.listeners[event.type]);
|
|
15001
|
-
}
|
|
15006
|
+
const listeners = [
|
|
15007
|
+
...this.listeners.all ?? [],
|
|
15008
|
+
...this.listeners[event.type] ?? []
|
|
15009
|
+
];
|
|
15002
15010
|
for (const listener of listeners) {
|
|
15003
|
-
listener
|
|
15011
|
+
invokeEventListener(listener, event, this.logger);
|
|
15004
15012
|
}
|
|
15005
15013
|
};
|
|
15006
15014
|
this.recoverState = async () => {
|
|
@@ -15154,7 +15162,7 @@ var StreamChat = class _StreamChat {
|
|
|
15154
15162
|
return this.userAgent;
|
|
15155
15163
|
}
|
|
15156
15164
|
if (!this.cachedUserAgent) {
|
|
15157
|
-
const version = "9.52.
|
|
15165
|
+
const version = "9.52.1";
|
|
15158
15166
|
const { name: sdkName, version: sdkVersion } = this.sdkIdentifier ?? {};
|
|
15159
15167
|
const { name: appName, version: appVersion } = this.appIdentifier ?? {};
|
|
15160
15168
|
const { os, model: deviceModel } = this.deviceIdentifier ?? {};
|
|
@@ -15243,7 +15251,7 @@ var StreamChat = class _StreamChat {
|
|
|
15243
15251
|
this.defaultWSTimeoutWithFallback = 6 * 1e3;
|
|
15244
15252
|
this.defaultWSTimeout = 15 * 1e3;
|
|
15245
15253
|
this.axiosInstance.defaults.paramsSerializer = axiosParamsSerializer;
|
|
15246
|
-
this.logger = isFunction(inputOptions.logger) ? inputOptions.logger :
|
|
15254
|
+
this.logger = isFunction(inputOptions.logger) ? inputOptions.logger : noopLogger;
|
|
15247
15255
|
this.recoverStateOnReconnect = this.options.recoverStateOnReconnect;
|
|
15248
15256
|
this.threads = new ThreadManager({ client: this });
|
|
15249
15257
|
this.polls = new PollManager({ client: this });
|