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
package/dist/cjs/index.node.js
CHANGED
|
@@ -556,6 +556,22 @@ function logChatPromiseExecution(promise, name) {
|
|
|
556
556
|
console.warn(`failed to do ${name}, ran into error: `, error);
|
|
557
557
|
});
|
|
558
558
|
}
|
|
559
|
+
var noopLogger = () => null;
|
|
560
|
+
var logError = (logger, error, event) => {
|
|
561
|
+
const message = "Unhandled error in event listener";
|
|
562
|
+
logger("error", message, { error, event });
|
|
563
|
+
if (logger === noopLogger) console.error(message, error, event);
|
|
564
|
+
};
|
|
565
|
+
var invokeEventListener = (listener, event, logger) => {
|
|
566
|
+
try {
|
|
567
|
+
const result = listener(event);
|
|
568
|
+
if (result && typeof result.then === "function") {
|
|
569
|
+
Promise.resolve(result).catch((error) => logError(logger, error, event));
|
|
570
|
+
}
|
|
571
|
+
} catch (error) {
|
|
572
|
+
logError(logger, error, event);
|
|
573
|
+
}
|
|
574
|
+
};
|
|
559
575
|
var sleep = (m) => new Promise((r) => setTimeout(r, m));
|
|
560
576
|
function isFunction(value) {
|
|
561
577
|
return typeof value === "function" || value instanceof Function || Object.prototype.toString.call(value) === "[object Function]";
|
|
@@ -603,7 +619,6 @@ var channelHasReadEvents = (channel) => {
|
|
|
603
619
|
return !(Array.isArray(ownCapabilities) && !ownCapabilities.includes("read-events"));
|
|
604
620
|
};
|
|
605
621
|
var channelTracksReadLocally = (channel) => !channelHasReadEvents(channel) && !!channel?.getClient().options.isLocalUnreadCountEnabled;
|
|
606
|
-
var userHasReadReceipts = (client) => client.user?.privacy_settings?.read_receipts?.enabled ?? true;
|
|
607
622
|
function addFileToFormData(uri, name, contentType) {
|
|
608
623
|
const data = new import_form_data.default();
|
|
609
624
|
if (isReadableStream(uri) || isBuffer(uri) || isFileWebAPI(uri) || isBlobWebAPI(uri)) {
|
|
@@ -9156,7 +9171,6 @@ var MessageDeliveryReporter = class _MessageDeliveryReporter {
|
|
|
9156
9171
|
* @param options
|
|
9157
9172
|
*/
|
|
9158
9173
|
this.markRead = async (collection, options) => {
|
|
9159
|
-
if (!userHasReadReceipts(this.client)) return null;
|
|
9160
9174
|
let result = null;
|
|
9161
9175
|
if (isChannel(collection)) {
|
|
9162
9176
|
result = await collection.markAsReadRequest(options);
|
|
@@ -9166,7 +9180,7 @@ var MessageDeliveryReporter = class _MessageDeliveryReporter {
|
|
|
9166
9180
|
thread_id: collection.id
|
|
9167
9181
|
});
|
|
9168
9182
|
}
|
|
9169
|
-
this.removeCandidateFor(collection);
|
|
9183
|
+
if (result) this.removeCandidateFor(collection);
|
|
9170
9184
|
return result;
|
|
9171
9185
|
};
|
|
9172
9186
|
/**
|
|
@@ -9551,18 +9565,14 @@ var Channel = class {
|
|
|
9551
9565
|
return await this.query(defaultOptions, "latest");
|
|
9552
9566
|
};
|
|
9553
9567
|
this._callChannelListeners = (event) => {
|
|
9554
|
-
const
|
|
9555
|
-
|
|
9556
|
-
|
|
9557
|
-
|
|
9558
|
-
}
|
|
9559
|
-
if (channel.listeners[event.type]) {
|
|
9560
|
-
listeners.push(...channel.listeners[event.type]);
|
|
9561
|
-
}
|
|
9568
|
+
const listeners = [
|
|
9569
|
+
...this.listeners.all ?? [],
|
|
9570
|
+
...this.listeners[event.type] ?? []
|
|
9571
|
+
];
|
|
9572
|
+
const { logger } = this._client;
|
|
9562
9573
|
for (const listener of listeners) {
|
|
9563
|
-
if (typeof listener
|
|
9564
|
-
|
|
9565
|
-
}
|
|
9574
|
+
if (typeof listener === "string") continue;
|
|
9575
|
+
invokeEventListener(listener, event, logger);
|
|
9566
9576
|
}
|
|
9567
9577
|
};
|
|
9568
9578
|
/**
|
|
@@ -10476,14 +10486,15 @@ var Channel = class {
|
|
|
10476
10486
|
return await this.getClient().messageDeliveryReporter.markRead(this, data);
|
|
10477
10487
|
}
|
|
10478
10488
|
/**
|
|
10479
|
-
* markReadRequest - Send the mark read event for this user, only works if the `read_events` setting is
|
|
10489
|
+
* markReadRequest - Send the mark read event for this user, only works if the `read_events` setting is
|
|
10490
|
+
* enabled and the user holds the `read-events` capability on this channel
|
|
10480
10491
|
*
|
|
10481
10492
|
* @param {MarkReadOptions} data
|
|
10482
10493
|
* @return {Promise<EventAPIResponse | null>} Description
|
|
10483
10494
|
*/
|
|
10484
10495
|
async markAsReadRequest(data = {}) {
|
|
10485
10496
|
this._checkInitialized();
|
|
10486
|
-
if (!this.
|
|
10497
|
+
if (!this.getClient()._isUsingServerAuth() && (!this.getConfig()?.read_events || !channelHasReadEvents(this))) {
|
|
10487
10498
|
return null;
|
|
10488
10499
|
}
|
|
10489
10500
|
return await this.getClient().post(this._channelURL() + "/read", {
|
|
@@ -10491,14 +10502,15 @@ var Channel = class {
|
|
|
10491
10502
|
});
|
|
10492
10503
|
}
|
|
10493
10504
|
/**
|
|
10494
|
-
* markUnread - Mark the channel as unread from messageID, only works if the `read_events` setting is
|
|
10505
|
+
* markUnread - Mark the channel as unread from messageID, only works if the `read_events` setting is
|
|
10506
|
+
* enabled and the user holds the `read-events` capability on this channel
|
|
10495
10507
|
*
|
|
10496
10508
|
* @param {MarkUnreadOptions} data
|
|
10497
10509
|
* @return {APIResponse} An API response
|
|
10498
10510
|
*/
|
|
10499
10511
|
async markUnread(data) {
|
|
10500
10512
|
this._checkInitialized();
|
|
10501
|
-
if (!this.
|
|
10513
|
+
if (!this.getClient()._isUsingServerAuth() && (!this.getConfig()?.read_events || !channelHasReadEvents(this))) {
|
|
10502
10514
|
return Promise.resolve(null);
|
|
10503
10515
|
}
|
|
10504
10516
|
return await this.getClient().post(this._channelURL() + "/unread", {
|
|
@@ -14960,16 +14972,12 @@ var StreamChat = class _StreamChat {
|
|
|
14960
14972
|
}
|
|
14961
14973
|
};
|
|
14962
14974
|
this._callClientListeners = (event) => {
|
|
14963
|
-
const
|
|
14964
|
-
|
|
14965
|
-
|
|
14966
|
-
|
|
14967
|
-
}
|
|
14968
|
-
if (client.listeners[event.type]) {
|
|
14969
|
-
listeners.push(...client.listeners[event.type]);
|
|
14970
|
-
}
|
|
14975
|
+
const listeners = [
|
|
14976
|
+
...this.listeners.all ?? [],
|
|
14977
|
+
...this.listeners[event.type] ?? []
|
|
14978
|
+
];
|
|
14971
14979
|
for (const listener of listeners) {
|
|
14972
|
-
listener
|
|
14980
|
+
invokeEventListener(listener, event, this.logger);
|
|
14973
14981
|
}
|
|
14974
14982
|
};
|
|
14975
14983
|
this.recoverState = async () => {
|
|
@@ -15123,7 +15131,7 @@ var StreamChat = class _StreamChat {
|
|
|
15123
15131
|
return this.userAgent;
|
|
15124
15132
|
}
|
|
15125
15133
|
if (!this.cachedUserAgent) {
|
|
15126
|
-
const version = "9.52.
|
|
15134
|
+
const version = "9.52.1";
|
|
15127
15135
|
const { name: sdkName, version: sdkVersion } = this.sdkIdentifier ?? {};
|
|
15128
15136
|
const { name: appName, version: appVersion } = this.appIdentifier ?? {};
|
|
15129
15137
|
const { os, model: deviceModel } = this.deviceIdentifier ?? {};
|
|
@@ -15212,7 +15220,7 @@ var StreamChat = class _StreamChat {
|
|
|
15212
15220
|
this.defaultWSTimeoutWithFallback = 6 * 1e3;
|
|
15213
15221
|
this.defaultWSTimeout = 15 * 1e3;
|
|
15214
15222
|
this.axiosInstance.defaults.paramsSerializer = axiosParamsSerializer;
|
|
15215
|
-
this.logger = isFunction(inputOptions.logger) ? inputOptions.logger :
|
|
15223
|
+
this.logger = isFunction(inputOptions.logger) ? inputOptions.logger : noopLogger;
|
|
15216
15224
|
this.recoverStateOnReconnect = this.options.recoverStateOnReconnect;
|
|
15217
15225
|
this.threads = new ThreadManager({ client: this });
|
|
15218
15226
|
this.polls = new PollManager({ client: this });
|