stream-chat 9.26.0 → 9.26.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 +51 -15
- package/dist/cjs/index.browser.js.map +2 -2
- package/dist/cjs/index.node.js +57 -15
- package/dist/cjs/index.node.js.map +2 -2
- package/dist/esm/index.mjs +51 -15
- package/dist/esm/index.mjs.map +2 -2
- package/dist/types/client.d.ts +10 -42
- package/dist/types/messageComposer/attachmentManager.d.ts +4 -2
- package/dist/types/messageComposer/middleware/index.d.ts +1 -0
- package/dist/types/messageDelivery/MessageDeliveryReporter.d.ts +5 -0
- package/dist/types/types.d.ts +41 -4
- package/package.json +5 -3
- package/src/client.ts +5 -10
- package/src/messageComposer/middleware/index.ts +1 -0
- package/src/messageDelivery/MessageDeliveryReporter.ts +55 -13
- package/src/types.ts +41 -5
- package/src/utils.ts +1 -0
package/dist/esm/index.mjs
CHANGED
|
@@ -234,7 +234,8 @@ function isOwnUserBaseProperty(property) {
|
|
|
234
234
|
invisible: true,
|
|
235
235
|
privacy_settings: true,
|
|
236
236
|
roles: true,
|
|
237
|
-
push_preferences: true
|
|
237
|
+
push_preferences: true,
|
|
238
|
+
total_unread_count_by_team: true
|
|
238
239
|
};
|
|
239
240
|
return ownUserBaseProperties[property];
|
|
240
241
|
}
|
|
@@ -7053,6 +7054,7 @@ var MessageComposer = _MessageComposer;
|
|
|
7053
7054
|
var MAX_DELIVERED_MESSAGE_COUNT_IN_PAYLOAD = 100;
|
|
7054
7055
|
var MARK_AS_DELIVERED_BUFFER_TIMEOUT = 1e3;
|
|
7055
7056
|
var MARK_AS_READ_THROTTLE_TIMEOUT2 = 1e3;
|
|
7057
|
+
var RETRY_COUNT_LIMIT_FOR_TIMEOUT_INCREASE = 3;
|
|
7056
7058
|
var isChannel = (item) => item instanceof Channel;
|
|
7057
7059
|
var isThread = (item) => item instanceof Thread;
|
|
7058
7060
|
var MessageDeliveryReporter = class _MessageDeliveryReporter {
|
|
@@ -7061,6 +7063,9 @@ var MessageDeliveryReporter = class _MessageDeliveryReporter {
|
|
|
7061
7063
|
this.nextDeliveryReportCandidates = /* @__PURE__ */ new Map();
|
|
7062
7064
|
this.markDeliveredRequestPromise = null;
|
|
7063
7065
|
this.markDeliveredTimeout = null;
|
|
7066
|
+
this.requestTimeoutMs = MARK_AS_DELIVERED_BUFFER_TIMEOUT;
|
|
7067
|
+
// increased up to RETRY_COUNT_LIMIT_FOR_TIMEOUT_INCREASE
|
|
7068
|
+
this.requestRetryCount = 0;
|
|
7064
7069
|
/**
|
|
7065
7070
|
* Retrieve the reference to the latest message in the state that is nor read neither reported as delivered
|
|
7066
7071
|
* @param collection
|
|
@@ -7101,35 +7106,46 @@ var MessageDeliveryReporter = class _MessageDeliveryReporter {
|
|
|
7101
7106
|
* @param options
|
|
7102
7107
|
*/
|
|
7103
7108
|
this.announceDelivery = (options) => {
|
|
7104
|
-
if (
|
|
7109
|
+
if (!this.canExecuteRequest) return;
|
|
7105
7110
|
const { latest_delivered_messages, sendBuffer } = this.confirmationsFromDeliveryReportCandidates();
|
|
7106
7111
|
if (!latest_delivered_messages.length) return;
|
|
7107
7112
|
const payload = { ...options, latest_delivered_messages };
|
|
7108
|
-
const postFlightReconcile = (
|
|
7113
|
+
const postFlightReconcile = ({
|
|
7114
|
+
preventSchedulingRetry
|
|
7115
|
+
} = {}) => {
|
|
7109
7116
|
this.markDeliveredRequestPromise = null;
|
|
7110
7117
|
for (const [k, v] of this.nextDeliveryReportCandidates.entries()) {
|
|
7111
7118
|
this.deliveryReportCandidates.set(k, v);
|
|
7112
7119
|
}
|
|
7113
7120
|
this.nextDeliveryReportCandidates = /* @__PURE__ */ new Map();
|
|
7121
|
+
if (preventSchedulingRetry) return;
|
|
7114
7122
|
this.announceDeliveryBuffered(options);
|
|
7115
7123
|
};
|
|
7116
|
-
const
|
|
7117
|
-
|
|
7118
|
-
if (!this.deliveryReportCandidates.has(k)) {
|
|
7119
|
-
this.deliveryReportCandidates.set(k, v);
|
|
7120
|
-
}
|
|
7121
|
-
}
|
|
7124
|
+
const handleSuccess = () => {
|
|
7125
|
+
this.resetBackOff();
|
|
7122
7126
|
postFlightReconcile();
|
|
7123
7127
|
};
|
|
7124
|
-
|
|
7128
|
+
const handleError = (error) => {
|
|
7129
|
+
const newDeliveryReportCandidates = new Map(sendBuffer);
|
|
7130
|
+
for (const [k, v] of this.deliveryReportCandidates.entries()) {
|
|
7131
|
+
newDeliveryReportCandidates.set(k, v);
|
|
7132
|
+
}
|
|
7133
|
+
this.deliveryReportCandidates = newDeliveryReportCandidates;
|
|
7134
|
+
if (isAPIError(error) && isErrorRetryable(error) || error.status >= 500) {
|
|
7135
|
+
this.increaseBackOff();
|
|
7136
|
+
postFlightReconcile();
|
|
7137
|
+
} else {
|
|
7138
|
+
postFlightReconcile({ preventSchedulingRetry: true });
|
|
7139
|
+
}
|
|
7140
|
+
};
|
|
7141
|
+
this.markDeliveredRequestPromise = this.client.markChannelsDelivered(payload).then(handleSuccess, handleError);
|
|
7125
7142
|
};
|
|
7126
7143
|
this.announceDeliveryBuffered = (options) => {
|
|
7127
|
-
if (this.hasTimer ||
|
|
7128
|
-
return;
|
|
7144
|
+
if (this.hasTimer || !this.canExecuteRequest) return;
|
|
7129
7145
|
this.markDeliveredTimeout = setTimeout(() => {
|
|
7130
7146
|
this.markDeliveredTimeout = null;
|
|
7131
7147
|
this.announceDelivery(options);
|
|
7132
|
-
},
|
|
7148
|
+
}, this.requestTimeoutMs);
|
|
7133
7149
|
};
|
|
7134
7150
|
/**
|
|
7135
7151
|
* Delegates the mark-read call to the Channel or Thread instance
|
|
@@ -7169,10 +7185,22 @@ var MessageDeliveryReporter = class _MessageDeliveryReporter {
|
|
|
7169
7185
|
get hasDeliveryCandidates() {
|
|
7170
7186
|
return this.deliveryReportCandidates.size > 0;
|
|
7171
7187
|
}
|
|
7188
|
+
get canExecuteRequest() {
|
|
7189
|
+
return !this.markDeliveredRequestInFlight && this.hasDeliveryCandidates;
|
|
7190
|
+
}
|
|
7172
7191
|
static hasPermissionToReportDeliveryFor(collection) {
|
|
7173
7192
|
if (isChannel(collection)) return !!collection.getConfig()?.delivery_events;
|
|
7174
7193
|
if (isThread(collection)) return !!collection.channel.getConfig()?.delivery_events;
|
|
7175
7194
|
}
|
|
7195
|
+
increaseBackOff() {
|
|
7196
|
+
if (this.requestRetryCount >= RETRY_COUNT_LIMIT_FOR_TIMEOUT_INCREASE) return;
|
|
7197
|
+
this.requestRetryCount = this.requestRetryCount + 1;
|
|
7198
|
+
this.requestTimeoutMs = this.requestTimeoutMs * 2;
|
|
7199
|
+
}
|
|
7200
|
+
resetBackOff() {
|
|
7201
|
+
this.requestTimeoutMs = MARK_AS_DELIVERED_BUFFER_TIMEOUT;
|
|
7202
|
+
this.requestRetryCount = 0;
|
|
7203
|
+
}
|
|
7176
7204
|
/**
|
|
7177
7205
|
* Build latest_delivered_messages payload from an arbitrary buffer (deliveryReportCandidates / nextDeliveryReportCandidates)
|
|
7178
7206
|
*/
|
|
@@ -13731,7 +13759,9 @@ var StreamChat = class _StreamChat {
|
|
|
13731
13759
|
}
|
|
13732
13760
|
userMap[userObject.id] = userObject;
|
|
13733
13761
|
}
|
|
13734
|
-
return await this.post(this.baseURL + "/users", {
|
|
13762
|
+
return await this.post(this.baseURL + "/users", {
|
|
13763
|
+
users: userMap
|
|
13764
|
+
});
|
|
13735
13765
|
}
|
|
13736
13766
|
/**
|
|
13737
13767
|
* upsertUser - Update or Create the given user object
|
|
@@ -14490,7 +14520,7 @@ var StreamChat = class _StreamChat {
|
|
|
14490
14520
|
if (this.userAgent) {
|
|
14491
14521
|
return this.userAgent;
|
|
14492
14522
|
}
|
|
14493
|
-
const version = "9.26.
|
|
14523
|
+
const version = "9.26.1";
|
|
14494
14524
|
const clientBundle = "browser-esm";
|
|
14495
14525
|
let userAgentString = "";
|
|
14496
14526
|
if (this.sdkIdentifier) {
|
|
@@ -16841,6 +16871,8 @@ export {
|
|
|
16841
16871
|
AnyResource,
|
|
16842
16872
|
AnyRole,
|
|
16843
16873
|
AttachmentManager,
|
|
16874
|
+
AttachmentPostUploadMiddlewareExecutor,
|
|
16875
|
+
AttachmentPreUploadMiddlewareExecutor,
|
|
16844
16876
|
BasePaginator,
|
|
16845
16877
|
BaseSearchSource,
|
|
16846
16878
|
BaseSearchSourceSync,
|
|
@@ -16931,6 +16963,7 @@ export {
|
|
|
16931
16963
|
chatCodes,
|
|
16932
16964
|
createActiveCommandGuardMiddleware,
|
|
16933
16965
|
createAttachmentsCompositionMiddleware,
|
|
16966
|
+
createBlockedAttachmentUploadNotificationMiddleware,
|
|
16934
16967
|
createCommandInjectionMiddleware,
|
|
16935
16968
|
createCommandStringExtractionMiddleware,
|
|
16936
16969
|
createCommandsMiddleware,
|
|
@@ -16949,9 +16982,12 @@ export {
|
|
|
16949
16982
|
createMentionsMiddleware,
|
|
16950
16983
|
createMessageComposerStateCompositionMiddleware,
|
|
16951
16984
|
createPollComposerStateMiddleware,
|
|
16985
|
+
createPostUploadAttachmentEnrichmentMiddleware,
|
|
16952
16986
|
createSharedLocationCompositionMiddleware,
|
|
16953
16987
|
createTextComposerCompositionMiddleware,
|
|
16954
16988
|
createTextComposerPreValidationMiddleware,
|
|
16989
|
+
createUploadConfigCheckMiddleware,
|
|
16990
|
+
createUploadErrorHandlerMiddleware,
|
|
16955
16991
|
decodeBase64,
|
|
16956
16992
|
defaultPollFieldBlurEventValidators,
|
|
16957
16993
|
defaultPollFieldChangeEventValidators,
|